diff --git a/pkg/configpb/configpb.pb.gw.go b/pkg/configpb/configpb.pb.gw.go index c0385b0e4..9b4675b32 100644 --- a/pkg/configpb/configpb.pb.gw.go +++ b/pkg/configpb/configpb.pb.gw.go @@ -20,6 +20,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" "google.golang.org/grpc/status" ) @@ -30,6 +31,7 @@ var _ status.Status var _ = runtime.String var _ = utilities.NewDoubleArray var _ = descriptor.ForMessage +var _ = metadata.Join var ( filter_Config_Get_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} @@ -55,7 +57,10 @@ func local_request_Config_Get_0(ctx context.Context, marshaler runtime.Marshaler var protoReq GetRequest var metadata runtime.ServerMetadata - if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_Config_Get_0); err != nil { + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Config_Get_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -122,7 +127,10 @@ func local_request_Config_Delete_0(ctx context.Context, marshaler runtime.Marsha var protoReq DeleteRequest var metadata runtime.ServerMetadata - if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_Config_Delete_0); err != nil { + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Config_Delete_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -134,11 +142,14 @@ func local_request_Config_Delete_0(ctx context.Context, marshaler runtime.Marsha // RegisterConfigHandlerServer registers the http handlers for service Config to "mux". // UnaryRPC :call ConfigServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterConfigHandlerFromEndpoint instead. func RegisterConfigHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ConfigServer) error { mux.Handle("GET", pattern_Config_Get_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { @@ -146,6 +157,7 @@ func RegisterConfigHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } resp, md, err := local_request_Config_Get_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) @@ -159,6 +171,8 @@ func RegisterConfigHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser mux.Handle("POST", pattern_Config_Update_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { @@ -166,6 +180,7 @@ func RegisterConfigHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } resp, md, err := local_request_Config_Update_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) @@ -179,6 +194,8 @@ func RegisterConfigHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser mux.Handle("DELETE", pattern_Config_Delete_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) if err != nil { @@ -186,6 +203,7 @@ func RegisterConfigHandlerServer(ctx context.Context, mux *runtime.ServeMux, ser return } resp, md, err := local_request_Config_Delete_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) diff --git a/pkg/pdpb/pdpb.pb.go b/pkg/pdpb/pdpb.pb.go index a8b76b5af..82196bf8c 100644 --- a/pkg/pdpb/pdpb.pb.go +++ b/pkg/pdpb/pdpb.pb.go @@ -2040,6 +2040,225 @@ func (m *GetRegionByIDRequest) GetNeedBuckets() bool { return false } +type QueryRegionRequest struct { + Header *RequestHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` + // Whether to include the buckets info within the response. + NeedBuckets bool `protobuf:"varint,2,opt,name=need_buckets,json=needBuckets,proto3" json:"need_buckets,omitempty"` + // The region keys to query. + RegionKeys [][]byte `protobuf:"bytes,3,rep,name=region_keys,json=regionKeys,proto3" json:"region_keys,omitempty"` + // The region IDs to query. + RegionIds []uint64 `protobuf:"varint,4,rep,packed,name=region_ids,json=regionIds,proto3" json:"region_ids,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryRegionRequest) Reset() { *m = QueryRegionRequest{} } +func (m *QueryRegionRequest) String() string { return proto.CompactTextString(m) } +func (*QueryRegionRequest) ProtoMessage() {} +func (*QueryRegionRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_78b27e6f04f44c6e, []int{30} +} +func (m *QueryRegionRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryRegionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryRegionRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryRegionRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryRegionRequest.Merge(m, src) +} +func (m *QueryRegionRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryRegionRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryRegionRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryRegionRequest proto.InternalMessageInfo + +func (m *QueryRegionRequest) GetHeader() *RequestHeader { + if m != nil { + return m.Header + } + return nil +} + +func (m *QueryRegionRequest) GetNeedBuckets() bool { + if m != nil { + return m.NeedBuckets + } + return false +} + +func (m *QueryRegionRequest) GetRegionKeys() [][]byte { + if m != nil { + return m.RegionKeys + } + return nil +} + +func (m *QueryRegionRequest) GetRegionIds() []uint64 { + if m != nil { + return m.RegionIds + } + return nil +} + +type QueryRegionResponse struct { + Header *ResponseHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` + // This array functions as a map corresponding to the region IDs, + // preserving the order of the input region keys, if they are present. + KeyIdMap []uint64 `protobuf:"varint,2,rep,packed,name=key_id_map,json=keyIdMap,proto3" json:"key_id_map,omitempty"` + // RegionID -> RegionResponse + RegionsById map[uint64]*RegionResponse `protobuf:"bytes,3,rep,name=regions_by_id,json=regionsById,proto3" json:"regions_by_id,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryRegionResponse) Reset() { *m = QueryRegionResponse{} } +func (m *QueryRegionResponse) String() string { return proto.CompactTextString(m) } +func (*QueryRegionResponse) ProtoMessage() {} +func (*QueryRegionResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_78b27e6f04f44c6e, []int{31} +} +func (m *QueryRegionResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryRegionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryRegionResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryRegionResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryRegionResponse.Merge(m, src) +} +func (m *QueryRegionResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryRegionResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryRegionResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryRegionResponse proto.InternalMessageInfo + +func (m *QueryRegionResponse) GetHeader() *ResponseHeader { + if m != nil { + return m.Header + } + return nil +} + +func (m *QueryRegionResponse) GetKeyIdMap() []uint64 { + if m != nil { + return m.KeyIdMap + } + return nil +} + +func (m *QueryRegionResponse) GetRegionsById() map[uint64]*RegionResponse { + if m != nil { + return m.RegionsById + } + return nil +} + +type RegionResponse struct { + Region *metapb.Region `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"` + Leader *metapb.Peer `protobuf:"bytes,2,opt,name=leader,proto3" json:"leader,omitempty"` + DownPeers []*PeerStats `protobuf:"bytes,3,rep,name=down_peers,json=downPeers,proto3" json:"down_peers,omitempty"` + PendingPeers []*metapb.Peer `protobuf:"bytes,4,rep,name=pending_peers,json=pendingPeers,proto3" json:"pending_peers,omitempty"` + Buckets *metapb.Buckets `protobuf:"bytes,5,opt,name=buckets,proto3" json:"buckets,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RegionResponse) Reset() { *m = RegionResponse{} } +func (m *RegionResponse) String() string { return proto.CompactTextString(m) } +func (*RegionResponse) ProtoMessage() {} +func (*RegionResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_78b27e6f04f44c6e, []int{32} +} +func (m *RegionResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RegionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RegionResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RegionResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_RegionResponse.Merge(m, src) +} +func (m *RegionResponse) XXX_Size() int { + return m.Size() +} +func (m *RegionResponse) XXX_DiscardUnknown() { + xxx_messageInfo_RegionResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_RegionResponse proto.InternalMessageInfo + +func (m *RegionResponse) GetRegion() *metapb.Region { + if m != nil { + return m.Region + } + return nil +} + +func (m *RegionResponse) GetLeader() *metapb.Peer { + if m != nil { + return m.Leader + } + return nil +} + +func (m *RegionResponse) GetDownPeers() []*PeerStats { + if m != nil { + return m.DownPeers + } + return nil +} + +func (m *RegionResponse) GetPendingPeers() []*metapb.Peer { + if m != nil { + return m.PendingPeers + } + return nil +} + +func (m *RegionResponse) GetBuckets() *metapb.Buckets { + if m != nil { + return m.Buckets + } + return nil +} + // Use GetRegionResponse as the response of GetRegionByIDRequest. // Deprecated: use BatchScanRegionsRequest instead. type ScanRegionsRequest struct { @@ -2056,7 +2275,7 @@ func (m *ScanRegionsRequest) Reset() { *m = ScanRegionsRequest{} } func (m *ScanRegionsRequest) String() string { return proto.CompactTextString(m) } func (*ScanRegionsRequest) ProtoMessage() {} func (*ScanRegionsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{30} + return fileDescriptor_78b27e6f04f44c6e, []int{33} } func (m *ScanRegionsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2132,7 +2351,7 @@ func (m *Region) Reset() { *m = Region{} } func (m *Region) String() string { return proto.CompactTextString(m) } func (*Region) ProtoMessage() {} func (*Region) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{31} + return fileDescriptor_78b27e6f04f44c6e, []int{34} } func (m *Region) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2212,7 +2431,7 @@ func (m *ScanRegionsResponse) Reset() { *m = ScanRegionsResponse{} } func (m *ScanRegionsResponse) String() string { return proto.CompactTextString(m) } func (*ScanRegionsResponse) ProtoMessage() {} func (*ScanRegionsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{32} + return fileDescriptor_78b27e6f04f44c6e, []int{35} } func (m *ScanRegionsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2281,7 +2500,7 @@ func (m *KeyRange) Reset() { *m = KeyRange{} } func (m *KeyRange) String() string { return proto.CompactTextString(m) } func (*KeyRange) ProtoMessage() {} func (*KeyRange) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{33} + return fileDescriptor_78b27e6f04f44c6e, []int{36} } func (m *KeyRange) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2343,7 +2562,7 @@ func (m *BatchScanRegionsRequest) Reset() { *m = BatchScanRegionsRequest func (m *BatchScanRegionsRequest) String() string { return proto.CompactTextString(m) } func (*BatchScanRegionsRequest) ProtoMessage() {} func (*BatchScanRegionsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{34} + return fileDescriptor_78b27e6f04f44c6e, []int{37} } func (m *BatchScanRegionsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2420,7 +2639,7 @@ func (m *BatchScanRegionsResponse) Reset() { *m = BatchScanRegionsRespon func (m *BatchScanRegionsResponse) String() string { return proto.CompactTextString(m) } func (*BatchScanRegionsResponse) ProtoMessage() {} func (*BatchScanRegionsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{35} + return fileDescriptor_78b27e6f04f44c6e, []int{38} } func (m *BatchScanRegionsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2474,7 +2693,7 @@ func (m *GetClusterConfigRequest) Reset() { *m = GetClusterConfigRequest func (m *GetClusterConfigRequest) String() string { return proto.CompactTextString(m) } func (*GetClusterConfigRequest) ProtoMessage() {} func (*GetClusterConfigRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{36} + return fileDescriptor_78b27e6f04f44c6e, []int{39} } func (m *GetClusterConfigRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2522,7 +2741,7 @@ func (m *GetClusterConfigResponse) Reset() { *m = GetClusterConfigRespon func (m *GetClusterConfigResponse) String() string { return proto.CompactTextString(m) } func (*GetClusterConfigResponse) ProtoMessage() {} func (*GetClusterConfigResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{37} + return fileDescriptor_78b27e6f04f44c6e, []int{40} } func (m *GetClusterConfigResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2577,7 +2796,7 @@ func (m *PutClusterConfigRequest) Reset() { *m = PutClusterConfigRequest func (m *PutClusterConfigRequest) String() string { return proto.CompactTextString(m) } func (*PutClusterConfigRequest) ProtoMessage() {} func (*PutClusterConfigRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{38} + return fileDescriptor_78b27e6f04f44c6e, []int{41} } func (m *PutClusterConfigRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2631,7 +2850,7 @@ func (m *PutClusterConfigResponse) Reset() { *m = PutClusterConfigRespon func (m *PutClusterConfigResponse) String() string { return proto.CompactTextString(m) } func (*PutClusterConfigResponse) ProtoMessage() {} func (*PutClusterConfigResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{39} + return fileDescriptor_78b27e6f04f44c6e, []int{42} } func (m *PutClusterConfigResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2688,7 +2907,7 @@ func (m *Member) Reset() { *m = Member{} } func (m *Member) String() string { return proto.CompactTextString(m) } func (*Member) ProtoMessage() {} func (*Member) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{40} + return fileDescriptor_78b27e6f04f44c6e, []int{43} } func (m *Member) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2791,7 +3010,7 @@ func (m *GetMembersRequest) Reset() { *m = GetMembersRequest{} } func (m *GetMembersRequest) String() string { return proto.CompactTextString(m) } func (*GetMembersRequest) ProtoMessage() {} func (*GetMembersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{41} + return fileDescriptor_78b27e6f04f44c6e, []int{44} } func (m *GetMembersRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2842,7 +3061,7 @@ func (m *GetMembersResponse) Reset() { *m = GetMembersResponse{} } func (m *GetMembersResponse) String() string { return proto.CompactTextString(m) } func (*GetMembersResponse) ProtoMessage() {} func (*GetMembersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{42} + return fileDescriptor_78b27e6f04f44c6e, []int{45} } func (m *GetMembersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2917,7 +3136,7 @@ func (m *GetClusterInfoRequest) Reset() { *m = GetClusterInfoRequest{} } func (m *GetClusterInfoRequest) String() string { return proto.CompactTextString(m) } func (*GetClusterInfoRequest) ProtoMessage() {} func (*GetClusterInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{43} + return fileDescriptor_78b27e6f04f44c6e, []int{46} } func (m *GetClusterInfoRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2968,7 +3187,7 @@ func (m *GetClusterInfoResponse) Reset() { *m = GetClusterInfoResponse{} func (m *GetClusterInfoResponse) String() string { return proto.CompactTextString(m) } func (*GetClusterInfoResponse) ProtoMessage() {} func (*GetClusterInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{44} + return fileDescriptor_78b27e6f04f44c6e, []int{47} } func (m *GetClusterInfoResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3030,7 +3249,7 @@ func (m *PeerStats) Reset() { *m = PeerStats{} } func (m *PeerStats) String() string { return proto.CompactTextString(m) } func (*PeerStats) ProtoMessage() {} func (*PeerStats) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{45} + return fileDescriptor_78b27e6f04f44c6e, []int{48} } func (m *PeerStats) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3115,7 +3334,7 @@ func (m *RegionHeartbeatRequest) Reset() { *m = RegionHeartbeatRequest{} func (m *RegionHeartbeatRequest) String() string { return proto.CompactTextString(m) } func (*RegionHeartbeatRequest) ProtoMessage() {} func (*RegionHeartbeatRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{46} + return fileDescriptor_78b27e6f04f44c6e, []int{49} } func (m *RegionHeartbeatRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3275,7 +3494,7 @@ func (m *ChangePeer) Reset() { *m = ChangePeer{} } func (m *ChangePeer) String() string { return proto.CompactTextString(m) } func (*ChangePeer) ProtoMessage() {} func (*ChangePeer) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{47} + return fileDescriptor_78b27e6f04f44c6e, []int{50} } func (m *ChangePeer) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3330,7 +3549,7 @@ func (m *ChangePeerV2) Reset() { *m = ChangePeerV2{} } func (m *ChangePeerV2) String() string { return proto.CompactTextString(m) } func (*ChangePeerV2) ProtoMessage() {} func (*ChangePeerV2) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{48} + return fileDescriptor_78b27e6f04f44c6e, []int{51} } func (m *ChangePeerV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3378,7 +3597,7 @@ func (m *TransferLeader) Reset() { *m = TransferLeader{} } func (m *TransferLeader) String() string { return proto.CompactTextString(m) } func (*TransferLeader) ProtoMessage() {} func (*TransferLeader) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{49} + return fileDescriptor_78b27e6f04f44c6e, []int{52} } func (m *TransferLeader) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3432,7 +3651,7 @@ func (m *Merge) Reset() { *m = Merge{} } func (m *Merge) String() string { return proto.CompactTextString(m) } func (*Merge) ProtoMessage() {} func (*Merge) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{50} + return fileDescriptor_78b27e6f04f44c6e, []int{53} } func (m *Merge) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3480,7 +3699,7 @@ func (m *SplitRegion) Reset() { *m = SplitRegion{} } func (m *SplitRegion) String() string { return proto.CompactTextString(m) } func (*SplitRegion) ProtoMessage() {} func (*SplitRegion) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{51} + return fileDescriptor_78b27e6f04f44c6e, []int{54} } func (m *SplitRegion) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3535,7 +3754,7 @@ func (m *SwitchWitness) Reset() { *m = SwitchWitness{} } func (m *SwitchWitness) String() string { return proto.CompactTextString(m) } func (*SwitchWitness) ProtoMessage() {} func (*SwitchWitness) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{52} + return fileDescriptor_78b27e6f04f44c6e, []int{55} } func (m *SwitchWitness) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3589,7 +3808,7 @@ func (m *BatchSwitchWitness) Reset() { *m = BatchSwitchWitness{} } func (m *BatchSwitchWitness) String() string { return proto.CompactTextString(m) } func (*BatchSwitchWitness) ProtoMessage() {} func (*BatchSwitchWitness) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{53} + return fileDescriptor_78b27e6f04f44c6e, []int{56} } func (m *BatchSwitchWitness) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3669,7 +3888,7 @@ func (m *RegionHeartbeatResponse) Reset() { *m = RegionHeartbeatResponse func (m *RegionHeartbeatResponse) String() string { return proto.CompactTextString(m) } func (*RegionHeartbeatResponse) ProtoMessage() {} func (*RegionHeartbeatResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{54} + return fileDescriptor_78b27e6f04f44c6e, []int{57} } func (m *RegionHeartbeatResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3780,7 +3999,7 @@ func (m *AskSplitRequest) Reset() { *m = AskSplitRequest{} } func (m *AskSplitRequest) String() string { return proto.CompactTextString(m) } func (*AskSplitRequest) ProtoMessage() {} func (*AskSplitRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{55} + return fileDescriptor_78b27e6f04f44c6e, []int{58} } func (m *AskSplitRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3840,7 +4059,7 @@ func (m *AskSplitResponse) Reset() { *m = AskSplitResponse{} } func (m *AskSplitResponse) String() string { return proto.CompactTextString(m) } func (*AskSplitResponse) ProtoMessage() {} func (*AskSplitResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{56} + return fileDescriptor_78b27e6f04f44c6e, []int{59} } func (m *AskSplitResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3903,7 +4122,7 @@ func (m *ReportSplitRequest) Reset() { *m = ReportSplitRequest{} } func (m *ReportSplitRequest) String() string { return proto.CompactTextString(m) } func (*ReportSplitRequest) ProtoMessage() {} func (*ReportSplitRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{57} + return fileDescriptor_78b27e6f04f44c6e, []int{60} } func (m *ReportSplitRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3964,7 +4183,7 @@ func (m *ReportSplitResponse) Reset() { *m = ReportSplitResponse{} } func (m *ReportSplitResponse) String() string { return proto.CompactTextString(m) } func (*ReportSplitResponse) ProtoMessage() {} func (*ReportSplitResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{58} + return fileDescriptor_78b27e6f04f44c6e, []int{61} } func (m *ReportSplitResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4013,7 +4232,7 @@ func (m *AskBatchSplitRequest) Reset() { *m = AskBatchSplitRequest{} } func (m *AskBatchSplitRequest) String() string { return proto.CompactTextString(m) } func (*AskBatchSplitRequest) ProtoMessage() {} func (*AskBatchSplitRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{59} + return fileDescriptor_78b27e6f04f44c6e, []int{62} } func (m *AskBatchSplitRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4075,7 +4294,7 @@ func (m *SplitID) Reset() { *m = SplitID{} } func (m *SplitID) String() string { return proto.CompactTextString(m) } func (*SplitID) ProtoMessage() {} func (*SplitID) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{60} + return fileDescriptor_78b27e6f04f44c6e, []int{63} } func (m *SplitID) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4130,7 +4349,7 @@ func (m *AskBatchSplitResponse) Reset() { *m = AskBatchSplitResponse{} } func (m *AskBatchSplitResponse) String() string { return proto.CompactTextString(m) } func (*AskBatchSplitResponse) ProtoMessage() {} func (*AskBatchSplitResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{61} + return fileDescriptor_78b27e6f04f44c6e, []int{64} } func (m *AskBatchSplitResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4185,7 +4404,7 @@ func (m *ReportBatchSplitRequest) Reset() { *m = ReportBatchSplitRequest func (m *ReportBatchSplitRequest) String() string { return proto.CompactTextString(m) } func (*ReportBatchSplitRequest) ProtoMessage() {} func (*ReportBatchSplitRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{62} + return fileDescriptor_78b27e6f04f44c6e, []int{65} } func (m *ReportBatchSplitRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4239,7 +4458,7 @@ func (m *ReportBatchSplitResponse) Reset() { *m = ReportBatchSplitRespon func (m *ReportBatchSplitResponse) String() string { return proto.CompactTextString(m) } func (*ReportBatchSplitResponse) ProtoMessage() {} func (*ReportBatchSplitResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{63} + return fileDescriptor_78b27e6f04f44c6e, []int{66} } func (m *ReportBatchSplitResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4289,7 +4508,7 @@ func (m *TimeInterval) Reset() { *m = TimeInterval{} } func (m *TimeInterval) String() string { return proto.CompactTextString(m) } func (*TimeInterval) ProtoMessage() {} func (*TimeInterval) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{64} + return fileDescriptor_78b27e6f04f44c6e, []int{67} } func (m *TimeInterval) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4344,7 +4563,7 @@ func (m *RecordPair) Reset() { *m = RecordPair{} } func (m *RecordPair) String() string { return proto.CompactTextString(m) } func (*RecordPair) ProtoMessage() {} func (*RecordPair) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{65} + return fileDescriptor_78b27e6f04f44c6e, []int{68} } func (m *RecordPair) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4403,7 +4622,7 @@ func (m *PeerStat) Reset() { *m = PeerStat{} } func (m *PeerStat) String() string { return proto.CompactTextString(m) } func (*PeerStat) ProtoMessage() {} func (*PeerStat) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{66} + return fileDescriptor_78b27e6f04f44c6e, []int{69} } func (m *PeerStat) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4540,7 +4759,7 @@ func (m *StoreStats) Reset() { *m = StoreStats{} } func (m *StoreStats) String() string { return proto.CompactTextString(m) } func (*StoreStats) ProtoMessage() {} func (*StoreStats) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{67} + return fileDescriptor_78b27e6f04f44c6e, []int{70} } func (m *StoreStats) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4786,7 +5005,7 @@ func (m *SlowTrend) Reset() { *m = SlowTrend{} } func (m *SlowTrend) String() string { return proto.CompactTextString(m) } func (*SlowTrend) ProtoMessage() {} func (*SlowTrend) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{68} + return fileDescriptor_78b27e6f04f44c6e, []int{71} } func (m *SlowTrend) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4864,7 +5083,7 @@ func (m *SnapshotStat) Reset() { *m = SnapshotStat{} } func (m *SnapshotStat) String() string { return proto.CompactTextString(m) } func (*SnapshotStat) ProtoMessage() {} func (*SnapshotStat) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{69} + return fileDescriptor_78b27e6f04f44c6e, []int{72} } func (m *SnapshotStat) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4945,7 +5164,7 @@ func (m *PeerReport) Reset() { *m = PeerReport{} } func (m *PeerReport) String() string { return proto.CompactTextString(m) } func (*PeerReport) ProtoMessage() {} func (*PeerReport) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{70} + return fileDescriptor_78b27e6f04f44c6e, []int{73} } func (m *PeerReport) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5021,7 +5240,7 @@ func (m *StoreReport) Reset() { *m = StoreReport{} } func (m *StoreReport) String() string { return proto.CompactTextString(m) } func (*StoreReport) ProtoMessage() {} func (*StoreReport) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{71} + return fileDescriptor_78b27e6f04f44c6e, []int{74} } func (m *StoreReport) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5079,7 +5298,7 @@ func (m *StoreHeartbeatRequest) Reset() { *m = StoreHeartbeatRequest{} } func (m *StoreHeartbeatRequest) String() string { return proto.CompactTextString(m) } func (*StoreHeartbeatRequest) ProtoMessage() {} func (*StoreHeartbeatRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{72} + return fileDescriptor_78b27e6f04f44c6e, []int{75} } func (m *StoreHeartbeatRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5148,7 +5367,7 @@ func (m *DemoteFailedVoters) Reset() { *m = DemoteFailedVoters{} } func (m *DemoteFailedVoters) String() string { return proto.CompactTextString(m) } func (*DemoteFailedVoters) ProtoMessage() {} func (*DemoteFailedVoters) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{73} + return fileDescriptor_78b27e6f04f44c6e, []int{76} } func (m *DemoteFailedVoters) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5205,7 +5424,7 @@ func (m *ForceLeader) Reset() { *m = ForceLeader{} } func (m *ForceLeader) String() string { return proto.CompactTextString(m) } func (*ForceLeader) ProtoMessage() {} func (*ForceLeader) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{74} + return fileDescriptor_78b27e6f04f44c6e, []int{77} } func (m *ForceLeader) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5271,7 +5490,7 @@ func (m *RecoveryPlan) Reset() { *m = RecoveryPlan{} } func (m *RecoveryPlan) String() string { return proto.CompactTextString(m) } func (*RecoveryPlan) ProtoMessage() {} func (*RecoveryPlan) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{75} + return fileDescriptor_78b27e6f04f44c6e, []int{78} } func (m *RecoveryPlan) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5355,7 +5574,7 @@ func (m *AwakenRegions) Reset() { *m = AwakenRegions{} } func (m *AwakenRegions) String() string { return proto.CompactTextString(m) } func (*AwakenRegions) ProtoMessage() {} func (*AwakenRegions) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{76} + return fileDescriptor_78b27e6f04f44c6e, []int{79} } func (m *AwakenRegions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5402,7 +5621,7 @@ func (m *ControlGrpc) Reset() { *m = ControlGrpc{} } func (m *ControlGrpc) String() string { return proto.CompactTextString(m) } func (*ControlGrpc) ProtoMessage() {} func (*ControlGrpc) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{77} + return fileDescriptor_78b27e6f04f44c6e, []int{80} } func (m *ControlGrpc) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5462,7 +5681,7 @@ func (m *StoreHeartbeatResponse) Reset() { *m = StoreHeartbeatResponse{} func (m *StoreHeartbeatResponse) String() string { return proto.CompactTextString(m) } func (*StoreHeartbeatResponse) ProtoMessage() {} func (*StoreHeartbeatResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{78} + return fileDescriptor_78b27e6f04f44c6e, []int{81} } func (m *StoreHeartbeatResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5564,7 +5783,7 @@ func (m *ScatterRegionRequest) Reset() { *m = ScatterRegionRequest{} } func (m *ScatterRegionRequest) String() string { return proto.CompactTextString(m) } func (*ScatterRegionRequest) ProtoMessage() {} func (*ScatterRegionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{79} + return fileDescriptor_78b27e6f04f44c6e, []int{82} } func (m *ScatterRegionRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5662,7 +5881,7 @@ func (m *ScatterRegionResponse) Reset() { *m = ScatterRegionResponse{} } func (m *ScatterRegionResponse) String() string { return proto.CompactTextString(m) } func (*ScatterRegionResponse) ProtoMessage() {} func (*ScatterRegionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{80} + return fileDescriptor_78b27e6f04f44c6e, []int{83} } func (m *ScatterRegionResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5716,7 +5935,7 @@ func (m *GetGCSafePointRequest) Reset() { *m = GetGCSafePointRequest{} } func (m *GetGCSafePointRequest) String() string { return proto.CompactTextString(m) } func (*GetGCSafePointRequest) ProtoMessage() {} func (*GetGCSafePointRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{81} + return fileDescriptor_78b27e6f04f44c6e, []int{84} } func (m *GetGCSafePointRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5764,7 +5983,7 @@ func (m *GetGCSafePointResponse) Reset() { *m = GetGCSafePointResponse{} func (m *GetGCSafePointResponse) String() string { return proto.CompactTextString(m) } func (*GetGCSafePointResponse) ProtoMessage() {} func (*GetGCSafePointResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{82} + return fileDescriptor_78b27e6f04f44c6e, []int{85} } func (m *GetGCSafePointResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5819,7 +6038,7 @@ func (m *UpdateGCSafePointRequest) Reset() { *m = UpdateGCSafePointReque func (m *UpdateGCSafePointRequest) String() string { return proto.CompactTextString(m) } func (*UpdateGCSafePointRequest) ProtoMessage() {} func (*UpdateGCSafePointRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{83} + return fileDescriptor_78b27e6f04f44c6e, []int{86} } func (m *UpdateGCSafePointRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5874,7 +6093,7 @@ func (m *UpdateGCSafePointResponse) Reset() { *m = UpdateGCSafePointResp func (m *UpdateGCSafePointResponse) String() string { return proto.CompactTextString(m) } func (*UpdateGCSafePointResponse) ProtoMessage() {} func (*UpdateGCSafePointResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{84} + return fileDescriptor_78b27e6f04f44c6e, []int{87} } func (m *UpdateGCSafePointResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5931,7 +6150,7 @@ func (m *UpdateServiceGCSafePointRequest) Reset() { *m = UpdateServiceGC func (m *UpdateServiceGCSafePointRequest) String() string { return proto.CompactTextString(m) } func (*UpdateServiceGCSafePointRequest) ProtoMessage() {} func (*UpdateServiceGCSafePointRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{85} + return fileDescriptor_78b27e6f04f44c6e, []int{88} } func (m *UpdateServiceGCSafePointRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6002,7 +6221,7 @@ func (m *UpdateServiceGCSafePointResponse) Reset() { *m = UpdateServiceG func (m *UpdateServiceGCSafePointResponse) String() string { return proto.CompactTextString(m) } func (*UpdateServiceGCSafePointResponse) ProtoMessage() {} func (*UpdateServiceGCSafePointResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{86} + return fileDescriptor_78b27e6f04f44c6e, []int{89} } func (m *UpdateServiceGCSafePointResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6071,7 +6290,7 @@ func (m *GetGCSafePointV2Request) Reset() { *m = GetGCSafePointV2Request func (m *GetGCSafePointV2Request) String() string { return proto.CompactTextString(m) } func (*GetGCSafePointV2Request) ProtoMessage() {} func (*GetGCSafePointV2Request) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{87} + return fileDescriptor_78b27e6f04f44c6e, []int{90} } func (m *GetGCSafePointV2Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6126,7 +6345,7 @@ func (m *GetGCSafePointV2Response) Reset() { *m = GetGCSafePointV2Respon func (m *GetGCSafePointV2Response) String() string { return proto.CompactTextString(m) } func (*GetGCSafePointV2Response) ProtoMessage() {} func (*GetGCSafePointV2Response) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{88} + return fileDescriptor_78b27e6f04f44c6e, []int{91} } func (m *GetGCSafePointV2Response) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6181,7 +6400,7 @@ func (m *WatchGCSafePointV2Request) Reset() { *m = WatchGCSafePointV2Req func (m *WatchGCSafePointV2Request) String() string { return proto.CompactTextString(m) } func (*WatchGCSafePointV2Request) ProtoMessage() {} func (*WatchGCSafePointV2Request) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{89} + return fileDescriptor_78b27e6f04f44c6e, []int{92} } func (m *WatchGCSafePointV2Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6238,7 +6457,7 @@ func (m *SafePointEvent) Reset() { *m = SafePointEvent{} } func (m *SafePointEvent) String() string { return proto.CompactTextString(m) } func (*SafePointEvent) ProtoMessage() {} func (*SafePointEvent) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{90} + return fileDescriptor_78b27e6f04f44c6e, []int{93} } func (m *SafePointEvent) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6301,7 +6520,7 @@ func (m *WatchGCSafePointV2Response) Reset() { *m = WatchGCSafePointV2Re func (m *WatchGCSafePointV2Response) String() string { return proto.CompactTextString(m) } func (*WatchGCSafePointV2Response) ProtoMessage() {} func (*WatchGCSafePointV2Response) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{91} + return fileDescriptor_78b27e6f04f44c6e, []int{94} } func (m *WatchGCSafePointV2Response) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6364,7 +6583,7 @@ func (m *UpdateGCSafePointV2Request) Reset() { *m = UpdateGCSafePointV2R func (m *UpdateGCSafePointV2Request) String() string { return proto.CompactTextString(m) } func (*UpdateGCSafePointV2Request) ProtoMessage() {} func (*UpdateGCSafePointV2Request) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{92} + return fileDescriptor_78b27e6f04f44c6e, []int{95} } func (m *UpdateGCSafePointV2Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6426,7 +6645,7 @@ func (m *UpdateGCSafePointV2Response) Reset() { *m = UpdateGCSafePointV2 func (m *UpdateGCSafePointV2Response) String() string { return proto.CompactTextString(m) } func (*UpdateGCSafePointV2Response) ProtoMessage() {} func (*UpdateGCSafePointV2Response) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{93} + return fileDescriptor_78b27e6f04f44c6e, []int{96} } func (m *UpdateGCSafePointV2Response) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6489,7 +6708,7 @@ func (m *UpdateServiceSafePointV2Request) Reset() { *m = UpdateServiceSa func (m *UpdateServiceSafePointV2Request) String() string { return proto.CompactTextString(m) } func (*UpdateServiceSafePointV2Request) ProtoMessage() {} func (*UpdateServiceSafePointV2Request) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{94} + return fileDescriptor_78b27e6f04f44c6e, []int{97} } func (m *UpdateServiceSafePointV2Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6567,7 +6786,7 @@ func (m *UpdateServiceSafePointV2Response) Reset() { *m = UpdateServiceS func (m *UpdateServiceSafePointV2Response) String() string { return proto.CompactTextString(m) } func (*UpdateServiceSafePointV2Response) ProtoMessage() {} func (*UpdateServiceSafePointV2Response) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{95} + return fileDescriptor_78b27e6f04f44c6e, []int{98} } func (m *UpdateServiceSafePointV2Response) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6635,7 +6854,7 @@ func (m *GetAllGCSafePointV2Request) Reset() { *m = GetAllGCSafePointV2R func (m *GetAllGCSafePointV2Request) String() string { return proto.CompactTextString(m) } func (*GetAllGCSafePointV2Request) ProtoMessage() {} func (*GetAllGCSafePointV2Request) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{96} + return fileDescriptor_78b27e6f04f44c6e, []int{99} } func (m *GetAllGCSafePointV2Request) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6683,7 +6902,7 @@ func (m *GCSafePointV2) Reset() { *m = GCSafePointV2{} } func (m *GCSafePointV2) String() string { return proto.CompactTextString(m) } func (*GCSafePointV2) ProtoMessage() {} func (*GCSafePointV2) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{97} + return fileDescriptor_78b27e6f04f44c6e, []int{100} } func (m *GCSafePointV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6739,7 +6958,7 @@ func (m *GetAllGCSafePointV2Response) Reset() { *m = GetAllGCSafePointV2 func (m *GetAllGCSafePointV2Response) String() string { return proto.CompactTextString(m) } func (*GetAllGCSafePointV2Response) ProtoMessage() {} func (*GetAllGCSafePointV2Response) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{98} + return fileDescriptor_78b27e6f04f44c6e, []int{101} } func (m *GetAllGCSafePointV2Response) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6805,7 +7024,7 @@ func (m *RegionStat) Reset() { *m = RegionStat{} } func (m *RegionStat) String() string { return proto.CompactTextString(m) } func (*RegionStat) ProtoMessage() {} func (*RegionStat) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{99} + return fileDescriptor_78b27e6f04f44c6e, []int{102} } func (m *RegionStat) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6877,7 +7096,7 @@ func (m *SyncRegionRequest) Reset() { *m = SyncRegionRequest{} } func (m *SyncRegionRequest) String() string { return proto.CompactTextString(m) } func (*SyncRegionRequest) ProtoMessage() {} func (*SyncRegionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{100} + return fileDescriptor_78b27e6f04f44c6e, []int{103} } func (m *SyncRegionRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6938,7 +7157,7 @@ func (m *PeersStats) Reset() { *m = PeersStats{} } func (m *PeersStats) String() string { return proto.CompactTextString(m) } func (*PeersStats) ProtoMessage() {} func (*PeersStats) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{101} + return fileDescriptor_78b27e6f04f44c6e, []int{104} } func (m *PeersStats) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6985,7 +7204,7 @@ func (m *Peers) Reset() { *m = Peers{} } func (m *Peers) String() string { return proto.CompactTextString(m) } func (*Peers) ProtoMessage() {} func (*Peers) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{102} + return fileDescriptor_78b27e6f04f44c6e, []int{105} } func (m *Peers) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7042,7 +7261,7 @@ func (m *SyncRegionResponse) Reset() { *m = SyncRegionResponse{} } func (m *SyncRegionResponse) String() string { return proto.CompactTextString(m) } func (*SyncRegionResponse) ProtoMessage() {} func (*SyncRegionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{103} + return fileDescriptor_78b27e6f04f44c6e, []int{106} } func (m *SyncRegionResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7139,7 +7358,7 @@ func (m *GetOperatorRequest) Reset() { *m = GetOperatorRequest{} } func (m *GetOperatorRequest) String() string { return proto.CompactTextString(m) } func (*GetOperatorRequest) ProtoMessage() {} func (*GetOperatorRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{104} + return fileDescriptor_78b27e6f04f44c6e, []int{107} } func (m *GetOperatorRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7197,7 +7416,7 @@ func (m *GetOperatorResponse) Reset() { *m = GetOperatorResponse{} } func (m *GetOperatorResponse) String() string { return proto.CompactTextString(m) } func (*GetOperatorResponse) ProtoMessage() {} func (*GetOperatorResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{105} + return fileDescriptor_78b27e6f04f44c6e, []int{108} } func (m *GetOperatorResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7275,7 +7494,7 @@ func (m *SyncMaxTSRequest) Reset() { *m = SyncMaxTSRequest{} } func (m *SyncMaxTSRequest) String() string { return proto.CompactTextString(m) } func (*SyncMaxTSRequest) ProtoMessage() {} func (*SyncMaxTSRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{106} + return fileDescriptor_78b27e6f04f44c6e, []int{109} } func (m *SyncMaxTSRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7338,7 +7557,7 @@ func (m *SyncMaxTSResponse) Reset() { *m = SyncMaxTSResponse{} } func (m *SyncMaxTSResponse) String() string { return proto.CompactTextString(m) } func (*SyncMaxTSResponse) ProtoMessage() {} func (*SyncMaxTSResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{107} + return fileDescriptor_78b27e6f04f44c6e, []int{110} } func (m *SyncMaxTSResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7401,7 +7620,7 @@ func (m *SplitRegionsRequest) Reset() { *m = SplitRegionsRequest{} } func (m *SplitRegionsRequest) String() string { return proto.CompactTextString(m) } func (*SplitRegionsRequest) ProtoMessage() {} func (*SplitRegionsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{108} + return fileDescriptor_78b27e6f04f44c6e, []int{111} } func (m *SplitRegionsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7464,7 +7683,7 @@ func (m *SplitRegionsResponse) Reset() { *m = SplitRegionsResponse{} } func (m *SplitRegionsResponse) String() string { return proto.CompactTextString(m) } func (*SplitRegionsResponse) ProtoMessage() {} func (*SplitRegionsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{109} + return fileDescriptor_78b27e6f04f44c6e, []int{112} } func (m *SplitRegionsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7528,7 +7747,7 @@ func (m *SplitAndScatterRegionsRequest) Reset() { *m = SplitAndScatterRe func (m *SplitAndScatterRegionsRequest) String() string { return proto.CompactTextString(m) } func (*SplitAndScatterRegionsRequest) ProtoMessage() {} func (*SplitAndScatterRegionsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{110} + return fileDescriptor_78b27e6f04f44c6e, []int{113} } func (m *SplitAndScatterRegionsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7599,7 +7818,7 @@ func (m *SplitAndScatterRegionsResponse) Reset() { *m = SplitAndScatterR func (m *SplitAndScatterRegionsResponse) String() string { return proto.CompactTextString(m) } func (*SplitAndScatterRegionsResponse) ProtoMessage() {} func (*SplitAndScatterRegionsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{111} + return fileDescriptor_78b27e6f04f44c6e, []int{114} } func (m *SplitAndScatterRegionsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7668,7 +7887,7 @@ func (m *GetDCLocationInfoRequest) Reset() { *m = GetDCLocationInfoReque func (m *GetDCLocationInfoRequest) String() string { return proto.CompactTextString(m) } func (*GetDCLocationInfoRequest) ProtoMessage() {} func (*GetDCLocationInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{112} + return fileDescriptor_78b27e6f04f44c6e, []int{115} } func (m *GetDCLocationInfoRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7727,7 +7946,7 @@ func (m *GetDCLocationInfoResponse) Reset() { *m = GetDCLocationInfoResp func (m *GetDCLocationInfoResponse) String() string { return proto.CompactTextString(m) } func (*GetDCLocationInfoResponse) ProtoMessage() {} func (*GetDCLocationInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{113} + return fileDescriptor_78b27e6f04f44c6e, []int{116} } func (m *GetDCLocationInfoResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7798,7 +8017,7 @@ func (m *QueryStats) Reset() { *m = QueryStats{} } func (m *QueryStats) String() string { return proto.CompactTextString(m) } func (*QueryStats) ProtoMessage() {} func (*QueryStats) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{114} + return fileDescriptor_78b27e6f04f44c6e, []int{117} } func (m *QueryStats) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7917,7 +8136,7 @@ func (m *ReportBucketsRequest) Reset() { *m = ReportBucketsRequest{} } func (m *ReportBucketsRequest) String() string { return proto.CompactTextString(m) } func (*ReportBucketsRequest) ProtoMessage() {} func (*ReportBucketsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{115} + return fileDescriptor_78b27e6f04f44c6e, []int{118} } func (m *ReportBucketsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7978,7 +8197,7 @@ func (m *ReportBucketsResponse) Reset() { *m = ReportBucketsResponse{} } func (m *ReportBucketsResponse) String() string { return proto.CompactTextString(m) } func (*ReportBucketsResponse) ProtoMessage() {} func (*ReportBucketsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{116} + return fileDescriptor_78b27e6f04f44c6e, []int{119} } func (m *ReportBucketsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8027,7 +8246,7 @@ func (m *ReportMinResolvedTsRequest) Reset() { *m = ReportMinResolvedTsR func (m *ReportMinResolvedTsRequest) String() string { return proto.CompactTextString(m) } func (*ReportMinResolvedTsRequest) ProtoMessage() {} func (*ReportMinResolvedTsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{117} + return fileDescriptor_78b27e6f04f44c6e, []int{120} } func (m *ReportMinResolvedTsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8088,7 +8307,7 @@ func (m *ReportMinResolvedTsResponse) Reset() { *m = ReportMinResolvedTs func (m *ReportMinResolvedTsResponse) String() string { return proto.CompactTextString(m) } func (*ReportMinResolvedTsResponse) ProtoMessage() {} func (*ReportMinResolvedTsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{118} + return fileDescriptor_78b27e6f04f44c6e, []int{121} } func (m *ReportMinResolvedTsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8136,7 +8355,7 @@ func (m *SetExternalTimestampRequest) Reset() { *m = SetExternalTimestam func (m *SetExternalTimestampRequest) String() string { return proto.CompactTextString(m) } func (*SetExternalTimestampRequest) ProtoMessage() {} func (*SetExternalTimestampRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{119} + return fileDescriptor_78b27e6f04f44c6e, []int{122} } func (m *SetExternalTimestampRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8190,7 +8409,7 @@ func (m *SetExternalTimestampResponse) Reset() { *m = SetExternalTimesta func (m *SetExternalTimestampResponse) String() string { return proto.CompactTextString(m) } func (*SetExternalTimestampResponse) ProtoMessage() {} func (*SetExternalTimestampResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{120} + return fileDescriptor_78b27e6f04f44c6e, []int{123} } func (m *SetExternalTimestampResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8237,7 +8456,7 @@ func (m *GetExternalTimestampRequest) Reset() { *m = GetExternalTimestam func (m *GetExternalTimestampRequest) String() string { return proto.CompactTextString(m) } func (*GetExternalTimestampRequest) ProtoMessage() {} func (*GetExternalTimestampRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{121} + return fileDescriptor_78b27e6f04f44c6e, []int{124} } func (m *GetExternalTimestampRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8285,7 +8504,7 @@ func (m *GetExternalTimestampResponse) Reset() { *m = GetExternalTimesta func (m *GetExternalTimestampResponse) String() string { return proto.CompactTextString(m) } func (*GetExternalTimestampResponse) ProtoMessage() {} func (*GetExternalTimestampResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{122} + return fileDescriptor_78b27e6f04f44c6e, []int{125} } func (m *GetExternalTimestampResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8339,7 +8558,7 @@ func (m *GetMinTSRequest) Reset() { *m = GetMinTSRequest{} } func (m *GetMinTSRequest) String() string { return proto.CompactTextString(m) } func (*GetMinTSRequest) ProtoMessage() {} func (*GetMinTSRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{123} + return fileDescriptor_78b27e6f04f44c6e, []int{126} } func (m *GetMinTSRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8387,7 +8606,7 @@ func (m *GetMinTSResponse) Reset() { *m = GetMinTSResponse{} } func (m *GetMinTSResponse) String() string { return proto.CompactTextString(m) } func (*GetMinTSResponse) ProtoMessage() {} func (*GetMinTSResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_78b27e6f04f44c6e, []int{124} + return fileDescriptor_78b27e6f04f44c6e, []int{127} } func (m *GetMinTSResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8468,6 +8687,10 @@ func init() { proto.RegisterType((*GetRegionRequest)(nil), "pdpb.GetRegionRequest") proto.RegisterType((*GetRegionResponse)(nil), "pdpb.GetRegionResponse") proto.RegisterType((*GetRegionByIDRequest)(nil), "pdpb.GetRegionByIDRequest") + proto.RegisterType((*QueryRegionRequest)(nil), "pdpb.QueryRegionRequest") + proto.RegisterType((*QueryRegionResponse)(nil), "pdpb.QueryRegionResponse") + proto.RegisterMapType((map[uint64]*RegionResponse)(nil), "pdpb.QueryRegionResponse.RegionsByIdEntry") + proto.RegisterType((*RegionResponse)(nil), "pdpb.RegionResponse") proto.RegisterType((*ScanRegionsRequest)(nil), "pdpb.ScanRegionsRequest") proto.RegisterType((*Region)(nil), "pdpb.Region") proto.RegisterType((*ScanRegionsResponse)(nil), "pdpb.ScanRegionsResponse") @@ -8569,403 +8792,413 @@ func init() { func init() { proto.RegisterFile("pdpb.proto", fileDescriptor_78b27e6f04f44c6e) } var fileDescriptor_78b27e6f04f44c6e = []byte{ - // 6330 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x7c, 0x4b, 0x93, 0x23, 0xc7, - 0x71, 0xf0, 0x34, 0x1e, 0x33, 0x40, 0xe2, 0x31, 0x98, 0xda, 0xd9, 0x1d, 0x2c, 0xf6, 0xc9, 0x5e, - 0x92, 0xdf, 0x72, 0x45, 0x2e, 0xc9, 0x25, 0xa5, 0x8f, 0xa2, 0x2d, 0x86, 0x30, 0x33, 0xd8, 0x21, - 0xb8, 0xf3, 0x80, 0x1b, 0x98, 0xa5, 0x68, 0x2b, 0xdc, 0xd1, 0xd3, 0x5d, 0x33, 0xd3, 0x1a, 0xa0, - 0x1b, 0xec, 0x6e, 0xcc, 0x2e, 0x14, 0x3e, 0xf8, 0x25, 0xdb, 0x0a, 0x4b, 0x61, 0x47, 0xf8, 0x25, - 0x5f, 0x74, 0xb0, 0x1d, 0xb6, 0x23, 0x6c, 0x5f, 0x7c, 0x70, 0xf8, 0xe6, 0x9b, 0xc3, 0x47, 0x1f, - 0x15, 0x3e, 0x38, 0x14, 0xb2, 0x2f, 0xfe, 0x03, 0xbe, 0xd8, 0x07, 0x47, 0x65, 0x55, 0x35, 0xba, - 0x1b, 0x0d, 0xcc, 0x2e, 0x96, 0xab, 0xd0, 0x09, 0xe8, 0xac, 0xec, 0xac, 0xac, 0xac, 0xac, 0xac, - 0xcc, 0xac, 0xac, 0x06, 0x18, 0x5a, 0xc3, 0xa3, 0xfb, 0x43, 0xcf, 0x0d, 0x5c, 0x92, 0x63, 0xff, - 0x1b, 0xe5, 0x01, 0x0d, 0x0c, 0x09, 0x6b, 0x54, 0xa8, 0x67, 0x1c, 0x07, 0xe1, 0xe3, 0x25, 0xf6, - 0xa4, 0xfb, 0xd4, 0x3b, 0xa7, 0x5e, 0x08, 0xac, 0x7b, 0x74, 0xd8, 0xb7, 0x4d, 0x23, 0xb0, 0x5d, - 0x47, 0x1f, 0xb8, 0x16, 0x0d, 0x5b, 0xd6, 0x4f, 0xdc, 0x13, 0x17, 0xff, 0xbe, 0xcd, 0xfe, 0x09, - 0xe8, 0xaa, 0x37, 0xf2, 0x03, 0xfc, 0xcb, 0x01, 0xea, 0xa7, 0x50, 0xff, 0xd4, 0x08, 0xcc, 0xd3, - 0x9d, 0xbe, 0x7b, 0x64, 0xf4, 0xb7, 0x5c, 0xe7, 0xd8, 0x3e, 0xd1, 0xe8, 0xe7, 0x23, 0xea, 0x07, - 0xe4, 0x16, 0x94, 0x4c, 0x04, 0xe8, 0x43, 0x23, 0x38, 0xad, 0x2b, 0xb7, 0x95, 0xbb, 0x45, 0x0d, - 0x38, 0xa8, 0x63, 0x04, 0xa7, 0xa4, 0x01, 0x05, 0x8f, 0x9e, 0xdb, 0xbe, 0xed, 0x3a, 0xf5, 0xcc, - 0x6d, 0xe5, 0x6e, 0x56, 0x0b, 0x9f, 0xd5, 0x3f, 0x51, 0xe0, 0x6a, 0x0a, 0x65, 0x7f, 0xe8, 0x3a, - 0x3e, 0x25, 0xef, 0xc0, 0x8a, 0x79, 0x6a, 0x38, 0x27, 0xd4, 0xaf, 0x2b, 0xb7, 0xb3, 0x77, 0x4b, - 0x0f, 0xae, 0xdc, 0x47, 0x69, 0x44, 0x91, 0xdb, 0x01, 0x1d, 0x68, 0x12, 0x6d, 0x5e, 0x5f, 0xe4, - 0x4d, 0x58, 0x3e, 0xa5, 0x86, 0x45, 0xbd, 0x7a, 0xf6, 0xb6, 0x72, 0xb7, 0xf4, 0x60, 0x9d, 0x13, - 0x93, 0xbd, 0x7d, 0x8c, 0x6d, 0x9a, 0xc0, 0x51, 0x07, 0x50, 0xef, 0x06, 0xae, 0x47, 0xd3, 0x86, - 0xfc, 0xfc, 0x7c, 0x25, 0x84, 0x94, 0x49, 0x0a, 0x49, 0xfd, 0x08, 0xae, 0xa6, 0x74, 0x27, 0xe4, - 0xf0, 0x0a, 0xe4, 0xa9, 0xe7, 0xb9, 0x1e, 0x0a, 0xb7, 0xf4, 0xa0, 0xc4, 0x7b, 0x6b, 0x31, 0x90, - 0xc6, 0x5b, 0xd4, 0x0e, 0x6c, 0xec, 0xba, 0x86, 0x95, 0xc6, 0xed, 0x3a, 0xe4, 0x1d, 0x63, 0x20, - 0x78, 0x2d, 0x6a, 0xfc, 0xe1, 0x62, 0x8e, 0x2c, 0xa8, 0x4f, 0x53, 0x14, 0x0c, 0xbd, 0x09, 0x79, - 0x3b, 0xa0, 0x83, 0x8b, 0x86, 0xcf, 0x91, 0xe6, 0x2a, 0xc0, 0x0f, 0x15, 0xa8, 0x25, 0xdf, 0x23, - 0x04, 0x72, 0x8c, 0x49, 0xa1, 0x4b, 0xf8, 0x9f, 0x8d, 0xe2, 0xdc, 0xe8, 0x8f, 0xa8, 0xe0, 0x94, - 0x3f, 0x4c, 0x24, 0x93, 0x9d, 0x25, 0x19, 0x72, 0x07, 0x72, 0x67, 0xb6, 0x63, 0xd5, 0x73, 0xb7, - 0x95, 0xbb, 0xd5, 0x07, 0xab, 0x02, 0xe3, 0x9c, 0x3a, 0x41, 0x6f, 0x3c, 0xa4, 0x1a, 0x36, 0x92, - 0x3a, 0xac, 0x0c, 0x8d, 0x71, 0xdf, 0x35, 0xac, 0x7a, 0xfe, 0xb6, 0x72, 0xb7, 0xac, 0xc9, 0x47, - 0xf5, 0x11, 0x54, 0x84, 0x20, 0xb9, 0x82, 0x90, 0x1b, 0x00, 0x66, 0x7f, 0xe4, 0x07, 0xd4, 0xd3, - 0x6d, 0x0b, 0x59, 0xcc, 0x69, 0x45, 0x01, 0x69, 0x5b, 0xe4, 0x1a, 0x14, 0x7d, 0xea, 0x58, 0xbc, - 0x35, 0x83, 0xad, 0x05, 0x0e, 0x68, 0x5b, 0xaa, 0x06, 0xd5, 0xb8, 0xba, 0x5d, 0x44, 0x2d, 0x1c, - 0x5f, 0x66, 0xe6, 0xcc, 0x3f, 0x84, 0x7c, 0x4b, 0x0e, 0x34, 0x18, 0x0f, 0xb9, 0xd4, 0x26, 0x03, - 0x65, 0x4d, 0x7c, 0xa0, 0xac, 0x91, 0x0d, 0x74, 0x40, 0x7d, 0xdf, 0x38, 0x91, 0x82, 0x94, 0x8f, - 0xea, 0x10, 0xa0, 0xe7, 0xbb, 0x52, 0x69, 0xbe, 0x14, 0x2e, 0x16, 0xae, 0x73, 0x97, 0xe4, 0x62, - 0x89, 0x88, 0x42, 0xae, 0x15, 0x36, 0x37, 0xa6, 0x3b, 0x72, 0x02, 0x24, 0x59, 0xd1, 0xf8, 0x03, - 0xd3, 0x30, 0xcb, 0xd4, 0xfb, 0x2e, 0xb7, 0x3b, 0x38, 0x43, 0x45, 0x0d, 0x2c, 0x73, 0x57, 0x40, - 0xd4, 0x23, 0x28, 0xf6, 0xec, 0x01, 0xf5, 0x03, 0x63, 0x30, 0x64, 0x4a, 0x32, 0x3c, 0x1d, 0xfb, - 0xb6, 0x69, 0xf4, 0xb1, 0xcb, 0xac, 0x16, 0x3e, 0x33, 0xa6, 0xfb, 0xee, 0x09, 0x36, 0x71, 0xfd, - 0x91, 0x8f, 0xac, 0x0f, 0x7f, 0x74, 0x7c, 0x6c, 0x3f, 0xd5, 0x8f, 0xec, 0xc0, 0xc7, 0x3e, 0x2a, - 0x1a, 0x70, 0xd0, 0xa6, 0x1d, 0xf8, 0xea, 0xaf, 0x2a, 0x50, 0xc2, 0x61, 0x85, 0x9a, 0x1b, 0x1f, - 0xd7, 0x5c, 0x23, 0x30, 0x63, 0x60, 0x6f, 0x41, 0x31, 0x90, 0x7c, 0x0b, 0xc5, 0x13, 0xd2, 0x0e, - 0x87, 0xa3, 0x4d, 0x30, 0xd4, 0xef, 0x29, 0x50, 0xdb, 0x74, 0xdd, 0xc0, 0x0f, 0x3c, 0x63, 0xb8, - 0x90, 0x7c, 0xef, 0x40, 0xde, 0x67, 0xc6, 0x41, 0x68, 0x41, 0xe5, 0xbe, 0xd8, 0x01, 0xd0, 0x62, - 0x68, 0xbc, 0x8d, 0xbc, 0x0e, 0xcb, 0x1e, 0x3d, 0x91, 0x92, 0x2e, 0x3d, 0xa8, 0x4a, 0x2c, 0x0d, - 0xa1, 0x9a, 0x68, 0x65, 0x26, 0x77, 0x2d, 0xc2, 0xce, 0x42, 0x72, 0xe9, 0x01, 0x89, 0x6e, 0x29, - 0x7e, 0x60, 0x04, 0x23, 0x5f, 0x70, 0xf7, 0xda, 0xfd, 0x94, 0xdd, 0x46, 0x9b, 0x80, 0xba, 0x88, - 0xac, 0xad, 0x79, 0x49, 0x90, 0xba, 0x0d, 0x97, 0xdb, 0x7e, 0xc8, 0xda, 0x90, 0x5a, 0x8b, 0x08, - 0x4b, 0xfd, 0x16, 0x5c, 0x49, 0x52, 0x59, 0x68, 0x8c, 0x2a, 0x94, 0x8f, 0x22, 0x54, 0x70, 0x74, - 0x05, 0x2d, 0x06, 0x53, 0xbf, 0x06, 0xd5, 0x66, 0xbf, 0xef, 0x9a, 0xed, 0xed, 0x85, 0x58, 0x3d, - 0x80, 0xd5, 0xf0, 0xf5, 0x85, 0x78, 0xac, 0x42, 0x26, 0xb4, 0x32, 0x19, 0xdb, 0x52, 0x3f, 0x81, - 0x6b, 0x6d, 0xbf, 0xeb, 0x18, 0x43, 0xff, 0xd4, 0x0d, 0x34, 0x6a, 0xba, 0xe7, 0xd4, 0xb3, 0x9d, - 0x93, 0x85, 0x98, 0xb3, 0xe0, 0x7a, 0x3a, 0xad, 0x85, 0x38, 0xbd, 0x02, 0xcb, 0x03, 0xc3, 0x3b, - 0x0b, 0xe5, 0x28, 0x9e, 0xd4, 0xcf, 0x60, 0x75, 0x87, 0x06, 0x5c, 0x91, 0x17, 0x59, 0x1a, 0x57, - 0xa1, 0x80, 0xea, 0x3f, 0xb1, 0xb6, 0x2b, 0xf8, 0xdc, 0xb6, 0xd4, 0xef, 0xb3, 0xad, 0x25, 0xa4, - 0xbd, 0x10, 0xd7, 0xcf, 0xb8, 0xf0, 0xf2, 0x6c, 0x01, 0xf8, 0x62, 0xdd, 0xd5, 0x38, 0x45, 0x44, - 0x61, 0x8a, 0xed, 0x6b, 0xbc, 0x59, 0x35, 0x61, 0xb5, 0x33, 0x7a, 0x81, 0xa1, 0x3e, 0x0b, 0x33, - 0xea, 0x1f, 0x2b, 0x50, 0x9b, 0xf4, 0xf2, 0x33, 0xb4, 0xb8, 0x7f, 0x05, 0x2e, 0xed, 0xd0, 0xa0, - 0xd9, 0xef, 0x23, 0x6b, 0xfe, 0x42, 0x12, 0xf8, 0x00, 0xea, 0xf4, 0xa9, 0xd9, 0x1f, 0x59, 0x54, - 0x0f, 0xdc, 0xc1, 0x91, 0x1f, 0xb8, 0x0e, 0xd5, 0x71, 0xdc, 0xbe, 0x50, 0xab, 0x2b, 0xa2, 0xbd, - 0x27, 0x9b, 0x79, 0x6f, 0xea, 0x19, 0xac, 0xc7, 0x7b, 0x5f, 0x48, 0x32, 0xaf, 0xc1, 0x72, 0xd8, - 0x5b, 0x76, 0x7a, 0x0a, 0x44, 0xa3, 0xfa, 0x6b, 0x5c, 0xf1, 0x84, 0xdd, 0x5d, 0x64, 0xa0, 0x37, - 0x00, 0xb8, 0xb5, 0xd6, 0xcf, 0xe8, 0x18, 0x87, 0x56, 0xd6, 0x8a, 0x1c, 0xf2, 0x88, 0x8e, 0xc9, - 0x2b, 0x50, 0x76, 0x28, 0xb5, 0xf4, 0xa3, 0x91, 0x79, 0x46, 0x85, 0xe2, 0x15, 0xb4, 0x12, 0x83, - 0x6d, 0x72, 0x90, 0xfa, 0xe7, 0x19, 0x58, 0x8b, 0xf0, 0xb0, 0xd0, 0x70, 0x27, 0x3b, 0x4a, 0x66, - 0xde, 0x8e, 0x42, 0x5e, 0x85, 0xe5, 0x7e, 0xd4, 0xb1, 0x2e, 0x4b, 0xbc, 0x0e, 0x65, 0xd4, 0x78, - 0x1b, 0xb9, 0x0f, 0x60, 0xb9, 0x4f, 0x1c, 0x7d, 0x48, 0xa9, 0xe7, 0xd7, 0xf3, 0x28, 0x40, 0xb1, - 0x6d, 0x32, 0x3c, 0xbe, 0x54, 0x8a, 0x0c, 0x85, 0x3d, 0xfa, 0xe4, 0x5d, 0xa8, 0x0c, 0xa9, 0x63, - 0xd9, 0xce, 0x89, 0x78, 0x65, 0x19, 0x5f, 0x89, 0x13, 0x2f, 0x0b, 0x14, 0xfe, 0xca, 0x1b, 0xb0, - 0x22, 0x45, 0xb2, 0x22, 0xb6, 0x65, 0x81, 0x2c, 0xc4, 0xa2, 0xc9, 0xf6, 0x4f, 0x72, 0x85, 0x5c, - 0x2d, 0xaf, 0xfe, 0x86, 0x82, 0x7a, 0xc1, 0xc7, 0xb3, 0x39, 0x5e, 0xcc, 0x8c, 0x33, 0x97, 0x4f, - 0xcc, 0xd6, 0xc4, 0xe5, 0xe3, 0x00, 0xf4, 0xe0, 0x2e, 0x9c, 0xab, 0xef, 0x2b, 0x40, 0xba, 0xa6, - 0xe1, 0x70, 0x36, 0xfc, 0x45, 0x79, 0xf0, 0x03, 0xc3, 0x0b, 0x22, 0x0a, 0x53, 0x40, 0x00, 0xd3, - 0x97, 0x75, 0xc8, 0xf7, 0xed, 0x81, 0x1d, 0x60, 0xe7, 0x79, 0x8d, 0x3f, 0x90, 0x0d, 0x58, 0xa1, - 0x8e, 0x85, 0x2f, 0xe4, 0xf0, 0x85, 0x65, 0xea, 0x58, 0x8f, 0xe8, 0x58, 0xfd, 0x4f, 0x05, 0x96, - 0x39, 0x2f, 0x11, 0x15, 0x50, 0x9e, 0x51, 0x05, 0x32, 0xcf, 0xac, 0x02, 0xd9, 0xe7, 0x57, 0x81, - 0xdc, 0xf3, 0xa8, 0x40, 0x7e, 0xbe, 0x0a, 0xa8, 0xff, 0xac, 0xc0, 0xa5, 0x98, 0xd8, 0x17, 0x5a, - 0x24, 0xef, 0x42, 0x59, 0x4c, 0x3e, 0xeb, 0x47, 0x5a, 0x86, 0xa4, 0x9c, 0x4a, 0x1c, 0x67, 0x8f, - 0xa1, 0x90, 0xd7, 0x61, 0x85, 0x0b, 0x44, 0xca, 0x20, 0x3e, 0x20, 0xd9, 0xc8, 0xf0, 0xf8, 0x6b, - 0x93, 0x81, 0x0b, 0x4e, 0x90, 0xa6, 0x6c, 0x54, 0xbf, 0x0e, 0x85, 0x47, 0x74, 0xac, 0xb1, 0x48, - 0x33, 0xae, 0x07, 0x4a, 0x42, 0x0f, 0x22, 0x33, 0x9e, 0x89, 0xcd, 0xf8, 0xbf, 0x29, 0xb0, 0xb1, - 0xc9, 0xc2, 0xf0, 0x17, 0x55, 0xc3, 0xa4, 0xb6, 0x67, 0xa6, 0xb4, 0x1d, 0x55, 0x8a, 0xc7, 0xce, - 0x59, 0x21, 0x2a, 0xa4, 0x27, 0x47, 0xa0, 0x89, 0xd6, 0x89, 0xd2, 0xe6, 0xa2, 0x4a, 0xfb, 0x2e, - 0x5c, 0x36, 0x5d, 0x27, 0x30, 0x6c, 0x47, 0x37, 0xfa, 0x7d, 0x36, 0x14, 0x1d, 0xf1, 0x71, 0xb6, - 0x0b, 0x1a, 0x11, 0x8d, 0xcd, 0x7e, 0x5f, 0x12, 0x54, 0x87, 0x50, 0x9f, 0x1e, 0xdb, 0x82, 0x06, - 0x31, 0x9c, 0x90, 0xcc, 0xbc, 0x09, 0x79, 0x08, 0x1b, 0x3b, 0x34, 0xd8, 0xe2, 0x51, 0x5c, 0x3c, - 0x18, 0x7f, 0x2e, 0x17, 0xcc, 0x87, 0xfa, 0x34, 0x9d, 0x85, 0x38, 0x7f, 0x03, 0x56, 0x44, 0x50, - 0x29, 0x16, 0x68, 0xb8, 0x2c, 0x04, 0x75, 0x4d, 0xb6, 0xab, 0x9f, 0xc3, 0x46, 0x67, 0xf4, 0xe2, - 0xcc, 0x3f, 0x4f, 0x97, 0x1f, 0x43, 0x7d, 0xba, 0xcb, 0x45, 0xc6, 0xa9, 0xfe, 0x45, 0x06, 0x96, - 0xf7, 0xe8, 0xe0, 0x88, 0x7a, 0xa9, 0x49, 0x84, 0x6b, 0x50, 0x1c, 0x60, 0x6b, 0xc4, 0x52, 0x73, - 0x00, 0x8f, 0xdc, 0x99, 0x95, 0xd1, 0x47, 0x5e, 0x9f, 0xeb, 0x66, 0x51, 0x2b, 0x30, 0xc0, 0xa1, - 0xd7, 0xe7, 0xe9, 0x92, 0xbe, 0x4d, 0x9d, 0x80, 0x37, 0xe7, 0xb0, 0x19, 0x38, 0x08, 0x11, 0xfe, - 0x1f, 0xac, 0xf2, 0x75, 0xab, 0x0f, 0x3d, 0xdb, 0xf5, 0xec, 0x60, 0x8c, 0x2a, 0x99, 0xd7, 0xaa, - 0x1c, 0xdc, 0x11, 0x50, 0x0c, 0x8b, 0xe9, 0xb0, 0xef, 0x8e, 0x79, 0xe2, 0x65, 0x59, 0x84, 0xc5, - 0x08, 0xc2, 0x7c, 0xd9, 0x6b, 0x50, 0x3d, 0xb2, 0x1d, 0xc3, 0x1b, 0xeb, 0xe7, 0xd4, 0xc3, 0xa4, - 0xc9, 0x0a, 0xe2, 0x54, 0x38, 0xf4, 0x31, 0x07, 0x32, 0xcf, 0xf7, 0xc4, 0x0e, 0xf4, 0x53, 0xc3, - 0x3f, 0xad, 0x17, 0x78, 0x28, 0x7f, 0x62, 0x07, 0x1f, 0x1b, 0xfe, 0x69, 0x32, 0xf2, 0x2e, 0x4e, - 0x45, 0xde, 0x5f, 0x47, 0xe7, 0x80, 0x0b, 0x6a, 0xa1, 0x85, 0xae, 0xfe, 0x6f, 0x06, 0x48, 0x94, - 0xc4, 0xa2, 0xeb, 0x89, 0x4b, 0x3f, 0xb1, 0x9e, 0x38, 0x55, 0x4d, 0x36, 0xa6, 0x38, 0x18, 0x51, - 0x34, 0xb9, 0xbb, 0xbc, 0x05, 0x25, 0x1a, 0x98, 0x96, 0x2e, 0x50, 0x73, 0x29, 0xa8, 0xc0, 0x10, - 0x76, 0x39, 0x3a, 0x85, 0xcb, 0x81, 0xef, 0x32, 0x2b, 0xc2, 0xa4, 0xe2, 0x7a, 0xba, 0xb4, 0xc9, - 0xdc, 0x35, 0x79, 0x57, 0xe4, 0xb4, 0xa6, 0xc6, 0x78, 0xbf, 0xe7, 0xbb, 0x4d, 0xf9, 0x12, 0xa7, - 0xe5, 0xb7, 0x9c, 0xc0, 0x1b, 0x6b, 0x97, 0x82, 0xe9, 0x96, 0x46, 0x0f, 0xea, 0xb3, 0x5e, 0x20, - 0x35, 0xc8, 0x4a, 0x33, 0x5d, 0xd4, 0xd8, 0x5f, 0xa2, 0x46, 0xb3, 0x5c, 0x49, 0xee, 0x79, 0xd3, - 0x87, 0x99, 0x0f, 0x14, 0xb5, 0x05, 0x97, 0x27, 0x96, 0xa1, 0xed, 0x1c, 0x87, 0x79, 0x9b, 0xe7, - 0x5b, 0x2e, 0x3f, 0x50, 0xe0, 0x4a, 0x92, 0xce, 0x42, 0x33, 0xf9, 0x65, 0x28, 0xfb, 0xd4, 0x3b, - 0xb7, 0x4d, 0xba, 0xe7, 0x5a, 0xc2, 0x3f, 0xae, 0x3e, 0x58, 0x13, 0xa1, 0xd0, 0xa4, 0x45, 0x8b, - 0xa1, 0x31, 0x1d, 0x66, 0x73, 0x10, 0x59, 0x71, 0x2b, 0x81, 0xef, 0xb2, 0xf5, 0xa4, 0x76, 0xa0, - 0x18, 0xfa, 0x04, 0xe4, 0x36, 0xe4, 0xd8, 0x4a, 0x14, 0xac, 0xc4, 0xb7, 0x4b, 0x6c, 0x61, 0x1b, - 0x0f, 0xba, 0x16, 0x3e, 0x35, 0x5d, 0xc7, 0xf2, 0xc5, 0xe2, 0x2e, 0x31, 0x58, 0x97, 0x83, 0xd4, - 0xff, 0xce, 0xc3, 0x15, 0x6e, 0xa9, 0x3f, 0xa6, 0x86, 0x17, 0x1c, 0x51, 0x23, 0x58, 0xc8, 0xb0, - 0xbd, 0x4c, 0xb7, 0x38, 0xf7, 0xfc, 0x3e, 0x51, 0xfe, 0x42, 0x9f, 0xe8, 0x0e, 0x54, 0x8e, 0xc6, - 0x01, 0xf5, 0xf5, 0x27, 0x9e, 0x1d, 0x04, 0xd4, 0x41, 0x9b, 0x93, 0xd3, 0xca, 0x08, 0xfc, 0x94, - 0xc3, 0x58, 0xc8, 0xc1, 0x91, 0x3c, 0x6a, 0x58, 0x68, 0x71, 0x72, 0x5a, 0x11, 0x21, 0x1a, 0x35, - 0xd0, 0x8d, 0x3d, 0xa3, 0xe3, 0x09, 0x89, 0x02, 0x97, 0x2f, 0x83, 0x49, 0x0a, 0xd7, 0xa0, 0x88, - 0x28, 0x48, 0xa0, 0xc8, 0x8d, 0x2b, 0x03, 0xe0, 0xfb, 0x6f, 0x40, 0xcd, 0x18, 0x0e, 0x3d, 0xf7, - 0xa9, 0x3d, 0x30, 0x02, 0xaa, 0xfb, 0xf6, 0xb7, 0x69, 0x1d, 0x10, 0x67, 0x35, 0x02, 0xef, 0xda, - 0xdf, 0xa6, 0xe4, 0x3e, 0x14, 0x6c, 0x27, 0xa0, 0xde, 0xb9, 0xd1, 0xaf, 0x97, 0x51, 0x72, 0x64, - 0x92, 0x5d, 0x6b, 0x8b, 0x16, 0x2d, 0xc4, 0x49, 0x92, 0x66, 0x5d, 0xd6, 0x2b, 0x53, 0xa4, 0x1f, - 0xd1, 0xb1, 0xcf, 0xf6, 0x84, 0x80, 0x7a, 0x83, 0x7a, 0x15, 0x9b, 0xf1, 0x3f, 0xf9, 0xc5, 0xd4, - 0x70, 0x77, 0x15, 0x3b, 0xfe, 0x52, 0x7a, 0xb8, 0xcb, 0x63, 0xaa, 0x8b, 0x83, 0x5e, 0xf2, 0x2e, - 0x94, 0x3e, 0x1f, 0x51, 0x6f, 0xac, 0xf3, 0x04, 0x41, 0x2d, 0x9a, 0x20, 0xf8, 0x05, 0xd6, 0xc0, - 0xa7, 0x17, 0x3e, 0x0f, 0xff, 0x33, 0x29, 0x9a, 0xc3, 0x91, 0x3e, 0xc2, 0x14, 0xed, 0x1a, 0x97, - 0xa2, 0x39, 0x1c, 0x1d, 0xb2, 0x67, 0x72, 0x1f, 0x2e, 0xc5, 0x86, 0x7a, 0xce, 0x05, 0x49, 0x10, - 0x6d, 0x2d, 0x3a, 0xda, 0x73, 0x26, 0xca, 0x4f, 0x72, 0x85, 0x52, 0xad, 0xac, 0x9e, 0x02, 0x6c, - 0xe1, 0x39, 0x04, 0x53, 0x87, 0x67, 0x58, 0x4b, 0x1f, 0x40, 0x89, 0x9f, 0x5b, 0xe8, 0x98, 0x4f, - 0xce, 0x60, 0x3e, 0x79, 0xe3, 0xbe, 0x3c, 0x68, 0x62, 0x1b, 0x34, 0xa7, 0x87, 0x79, 0x65, 0x30, - 0xc3, 0xff, 0xea, 0x87, 0x50, 0x9e, 0xf4, 0xf4, 0xf8, 0x01, 0xb9, 0x97, 0x3c, 0x28, 0x11, 0x63, - 0x9f, 0x20, 0x85, 0x47, 0x24, 0xea, 0x63, 0xa8, 0xf6, 0x3c, 0xc3, 0xf1, 0x8f, 0xa9, 0x30, 0x92, - 0xcf, 0xc0, 0xa9, 0x0a, 0x79, 0xbe, 0x08, 0x32, 0x29, 0x8b, 0x80, 0x37, 0xa9, 0x6f, 0x43, 0x7e, - 0x8f, 0x7a, 0x27, 0x98, 0x20, 0x0d, 0x0c, 0xef, 0x84, 0x06, 0xb3, 0x62, 0x19, 0xde, 0xaa, 0xee, - 0x42, 0xa9, 0x3b, 0xec, 0xdb, 0x22, 0x2a, 0x24, 0x6f, 0xc0, 0xf2, 0xd0, 0xed, 0xdb, 0xe6, 0x58, - 0x24, 0xd6, 0xd7, 0xe4, 0x10, 0xa8, 0x79, 0xd6, 0xc1, 0x06, 0x4d, 0x20, 0x30, 0xf5, 0x42, 0xed, - 0x63, 0xdc, 0x94, 0x35, 0xfc, 0xaf, 0xee, 0x40, 0xa5, 0xfb, 0xc4, 0x0e, 0xcc, 0xd3, 0x4f, 0xed, - 0xc0, 0xa1, 0xbe, 0xcf, 0x9c, 0x70, 0x74, 0x33, 0xc2, 0x74, 0xff, 0x32, 0x7b, 0x6c, 0x5b, 0x6c, - 0x05, 0xda, 0xbe, 0xfe, 0x84, 0xa3, 0x09, 0xcf, 0xb9, 0x68, 0xfb, 0xe2, 0x3d, 0xb5, 0x07, 0x84, - 0xbb, 0xb1, 0x31, 0x6a, 0x1f, 0x41, 0xcd, 0x47, 0x80, 0x7c, 0x31, 0x14, 0xb5, 0xb0, 0x61, 0x31, - 0x74, 0x6d, 0xd5, 0x8f, 0x3e, 0x52, 0x5f, 0xfd, 0xa3, 0x1c, 0x6c, 0x4c, 0x19, 0xc5, 0x05, 0x03, - 0x21, 0xa9, 0x35, 0x38, 0x69, 0x99, 0xa8, 0xae, 0x47, 0xe6, 0x5b, 0xa8, 0x0b, 0xaa, 0xe2, 0xd7, - 0x60, 0x35, 0x10, 0x53, 0xae, 0xf7, 0x53, 0x8e, 0xe6, 0xe2, 0xfa, 0xa0, 0x55, 0x83, 0xb8, 0x7e, - 0xc4, 0xe2, 0xee, 0x5c, 0x22, 0xee, 0xfe, 0x4a, 0x18, 0x97, 0xd1, 0xa1, 0x6b, 0x9e, 0x8a, 0x68, - 0xf0, 0x52, 0x7c, 0xce, 0x5b, 0xac, 0x49, 0x06, 0x67, 0xf8, 0xc0, 0xbc, 0x08, 0xae, 0x07, 0x7c, - 0x18, 0xcb, 0x29, 0xba, 0x07, 0x1c, 0xa1, 0xc3, 0xf7, 0x9d, 0xfc, 0x80, 0x69, 0x97, 0x48, 0x38, - 0x94, 0xe4, 0x86, 0xed, 0x9d, 0x50, 0x8d, 0xb7, 0x90, 0xf7, 0xa1, 0xec, 0x33, 0x7d, 0xd2, 0xc5, - 0xae, 0x51, 0x40, 0x4c, 0xb9, 0x37, 0x4e, 0x34, 0x4d, 0x2b, 0xf9, 0x11, 0xb5, 0xfb, 0x00, 0xaa, - 0x11, 0x71, 0xea, 0xe7, 0x0f, 0xd0, 0xa4, 0x86, 0xb6, 0x30, 0xba, 0xcc, 0xb4, 0xb2, 0x19, 0x5d, - 0x74, 0x5b, 0x29, 0x2a, 0x01, 0xf8, 0x6e, 0x9d, 0xbf, 0x3b, 0xad, 0x46, 0xd3, 0x7a, 0x71, 0x0c, - 0xab, 0x4d, 0xff, 0x4c, 0x70, 0xf7, 0xf2, 0x36, 0x49, 0xf5, 0xb7, 0x14, 0xa8, 0x4d, 0x3a, 0x5a, - 0x30, 0x51, 0x5f, 0x71, 0xe8, 0x13, 0x3d, 0x99, 0x82, 0x29, 0x39, 0xf4, 0x89, 0x26, 0xb5, 0xe1, - 0x36, 0x8b, 0x4b, 0x9f, 0xe8, 0x62, 0xe1, 0x71, 0x67, 0x23, 0xa7, 0x81, 0x43, 0x9f, 0x74, 0x70, - 0xf1, 0xf9, 0xea, 0xef, 0x2a, 0x40, 0x34, 0x3a, 0x74, 0xbd, 0x60, 0xf1, 0x41, 0xab, 0x90, 0xeb, - 0xd3, 0xe3, 0x60, 0xc6, 0x90, 0xb1, 0x8d, 0xbc, 0x0a, 0x79, 0xcf, 0x3e, 0x39, 0x0d, 0x66, 0x9c, - 0xd2, 0xf0, 0x46, 0x75, 0x0b, 0x2e, 0xc5, 0x98, 0x59, 0x28, 0x18, 0xfa, 0x9e, 0x02, 0xeb, 0x4d, - 0xff, 0x8c, 0x4f, 0xf7, 0xcb, 0x9e, 0x49, 0x3c, 0x8a, 0x43, 0x35, 0xe7, 0x27, 0x66, 0xf2, 0x28, - 0x8e, 0x81, 0xb6, 0x18, 0x44, 0x3d, 0x80, 0x15, 0xe4, 0xa2, 0xbd, 0x3d, 0x3d, 0x65, 0xca, 0xc5, - 0x53, 0x96, 0x99, 0x9a, 0xb2, 0x63, 0xb8, 0x9c, 0x18, 0xde, 0x42, 0xfa, 0x73, 0x0b, 0xb2, 0x92, - 0x7e, 0xe9, 0x41, 0x25, 0xb2, 0x2c, 0xdb, 0xdb, 0x1a, 0x6b, 0x51, 0x87, 0xcc, 0x44, 0xb2, 0xc9, - 0x78, 0x41, 0x49, 0xde, 0x4d, 0xa6, 0x0f, 0x92, 0xa2, 0x0c, 0x13, 0x08, 0x1f, 0x43, 0x7d, 0xba, - 0xc7, 0x85, 0x74, 0xe0, 0x9b, 0x50, 0x8e, 0xba, 0x4d, 0x2c, 0x4c, 0xe5, 0xf9, 0xa1, 0xc9, 0x09, - 0x26, 0x97, 0x7d, 0x15, 0xc1, 0x93, 0xf3, 0xd8, 0x3b, 0x50, 0xa1, 0x8e, 0x15, 0x41, 0xe3, 0xab, - 0xaa, 0x4c, 0x1d, 0x2b, 0x44, 0x52, 0xdf, 0x07, 0xd0, 0xa8, 0xe9, 0x7a, 0x56, 0xc7, 0xb0, 0xbd, - 0x94, 0x70, 0x26, 0x76, 0x68, 0x9f, 0x13, 0x01, 0x8c, 0xfa, 0xef, 0x0a, 0x14, 0xa4, 0x6f, 0x1b, - 0x37, 0xe2, 0x4a, 0xc2, 0x88, 0x63, 0xa3, 0x61, 0xe9, 0x62, 0x57, 0x15, 0x8d, 0x86, 0x85, 0xce, - 0x1c, 0x26, 0xc9, 0x0d, 0x4b, 0x47, 0x27, 0x15, 0xf5, 0x2d, 0xa7, 0x21, 0xfa, 0x26, 0x03, 0x24, - 0x7d, 0xaf, 0xdc, 0x33, 0xf8, 0x5e, 0xaf, 0x40, 0x59, 0xf8, 0xb7, 0xbc, 0xc7, 0x3c, 0xd7, 0x4a, - 0x01, 0xc3, 0x4e, 0xef, 0x40, 0x45, 0xa2, 0xf0, 0x7e, 0x85, 0x2f, 0x2d, 0x80, 0xd8, 0xb5, 0xfa, - 0xa7, 0x45, 0x80, 0xc9, 0xf9, 0x4f, 0xec, 0x8c, 0x4a, 0x89, 0x9d, 0x51, 0x91, 0x06, 0x14, 0x4c, - 0x63, 0x68, 0x98, 0x76, 0x30, 0x96, 0xe3, 0x93, 0xcf, 0xe4, 0x3a, 0x14, 0x8d, 0x73, 0xc3, 0xee, - 0x1b, 0x47, 0x7d, 0x2a, 0x87, 0x17, 0x02, 0x18, 0xaf, 0x42, 0x6e, 0x7c, 0xbd, 0xe5, 0x70, 0xbd, - 0x89, 0xad, 0x0c, 0x17, 0x1c, 0x79, 0x13, 0x88, 0x2f, 0x42, 0x05, 0xdf, 0x31, 0x86, 0x02, 0x31, - 0x8f, 0x88, 0x35, 0xd1, 0xd2, 0x75, 0x8c, 0x21, 0xc7, 0x7e, 0x07, 0xd6, 0x3d, 0x6a, 0x52, 0xfb, - 0x3c, 0x81, 0xbf, 0x8c, 0xf8, 0x24, 0x6c, 0x9b, 0xbc, 0x71, 0x03, 0x60, 0xa2, 0x4b, 0xb8, 0x01, - 0x56, 0xb4, 0x62, 0xa8, 0x46, 0xc2, 0x59, 0xed, 0x8f, 0x13, 0xf4, 0x0a, 0x88, 0xb7, 0x26, 0x9b, - 0x26, 0xe4, 0x36, 0x60, 0xc5, 0xf6, 0xf5, 0xa3, 0x91, 0x3f, 0xc6, 0xad, 0xae, 0xa0, 0x2d, 0xdb, - 0xfe, 0xe6, 0xc8, 0x1f, 0x33, 0x2d, 0x18, 0xf9, 0xd4, 0x8a, 0x06, 0x0d, 0x05, 0x06, 0xc0, 0x68, - 0x61, 0x2a, 0xb8, 0x29, 0xa5, 0x04, 0x37, 0xc9, 0xe8, 0xa5, 0x3c, 0x1d, 0xbd, 0xc4, 0xe3, 0x9f, - 0x4a, 0x32, 0xfe, 0x89, 0x05, 0x37, 0xd5, 0x44, 0x70, 0x13, 0x8d, 0x58, 0x56, 0x9f, 0x21, 0x62, - 0x79, 0x1b, 0x20, 0xf4, 0xf1, 0x59, 0x54, 0x10, 0xf1, 0x8c, 0x27, 0xcb, 0x49, 0x2b, 0x4a, 0xb7, - 0xdf, 0x27, 0xef, 0x43, 0x05, 0x55, 0xdd, 0x76, 0x75, 0xcf, 0x60, 0x5a, 0xb7, 0x36, 0xe3, 0x9d, - 0x12, 0x43, 0x6b, 0xbb, 0x1a, 0x43, 0x22, 0x5f, 0x81, 0x2a, 0x1b, 0x30, 0x9d, 0xbc, 0x46, 0x66, - 0xbc, 0x86, 0xea, 0x4b, 0xe5, 0x7b, 0xef, 0x41, 0xd9, 0x1d, 0xea, 0x7d, 0x23, 0xa0, 0x8e, 0x69, - 0x53, 0xbf, 0x7e, 0x69, 0x56, 0x67, 0xee, 0x70, 0x57, 0x22, 0x91, 0xb7, 0x00, 0xd0, 0x54, 0xf3, - 0xd5, 0xb6, 0x1e, 0x4d, 0xed, 0xca, 0xb5, 0xae, 0x61, 0x7e, 0x8d, 0xaf, 0x89, 0xc4, 0xea, 0xbc, - 0xfc, 0x0c, 0xab, 0x93, 0xa9, 0x5b, 0xdf, 0x7d, 0xa2, 0xfb, 0xa6, 0xeb, 0xd1, 0xfa, 0x15, 0x3e, - 0x43, 0x0c, 0xd2, 0x65, 0x00, 0xa6, 0xed, 0x96, 0x31, 0x30, 0x4e, 0xa8, 0x25, 0xf6, 0x15, 0x9f, - 0xad, 0xb7, 0x0d, 0xdc, 0x35, 0x6a, 0xa2, 0x45, 0xa4, 0x7f, 0xdb, 0x16, 0xdb, 0x81, 0x6c, 0x5f, - 0x47, 0x25, 0xe4, 0x2a, 0x57, 0xe7, 0x99, 0x6a, 0xdb, 0x6f, 0x32, 0x18, 0xea, 0xdd, 0x57, 0xa1, - 0xea, 0x8b, 0xf3, 0x6f, 0xc1, 0xe6, 0x55, 0x1c, 0x96, 0x98, 0x5c, 0x79, 0x36, 0x8e, 0x43, 0xab, - 0xf8, 0x91, 0x27, 0x9f, 0x45, 0xf5, 0xc8, 0x6b, 0xe0, 0x51, 0xc7, 0xaa, 0x37, 0xa2, 0x35, 0x22, - 0xdd, 0xbe, 0xfb, 0xa4, 0xc7, 0xc0, 0x9c, 0x79, 0xfc, 0x4b, 0x5e, 0x85, 0xaa, 0xed, 0xeb, 0x27, - 0xde, 0xd0, 0xd4, 0x87, 0x06, 0xd3, 0xed, 0xfa, 0x35, 0x5e, 0x6e, 0x60, 0xfb, 0x3b, 0xde, 0xd0, - 0xec, 0x20, 0x8c, 0xa9, 0x71, 0xe0, 0x06, 0x46, 0x5f, 0x1f, 0xd0, 0x81, 0xeb, 0x8d, 0xeb, 0xd7, - 0xb9, 0x1a, 0x23, 0x6c, 0x0f, 0x41, 0x6c, 0x17, 0xc6, 0xb5, 0x22, 0x30, 0x6e, 0x20, 0x06, 0x30, - 0x10, 0x47, 0x50, 0x7f, 0x4f, 0x81, 0x62, 0xc8, 0x02, 0xa6, 0x35, 0x19, 0x6d, 0x9d, 0x9b, 0x69, - 0x66, 0x9d, 0x14, 0x0d, 0x10, 0xf4, 0x18, 0x0b, 0xac, 0x6e, 0x00, 0x7f, 0x42, 0x05, 0x42, 0x13, - 0xa5, 0x68, 0x45, 0x84, 0x30, 0x5d, 0xe1, 0x56, 0xc8, 0x1f, 0xf5, 0x03, 0x41, 0x20, 0x8b, 0x08, - 0x25, 0x0e, 0xe3, 0x14, 0x6e, 0x81, 0x78, 0xe4, 0x24, 0x72, 0xbc, 0x0b, 0x0e, 0x62, 0x34, 0xd4, - 0x1f, 0x2b, 0x50, 0x8e, 0xca, 0x72, 0xfe, 0x96, 0xf0, 0x00, 0x2e, 0x9f, 0x50, 0x87, 0x32, 0x5a, - 0xba, 0x35, 0xf2, 0x44, 0xd0, 0x4e, 0x4d, 0x61, 0x3e, 0x2f, 0xc9, 0xc6, 0x6d, 0xd1, 0xd6, 0xa5, - 0x26, 0xb9, 0x07, 0x6b, 0xcc, 0xdc, 0xc5, 0xf1, 0xb9, 0x45, 0x5d, 0x65, 0x0d, 0x51, 0xdc, 0x37, - 0x81, 0x70, 0x19, 0xc7, 0x90, 0x79, 0x74, 0x51, 0xc3, 0x96, 0x28, 0xf6, 0x6b, 0xc0, 0x83, 0x12, - 0xb6, 0x57, 0x73, 0xfb, 0xc4, 0xf7, 0x8c, 0x4a, 0x08, 0x65, 0x46, 0x4a, 0xfd, 0x4e, 0x06, 0x00, - 0x43, 0x07, 0xdc, 0xd4, 0xc9, 0xcf, 0x03, 0xf0, 0x32, 0xcd, 0x80, 0x49, 0x84, 0x6f, 0xe3, 0x37, - 0xee, 0xc7, 0x2b, 0x37, 0x35, 0xe3, 0x38, 0xd8, 0x75, 0x4d, 0xa3, 0xcf, 0x44, 0x42, 0xb5, 0x22, - 0x6b, 0xc5, 0xbf, 0x64, 0x33, 0xb4, 0xfc, 0xfc, 0x7d, 0xee, 0x96, 0xdd, 0x4a, 0xbe, 0x8f, 0x28, - 0x11, 0x0a, 0x62, 0x6b, 0xe0, 0x34, 0x5e, 0x87, 0x55, 0xdb, 0xd7, 0x8f, 0x5d, 0xcf, 0xa4, 0xd1, - 0xc8, 0xab, 0xa0, 0x55, 0x6c, 0xff, 0x21, 0x83, 0xee, 0x4a, 0x97, 0xa5, 0x76, 0x6a, 0xf8, 0xba, - 0xe9, 0x0e, 0x06, 0x76, 0xa0, 0xf3, 0x48, 0x27, 0x87, 0x88, 0xd5, 0x53, 0xc3, 0xdf, 0x42, 0x30, - 0x8f, 0xae, 0xef, 0x40, 0x85, 0xad, 0x26, 0x9b, 0x5a, 0xba, 0xed, 0x58, 0xf4, 0xa9, 0x10, 0x44, - 0x59, 0x00, 0xdb, 0x0c, 0xa6, 0x3e, 0x86, 0x92, 0xa8, 0x4c, 0x40, 0x39, 0xbc, 0x07, 0x65, 0xb4, - 0x19, 0x1e, 0x3e, 0x26, 0x72, 0x04, 0x13, 0x79, 0x69, 0xa5, 0x61, 0xf8, 0x1f, 0x73, 0x38, 0x7e, - 0x40, 0xa5, 0x3f, 0x82, 0xff, 0xd5, 0xff, 0x51, 0xe0, 0x32, 0x12, 0x7e, 0xd1, 0xcc, 0x9e, 0xa8, - 0xe4, 0xc8, 0xcc, 0xad, 0xe4, 0xc0, 0x88, 0x0e, 0x37, 0x74, 0xce, 0xb8, 0x70, 0xe5, 0xd7, 0x22, - 0xe8, 0x92, 0x71, 0x3f, 0x32, 0xda, 0x4f, 0x81, 0x58, 0x9e, 0x6e, 0x8c, 0x02, 0xd7, 0x1f, 0x3b, - 0xa6, 0x4c, 0x34, 0x71, 0xbf, 0xe4, 0x8d, 0xb4, 0x44, 0x13, 0x52, 0xda, 0xd6, 0x9a, 0xa3, 0xc0, - 0xed, 0x8e, 0x1d, 0x53, 0xa4, 0x99, 0x6a, 0x96, 0xd7, 0x14, 0x34, 0x44, 0x69, 0x85, 0x05, 0x64, - 0x9b, 0x0e, 0xdc, 0x80, 0x3e, 0x34, 0xec, 0x3e, 0xb5, 0x1e, 0xbb, 0x01, 0xf5, 0xfc, 0xf9, 0xab, - 0xe8, 0x5d, 0xa8, 0x1c, 0x23, 0xb2, 0x7e, 0x8e, 0xd8, 0xa9, 0x09, 0x94, 0xf2, 0x71, 0x84, 0x9e, - 0x7a, 0x04, 0xa5, 0xa8, 0x66, 0xdc, 0x09, 0x29, 0x88, 0x92, 0x08, 0x05, 0x2d, 0xad, 0x78, 0x87, - 0x97, 0x59, 0x30, 0x17, 0x80, 0xb2, 0x4d, 0x2f, 0xa6, 0x69, 0xd2, 0x95, 0x5f, 0xc3, 0xa6, 0x08, - 0x4d, 0x5f, 0xfd, 0xcd, 0x0c, 0x94, 0x45, 0xa9, 0xd1, 0xb8, 0xd3, 0x37, 0x1c, 0xe6, 0x32, 0x9b, - 0x1e, 0xc5, 0xbd, 0x4b, 0x49, 0x77, 0x99, 0x45, 0x33, 0x79, 0x13, 0x56, 0x46, 0x43, 0x0b, 0x31, - 0x53, 0x9d, 0xeb, 0xcd, 0x4c, 0x5d, 0xd1, 0x24, 0x0a, 0xb9, 0x09, 0x10, 0x56, 0x90, 0x84, 0xd1, - 0xe0, 0x04, 0x42, 0x1e, 0xc0, 0x8a, 0x85, 0x22, 0x95, 0x29, 0x59, 0x11, 0x3a, 0x4f, 0xcb, 0x59, - 0x93, 0x88, 0x4c, 0x2b, 0x62, 0x0b, 0x2a, 0x1f, 0xd5, 0x8a, 0xc8, 0x30, 0xb5, 0xd2, 0x71, 0x44, - 0x8e, 0x52, 0x9d, 0x97, 0x23, 0xea, 0xfc, 0x01, 0x54, 0x9a, 0x4f, 0x8c, 0x33, 0x2a, 0x8f, 0x2b, - 0x99, 0xd7, 0x6e, 0x1c, 0x39, 0xae, 0x37, 0x30, 0xfa, 0x71, 0x71, 0x57, 0x25, 0x58, 0xd4, 0xb9, - 0x6c, 0x43, 0x69, 0xcb, 0x75, 0x02, 0xcf, 0xed, 0xb3, 0x6d, 0x83, 0x7c, 0x19, 0xc0, 0x0c, 0xbc, - 0xbe, 0x4e, 0xcf, 0xa9, 0x13, 0x88, 0xfc, 0x95, 0x28, 0xd6, 0x8d, 0xa0, 0x61, 0x31, 0xac, 0x56, - 0x64, 0x98, 0xf8, 0x57, 0xfd, 0xdb, 0x2c, 0x5c, 0x49, 0x2e, 0xa7, 0x9f, 0x9d, 0x52, 0x22, 0x26, - 0x0d, 0x59, 0x33, 0x2b, 0x4f, 0xc8, 0x78, 0x71, 0x69, 0x55, 0x80, 0xe5, 0x11, 0xd9, 0x87, 0xb0, - 0xe1, 0xd1, 0xcf, 0x47, 0xb6, 0x47, 0x75, 0x8b, 0x06, 0x5c, 0x5b, 0xc5, 0x92, 0x45, 0x23, 0x86, - 0x3a, 0x71, 0x59, 0xa0, 0x6c, 0x0b, 0x0c, 0xb1, 0x5a, 0xff, 0x3f, 0x73, 0xb9, 0xb8, 0x26, 0xea, - 0xc3, 0xbe, 0xe1, 0x88, 0xe9, 0x24, 0x13, 0x2f, 0x48, 0x2a, 0xa9, 0x56, 0xf6, 0xa2, 0x2a, 0xfb, - 0x21, 0x54, 0x0d, 0x9c, 0x3c, 0xe9, 0x86, 0x88, 0x1c, 0x92, 0xb0, 0x3c, 0xb1, 0x89, 0xd5, 0x2a, - 0x46, 0x6c, 0x9e, 0xdf, 0x87, 0xb2, 0xc9, 0xe7, 0x05, 0x7d, 0x01, 0x91, 0x54, 0x5a, 0x9b, 0x9a, - 0x31, 0xad, 0x64, 0x4e, 0x1e, 0xd4, 0xbf, 0xcf, 0xc0, 0x7a, 0xd7, 0x34, 0x82, 0x80, 0x19, 0xc9, - 0x85, 0x6b, 0x8e, 0x6e, 0x4d, 0x55, 0xb1, 0xa0, 0x78, 0x26, 0x36, 0xe3, 0x19, 0x0b, 0x4c, 0x23, - 0xe7, 0x1e, 0xb9, 0x39, 0xe7, 0x1e, 0xeb, 0x90, 0x3f, 0xf1, 0xdc, 0xd1, 0x10, 0xe5, 0x5a, 0xd4, - 0xf8, 0xc3, 0xa4, 0xf0, 0x09, 0x9d, 0xb7, 0x65, 0xd4, 0x71, 0xc1, 0x16, 0xf3, 0xda, 0xd0, 0x97, - 0x08, 0xbc, 0xb1, 0xce, 0x2b, 0x03, 0xf8, 0x29, 0x05, 0x20, 0x68, 0x17, 0xcb, 0x03, 0xee, 0x42, - 0xcd, 0x3f, 0xb3, 0x87, 0x7c, 0x91, 0x08, 0xac, 0x02, 0xdf, 0xaf, 0x18, 0x1c, 0x95, 0x1a, 0x31, - 0xd5, 0x73, 0xb8, 0x9c, 0x90, 0xd9, 0x42, 0x1a, 0xfe, 0x36, 0x5c, 0x3a, 0xb6, 0x1d, 0xdb, 0x3f, - 0xa5, 0x96, 0x3e, 0xa4, 0x9e, 0x49, 0x9d, 0x40, 0xd6, 0x56, 0xe7, 0x34, 0x22, 0x9b, 0x3a, 0x61, - 0x8b, 0xba, 0x8d, 0x27, 0x77, 0x3b, 0x5b, 0x5d, 0xe3, 0x98, 0x76, 0x5c, 0xdb, 0x59, 0x68, 0xa7, - 0x52, 0x29, 0x9e, 0xdb, 0xc5, 0xa8, 0x2c, 0xc4, 0x3e, 0xf3, 0xa9, 0x8d, 0x63, 0xaa, 0x0f, 0x19, - 0x0d, 0xc1, 0x75, 0xd1, 0x97, 0x44, 0xd5, 0x63, 0xa8, 0x1f, 0xa2, 0xc5, 0x7c, 0x41, 0x7e, 0x2f, - 0xea, 0xc7, 0x85, 0xab, 0x29, 0xfd, 0x2c, 0x34, 0xa2, 0x57, 0xa1, 0xea, 0xd0, 0x27, 0xfa, 0x54, - 0x6f, 0x65, 0x87, 0x3e, 0x09, 0x69, 0xab, 0x3f, 0x54, 0xe0, 0x16, 0xef, 0x51, 0x1c, 0x4e, 0x7e, - 0x11, 0x03, 0xe4, 0x94, 0xe4, 0xf2, 0x29, 0x6b, 0x45, 0x01, 0x69, 0x5b, 0xa4, 0x06, 0xd9, 0x5e, - 0x6f, 0x17, 0x17, 0x4e, 0x56, 0x63, 0x7f, 0x13, 0x12, 0xc9, 0x25, 0x25, 0xf2, 0x57, 0x0a, 0xdc, - 0x9e, 0xcd, 0xe0, 0xc2, 0x73, 0xfd, 0x5c, 0x2c, 0xbe, 0x0a, 0xd5, 0x81, 0xed, 0xe8, 0x53, 0x6c, - 0x96, 0x07, 0xb6, 0x33, 0x11, 0xe5, 0x09, 0x16, 0xbb, 0x44, 0xd8, 0x7b, 0xfc, 0x60, 0x41, 0xfb, - 0x83, 0xf1, 0xf8, 0xd0, 0x98, 0xf0, 0x57, 0xd1, 0x40, 0x82, 0xda, 0x96, 0x7a, 0x82, 0xd5, 0x30, - 0x89, 0x8e, 0x5e, 0x86, 0xd6, 0x5b, 0xf2, 0x4e, 0xd2, 0x0b, 0x8f, 0x69, 0xde, 0xcd, 0x97, 0x11, - 0x54, 0x43, 0xf2, 0xb8, 0xed, 0x26, 0x25, 0xa0, 0x24, 0x25, 0x70, 0x01, 0xdf, 0xe1, 0x05, 0x90, - 0xec, 0x8c, 0x9b, 0x2e, 0xac, 0x51, 0xfd, 0x43, 0x05, 0x1a, 0x69, 0xa3, 0x5b, 0x48, 0x90, 0x6f, - 0xc2, 0x32, 0xba, 0x16, 0xd2, 0xe7, 0x12, 0xd8, 0xf1, 0x71, 0x69, 0x02, 0x27, 0x26, 0x8d, 0x6c, - 0x42, 0x1a, 0xdf, 0x55, 0xa0, 0x31, 0x65, 0x02, 0x5e, 0x92, 0x26, 0x25, 0xe4, 0x98, 0x4d, 0xce, - 0xff, 0xe7, 0x70, 0x2d, 0x95, 0x95, 0x97, 0x68, 0x8f, 0xfe, 0x29, 0x69, 0x8f, 0x7e, 0x2a, 0x32, - 0x98, 0x58, 0x83, 0x6c, 0xd2, 0x1a, 0xcc, 0x37, 0x4f, 0xcc, 0x58, 0x04, 0x41, 0x1f, 0xf7, 0xee, - 0xac, 0xc6, 0xfe, 0x4e, 0x1b, 0xac, 0x2f, 0x66, 0x99, 0xce, 0x37, 0x58, 0x8c, 0x87, 0x6c, 0xc8, - 0xc3, 0x33, 0x1a, 0xac, 0x36, 0x34, 0x78, 0x2d, 0xf8, 0x0b, 0x6b, 0x9a, 0xda, 0x83, 0x4a, 0x8c, - 0xc8, 0xc5, 0x4b, 0x58, 0x85, 0xca, 0x89, 0x39, 0xad, 0x0d, 0xa5, 0x13, 0x73, 0xc2, 0xe0, 0x9f, - 0x29, 0x70, 0x2d, 0x95, 0xc3, 0x85, 0xa4, 0xf8, 0x55, 0xa8, 0xc6, 0x7a, 0x94, 0x6b, 0x55, 0x0c, - 0x2c, 0xde, 0x45, 0x39, 0xc2, 0xc7, 0xfc, 0x05, 0xfb, 0xfb, 0x0a, 0x80, 0x16, 0x66, 0x14, 0xa6, - 0xd3, 0xb0, 0xca, 0x85, 0x35, 0x26, 0x99, 0x8b, 0x6a, 0x4c, 0xb2, 0x17, 0xd4, 0x98, 0xe4, 0xe2, - 0x69, 0x58, 0xf5, 0xb7, 0x15, 0x58, 0x63, 0x81, 0xf2, 0x0b, 0x38, 0xc1, 0xaf, 0xc2, 0x32, 0x2f, - 0x3a, 0x4b, 0x2d, 0xc0, 0x12, 0x6d, 0x78, 0xd4, 0x85, 0x89, 0x6f, 0x9e, 0xe9, 0xe0, 0x7c, 0xf2, - 0x5c, 0x38, 0xcf, 0x73, 0xbc, 0xc7, 0xd3, 0x3d, 0x3e, 0x4f, 0x06, 0xbe, 0x26, 0xab, 0x14, 0x94, - 0xf4, 0xea, 0x1e, 0x51, 0xa8, 0xf0, 0x25, 0xc8, 0xf3, 0x7a, 0x1d, 0x35, 0x8e, 0x9f, 0x5a, 0xd5, - 0xf0, 0x9d, 0x2c, 0x90, 0xe8, 0x58, 0x17, 0x52, 0x8d, 0x67, 0x3e, 0x90, 0xba, 0x70, 0xc4, 0xe4, - 0xbd, 0x58, 0x52, 0x4a, 0x46, 0xcd, 0xb5, 0x68, 0x7d, 0x2c, 0xe6, 0x49, 0x23, 0x59, 0x28, 0x9f, - 0xbc, 0x07, 0x55, 0xf1, 0x52, 0xbc, 0xf6, 0x2e, 0x3e, 0xe2, 0x0a, 0xc7, 0x11, 0x39, 0x82, 0x68, - 0x85, 0xf7, 0xb2, 0x90, 0xe7, 0x8c, 0x0a, 0x6f, 0xf2, 0x76, 0xac, 0xb6, 0xaa, 0x96, 0xcc, 0x2e, - 0xf9, 0x53, 0xc5, 0x55, 0xef, 0x24, 0x8b, 0xab, 0x78, 0x9e, 0xbd, 0x14, 0x79, 0x27, 0x5e, 0x5b, - 0xa5, 0xfe, 0x32, 0x96, 0x41, 0x1e, 0x0c, 0xa9, 0x67, 0x04, 0xae, 0xf7, 0x85, 0x5f, 0x1f, 0x50, - 0xff, 0x41, 0xc1, 0x7b, 0x33, 0x93, 0x0e, 0x16, 0x9a, 0xe8, 0xb9, 0x37, 0x14, 0x08, 0xe4, 0x2c, - 0xea, 0x9b, 0x62, 0x0f, 0xc0, 0xff, 0x8c, 0x7c, 0x24, 0x3f, 0x55, 0x95, 0xe4, 0x25, 0x1b, 0x22, - 0x36, 0x17, 0x38, 0x58, 0xf7, 0x62, 0x3b, 0xf2, 0xea, 0x2c, 0xfe, 0xc7, 0x83, 0x7d, 0xa6, 0xa0, - 0x7b, 0xc6, 0xd3, 0x5e, 0x77, 0xd1, 0x83, 0xe7, 0x81, 0xf1, 0x54, 0x0f, 0xd3, 0x71, 0x53, 0x77, - 0x2c, 0xf3, 0x03, 0xe3, 0x69, 0x8f, 0x9f, 0x0b, 0xb0, 0x98, 0xcf, 0x3c, 0xa5, 0xe6, 0x99, 0x48, - 0x63, 0x16, 0x19, 0x04, 0x4b, 0x74, 0xd4, 0x3f, 0x10, 0x56, 0x41, 0x30, 0xb2, 0x68, 0x91, 0x3f, - 0x63, 0xa5, 0xef, 0x9a, 0x46, 0x7f, 0x0e, 0x43, 0x30, 0x30, 0x9e, 0x62, 0xc6, 0x55, 0x70, 0x35, - 0x76, 0x4c, 0x6a, 0xe9, 0x96, 0x29, 0x8b, 0x1b, 0x8b, 0x1c, 0xb2, 0x6d, 0xfa, 0xea, 0xaf, 0x2b, - 0x70, 0x29, 0x52, 0xfb, 0xe1, 0x2f, 0x1c, 0x74, 0xe0, 0x91, 0x7b, 0xa4, 0xea, 0xa8, 0x88, 0x10, - 0x3c, 0xab, 0x4c, 0x44, 0xcb, 0xd9, 0x64, 0xb4, 0xcc, 0x7c, 0xc1, 0xf5, 0x38, 0x13, 0x3f, 0x95, - 0x18, 0x38, 0x11, 0xe5, 0x67, 0x13, 0x51, 0x3e, 0xdb, 0xff, 0x6e, 0x20, 0x5b, 0x4d, 0xc7, 0x8a, - 0xc5, 0xe8, 0x2f, 0x45, 0x4a, 0x61, 0x22, 0x22, 0x1b, 0x4d, 0x44, 0x24, 0x64, 0x97, 0x9b, 0x92, - 0xdd, 0x7f, 0x29, 0x70, 0x73, 0x16, 0x93, 0x0b, 0x49, 0xf1, 0x43, 0xb8, 0xca, 0xd9, 0x9c, 0x2d, - 0xcb, 0x0d, 0x44, 0x78, 0x38, 0x2d, 0xd0, 0x8f, 0xe0, 0x9a, 0xcf, 0x79, 0x48, 0x7d, 0x9b, 0xcf, - 0xfc, 0x55, 0x81, 0xf2, 0xf0, 0xa2, 0x09, 0xc9, 0x25, 0x27, 0xe4, 0x14, 0x23, 0xaf, 0xed, 0x2d, - 0x59, 0x3f, 0x1e, 0x2d, 0x38, 0x7e, 0x5e, 0xaf, 0x34, 0x5a, 0x98, 0x9e, 0x99, 0x2a, 0x4c, 0xff, - 0xae, 0x02, 0x57, 0x53, 0xba, 0x5a, 0xf4, 0xca, 0x29, 0xbf, 0x08, 0x8e, 0xfd, 0xe4, 0x35, 0xf1, - 0x14, 0xb1, 0x2b, 0xd9, 0x79, 0x76, 0x45, 0xfd, 0xc7, 0x0c, 0xc0, 0xe4, 0x28, 0x92, 0x54, 0x21, - 0xb3, 0xb3, 0x25, 0xdc, 0x9a, 0xcc, 0xce, 0x16, 0x73, 0x3f, 0x77, 0xa8, 0xf4, 0xdf, 0xd8, 0x5f, - 0x66, 0x06, 0xbb, 0xa6, 0x21, 0xfd, 0x16, 0xfc, 0x4f, 0x6e, 0x43, 0x69, 0xcb, 0x1d, 0x7a, 0xae, - 0x49, 0x7d, 0xdf, 0xf5, 0x84, 0x1e, 0x45, 0x41, 0x8c, 0xcd, 0x6d, 0xda, 0xa7, 0x81, 0x3c, 0x3a, - 0x12, 0x4f, 0xec, 0x4d, 0xfe, 0x0f, 0x6f, 0xb1, 0x88, 0xfc, 0x70, 0x14, 0xc4, 0x38, 0xe8, 0x8c, - 0x64, 0x16, 0x8c, 0xfd, 0x65, 0x0e, 0x5b, 0xc7, 0xa3, 0x78, 0x98, 0x2b, 0x2a, 0x74, 0xc3, 0x67, - 0xf2, 0x15, 0xb8, 0xd2, 0x34, 0x31, 0xd3, 0xd9, 0xa1, 0xbe, 0x6f, 0x0f, 0x6c, 0x3f, 0xb0, 0x99, - 0xe0, 0xcf, 0x44, 0xad, 0xee, 0x8c, 0x56, 0xc6, 0x1f, 0x3f, 0xe7, 0x11, 0x47, 0xef, 0xe2, 0x89, - 0xf5, 0xa5, 0xb9, 0xfd, 0xfe, 0x91, 0x61, 0x9e, 0x89, 0x33, 0xf7, 0xf0, 0x59, 0xfd, 0x4b, 0x05, - 0xd6, 0x45, 0x01, 0x8b, 0xd8, 0x93, 0x17, 0xd1, 0x96, 0x64, 0x09, 0x5f, 0xe6, 0x19, 0x4b, 0xf8, - 0x22, 0x1e, 0x42, 0xf6, 0x82, 0x3b, 0x60, 0x2d, 0xb8, 0x9c, 0xe0, 0x73, 0xd1, 0x4a, 0xab, 0x06, - 0xa7, 0xb3, 0x67, 0x33, 0x67, 0xcc, 0xed, 0x9f, 0x53, 0xab, 0xe7, 0x7f, 0xc1, 0x37, 0x9a, 0xc9, - 0xeb, 0xb0, 0xca, 0xe2, 0x1b, 0x4f, 0x74, 0x20, 0x55, 0x38, 0xa7, 0x55, 0x06, 0xd1, 0x6e, 0xd5, - 0x47, 0x70, 0x2d, 0x95, 0x9b, 0x85, 0xc6, 0x76, 0x0a, 0xd7, 0xba, 0x34, 0x68, 0x3d, 0x0d, 0xa8, - 0xe7, 0x18, 0xfd, 0xc9, 0x2a, 0x59, 0x64, 0x6c, 0xd7, 0xa3, 0x5f, 0x4e, 0x10, 0xfe, 0xff, 0xe4, - 0x43, 0x09, 0xbb, 0x70, 0x3d, 0xbd, 0xa7, 0x85, 0xf8, 0xfe, 0x04, 0x83, 0xa8, 0x2f, 0x84, 0x6f, - 0xf5, 0x5b, 0x70, 0x7d, 0xe7, 0x0b, 0xe3, 0xec, 0x02, 0x29, 0x7c, 0x84, 0x37, 0xe2, 0xf7, 0x6c, - 0x67, 0x31, 0xb7, 0x49, 0x75, 0xf1, 0xf2, 0xb1, 0x78, 0x7f, 0x21, 0xfe, 0xde, 0x4a, 0xf2, 0x37, - 0xf7, 0xfb, 0x16, 0xf7, 0x6e, 0x43, 0x31, 0x4c, 0x32, 0x91, 0x15, 0xc8, 0x76, 0x0e, 0x7b, 0xb5, - 0x25, 0x02, 0xb0, 0xbc, 0xdd, 0xda, 0x6d, 0xf5, 0x5a, 0x35, 0xe5, 0xde, 0xdf, 0x64, 0xa0, 0x18, - 0x7e, 0x88, 0x84, 0x2c, 0x43, 0xe6, 0xe0, 0x51, 0x6d, 0x89, 0x94, 0x60, 0xe5, 0x70, 0xff, 0xd1, - 0xfe, 0xc1, 0xa7, 0xfb, 0x35, 0x85, 0xac, 0x43, 0x6d, 0xff, 0xa0, 0xa7, 0x6f, 0x1e, 0x1c, 0xf4, - 0xba, 0x3d, 0xad, 0xd9, 0xe9, 0xb4, 0xb6, 0x6b, 0x19, 0x72, 0x09, 0x56, 0xbb, 0xbd, 0x03, 0xad, - 0xa5, 0xf7, 0x0e, 0xf6, 0x36, 0xbb, 0xbd, 0x83, 0xfd, 0x56, 0x2d, 0x4b, 0xea, 0xb0, 0xde, 0xdc, - 0xd5, 0x5a, 0xcd, 0xed, 0xcf, 0xe2, 0xe8, 0x39, 0xd6, 0xd2, 0xde, 0xdf, 0x3a, 0xd8, 0xeb, 0x34, - 0x7b, 0xed, 0xcd, 0xdd, 0x96, 0xfe, 0xb8, 0xa5, 0x75, 0xdb, 0x07, 0xfb, 0xb5, 0x3c, 0x23, 0xaf, - 0xb5, 0x76, 0xda, 0x07, 0xfb, 0x3a, 0xeb, 0xe5, 0xe1, 0xc1, 0xe1, 0xfe, 0x76, 0x6d, 0x99, 0x5c, - 0x83, 0x8d, 0x9d, 0xdd, 0x83, 0xcd, 0xe6, 0xae, 0xbe, 0x75, 0xb0, 0xff, 0xb0, 0xbd, 0x13, 0x69, - 0x5c, 0x61, 0xaf, 0x6c, 0x1f, 0x76, 0x76, 0xdb, 0x5b, 0xcd, 0x5e, 0x6b, 0x5b, 0x6f, 0xed, 0xf7, - 0xb4, 0xcf, 0x6a, 0x05, 0xc6, 0x11, 0xfe, 0x8d, 0xa0, 0x16, 0xc9, 0x1a, 0x54, 0xda, 0xfb, 0x8f, - 0x9b, 0xbb, 0xed, 0x6d, 0xfd, 0x71, 0x73, 0xf7, 0xb0, 0x55, 0x03, 0x42, 0xa0, 0xba, 0xdd, 0xec, - 0x35, 0x75, 0xe4, 0x66, 0xab, 0xd7, 0xda, 0xae, 0x95, 0xc8, 0x6b, 0xf0, 0x0a, 0x67, 0xa2, 0x8b, - 0x6f, 0x6f, 0x1d, 0xec, 0xf7, 0x9a, 0xed, 0x7d, 0xbd, 0xb9, 0xbb, 0xab, 0x3f, 0x6a, 0x7d, 0xa6, - 0x6b, 0xcd, 0xfd, 0x9d, 0x56, 0xad, 0x7c, 0xef, 0x21, 0x94, 0x22, 0x37, 0x66, 0x18, 0x1f, 0x42, - 0x4c, 0x7a, 0xf7, 0xf1, 0x96, 0xbe, 0x77, 0xb0, 0xdd, 0xaa, 0x2d, 0x91, 0x55, 0x28, 0x75, 0xb6, - 0x27, 0x00, 0x85, 0xd4, 0xa0, 0xdc, 0xec, 0xb4, 0x27, 0x90, 0xcc, 0xbd, 0xf7, 0xa1, 0x14, 0x29, - 0x52, 0x27, 0x05, 0xc8, 0x75, 0xb7, 0x9a, 0xfb, 0xfc, 0xdd, 0x66, 0xa7, 0xa3, 0x1d, 0x7c, 0xa3, - 0xbd, 0xd7, 0x64, 0xf3, 0xc3, 0xe6, 0xea, 0xb0, 0xdb, 0x7a, 0xd4, 0xfa, 0xac, 0x96, 0xb9, 0xf7, - 0x06, 0xd4, 0x92, 0x47, 0x83, 0xa4, 0x08, 0xf9, 0x4e, 0xf3, 0xb0, 0xdb, 0xe2, 0xd3, 0xaa, 0xb5, - 0xba, 0x87, 0x7b, 0x6c, 0x5a, 0x3b, 0x50, 0x8d, 0x07, 0x04, 0x6c, 0x4a, 0xbb, 0x87, 0x5b, 0x5b, - 0xad, 0x6e, 0x97, 0xcf, 0x6f, 0xaf, 0xbd, 0xd7, 0x3a, 0x38, 0xec, 0xf1, 0x2e, 0xb6, 0x9a, 0xfb, - 0x5b, 0xad, 0xdd, 0x5a, 0x86, 0x35, 0x68, 0xad, 0xce, 0x6e, 0x73, 0x8b, 0xcd, 0x26, 0x7b, 0x38, - 0xdc, 0xdf, 0x6f, 0xef, 0xef, 0xd4, 0x72, 0xf7, 0xfe, 0x4e, 0x81, 0x22, 0x6e, 0xb9, 0x8f, 0x6c, - 0xc7, 0x62, 0xef, 0x1c, 0x04, 0xa7, 0xd4, 0xf3, 0x6b, 0x4b, 0x4c, 0x69, 0x76, 0xb6, 0x6a, 0x0a, - 0xd3, 0xaf, 0x1d, 0x1a, 0xd4, 0x32, 0x38, 0x1c, 0xd3, 0x70, 0x6a, 0x59, 0x36, 0x9c, 0xc8, 0x7e, - 0x5a, 0xcb, 0xa1, 0xea, 0xe1, 0x36, 0x59, 0xcb, 0xb3, 0xc6, 0xc8, 0x96, 0x59, 0x5b, 0x46, 0x05, - 0x1d, 0x05, 0xb5, 0x15, 0x52, 0x9e, 0xec, 0x95, 0xb5, 0x02, 0x69, 0xcc, 0xda, 0x1d, 0x6b, 0x45, - 0xe4, 0x1d, 0xf7, 0xbc, 0x1a, 0xb0, 0xb7, 0xe4, 0x2e, 0x57, 0x2b, 0x3d, 0xf8, 0xd1, 0x75, 0xc8, - 0x74, 0xb6, 0xc9, 0x1e, 0x54, 0xe3, 0xb7, 0xa8, 0xc8, 0xb5, 0xf0, 0xf6, 0xd8, 0xf4, 0x1d, 0xad, - 0xc6, 0xf5, 0xf4, 0x46, 0xbe, 0x16, 0xd5, 0x25, 0xd2, 0x04, 0x98, 0x5c, 0x3b, 0x23, 0x1b, 0xd3, - 0x17, 0xd1, 0x38, 0x99, 0xfa, 0xac, 0x1b, 0x6a, 0xea, 0x12, 0x79, 0x07, 0xb2, 0x3d, 0xdf, 0x25, - 0x22, 0xd8, 0x9d, 0x7c, 0xd7, 0xa7, 0xb1, 0x16, 0x81, 0x48, 0xec, 0xbb, 0xca, 0x3b, 0x0a, 0xf9, - 0x08, 0x8a, 0xe1, 0x47, 0x53, 0x88, 0x38, 0x23, 0x4e, 0x7e, 0xb5, 0xa6, 0xb1, 0x31, 0x05, 0x0f, - 0x7b, 0xdc, 0x83, 0x6a, 0xfc, 0xb3, 0x2b, 0x52, 0x06, 0xa9, 0x9f, 0x74, 0x91, 0x32, 0x48, 0xff, - 0x52, 0x8b, 0xba, 0x44, 0x3e, 0x80, 0x15, 0xf1, 0x69, 0x14, 0x22, 0x8c, 0x55, 0xfc, 0x43, 0x2b, - 0x8d, 0xcb, 0x09, 0x68, 0xf8, 0xa6, 0x0e, 0xeb, 0x69, 0xdf, 0x2d, 0x21, 0xaf, 0xc8, 0x1e, 0x67, - 0x7e, 0x1f, 0xa5, 0xa1, 0xce, 0x43, 0x09, 0x3b, 0xf8, 0x39, 0x28, 0xc8, 0xcf, 0x8a, 0x90, 0xcb, - 0xe1, 0x1c, 0x44, 0xbf, 0xeb, 0xd1, 0xb8, 0x92, 0x04, 0x47, 0x5f, 0x96, 0x9f, 0xe7, 0x90, 0x2f, - 0x27, 0x3e, 0x0a, 0x22, 0x5f, 0x4e, 0x7e, 0xc5, 0x43, 0x5d, 0x22, 0x3b, 0x50, 0x8e, 0x7e, 0xc5, - 0x82, 0x5c, 0x0d, 0xbb, 0x49, 0x7e, 0x57, 0xa3, 0xd1, 0x48, 0x6b, 0x8a, 0x4e, 0x56, 0xfc, 0x7c, - 0x5f, 0x4e, 0x56, 0x6a, 0x11, 0x8d, 0x9c, 0xac, 0xf4, 0x92, 0x00, 0x75, 0x89, 0xf4, 0x60, 0x35, - 0x71, 0x87, 0x84, 0x5c, 0x8f, 0x66, 0x7e, 0xa6, 0x08, 0xde, 0x98, 0xd1, 0x9a, 0xd4, 0xc8, 0xf0, - 0xdb, 0x0c, 0x64, 0x22, 0xd1, 0x58, 0x76, 0xaf, 0xb1, 0x31, 0x05, 0x0f, 0xb9, 0xda, 0x84, 0xca, - 0x0e, 0x0d, 0x3a, 0x1e, 0x3d, 0x5f, 0x9c, 0xc6, 0x43, 0xa4, 0x31, 0xf9, 0x3e, 0x04, 0x69, 0x24, - 0x70, 0x23, 0x1f, 0x8d, 0x98, 0x47, 0x67, 0x1b, 0x4a, 0x91, 0xeb, 0xe7, 0x44, 0x2c, 0xdd, 0xe9, - 0xdb, 0xf6, 0x8d, 0xab, 0x29, 0x2d, 0x21, 0x95, 0x2e, 0xd4, 0x92, 0x37, 0xd9, 0xc9, 0x8d, 0xe8, - 0x9d, 0x8e, 0x69, 0x7a, 0x37, 0x67, 0x35, 0x87, 0x44, 0x3f, 0x82, 0x82, 0xbc, 0x80, 0x21, 0x35, - 0x32, 0x71, 0xf3, 0x43, 0x6a, 0x64, 0xf2, 0x9e, 0x86, 0x9a, 0xfd, 0x9d, 0x8c, 0x42, 0x76, 0xa0, - 0x14, 0xb9, 0xaa, 0x20, 0x87, 0x36, 0x7d, 0x95, 0x42, 0x0e, 0x2d, 0xe5, 0x5e, 0x03, 0x27, 0xf4, - 0x09, 0x54, 0x62, 0xe5, 0xfc, 0x52, 0xd6, 0x69, 0x57, 0x18, 0x1a, 0xd7, 0x52, 0xdb, 0xa2, 0x92, - 0x4a, 0x16, 0xd0, 0x93, 0x1b, 0xd1, 0xfe, 0xa7, 0x29, 0xde, 0x9c, 0xd5, 0x1c, 0x25, 0x9a, 0xbc, - 0x8e, 0x2f, 0x89, 0xce, 0xb8, 0xee, 0x2f, 0x89, 0xce, 0xba, 0xc5, 0xcf, 0x89, 0x26, 0xef, 0xbe, - 0x4b, 0xa2, 0x33, 0xae, 0xe1, 0x4b, 0xa2, 0xb3, 0xae, 0xcc, 0xab, 0x4b, 0x4c, 0x94, 0xb1, 0x9c, - 0x84, 0x14, 0x65, 0x5a, 0x95, 0x88, 0x14, 0x65, 0x6a, 0x35, 0x04, 0xb7, 0x15, 0xf1, 0x63, 0xd7, - 0xc8, 0xe6, 0x36, 0x7d, 0x6a, 0x1e, 0xd9, 0xdc, 0x52, 0x4e, 0xac, 0xd5, 0x25, 0xf2, 0x18, 0xd6, - 0xa6, 0x0e, 0xd7, 0x88, 0x18, 0xd1, 0xac, 0x5a, 0x83, 0xc6, 0xad, 0x99, 0xed, 0x21, 0xdd, 0x33, - 0x59, 0xaa, 0x30, 0x7d, 0x5e, 0x4e, 0x5e, 0x8b, 0xbe, 0x3e, 0xf3, 0xc0, 0xbf, 0xf1, 0xfa, 0x45, - 0x68, 0x09, 0x4d, 0x88, 0x1f, 0xfd, 0xdc, 0x48, 0x1b, 0x78, 0x78, 0xae, 0x14, 0xd1, 0x84, 0xd4, - 0x43, 0x1d, 0x75, 0x89, 0xfc, 0x12, 0x90, 0xe9, 0x83, 0x59, 0x22, 0x86, 0x3e, 0xf3, 0x40, 0xba, - 0x71, 0x7b, 0x36, 0x82, 0x24, 0xfd, 0x8e, 0x42, 0xbe, 0x09, 0x97, 0x52, 0xce, 0x34, 0xc9, 0xed, - 0x19, 0x82, 0x9d, 0x90, 0x7f, 0x65, 0x0e, 0xc6, 0x4c, 0xe1, 0x47, 0xbb, 0x48, 0x13, 0x7e, 0x4a, - 0x3f, 0xaf, 0x5f, 0x84, 0x16, 0x76, 0xf6, 0x4d, 0xf9, 0x25, 0xa9, 0xd4, 0xa1, 0xcc, 0x3e, 0xda, - 0x93, 0x43, 0x99, 0x73, 0xb4, 0x86, 0x16, 0xbf, 0x34, 0x39, 0x57, 0x09, 0xbd, 0xaf, 0xa9, 0x63, - 0x25, 0xe9, 0x7d, 0x4d, 0x9f, 0xc1, 0x88, 0xdd, 0x6b, 0x1b, 0x4a, 0x91, 0xbc, 0x3d, 0x99, 0x38, - 0x6b, 0x89, 0xb3, 0x82, 0xc6, 0xd5, 0x94, 0x96, 0x88, 0x71, 0x2e, 0x86, 0xb9, 0x6b, 0xb9, 0x7f, - 0x25, 0xb3, 0xea, 0x8d, 0x8d, 0x29, 0x78, 0xd4, 0x63, 0x88, 0x26, 0x78, 0xa5, 0xc7, 0x90, 0x92, - 0x79, 0x96, 0x1e, 0x43, 0x5a, 0x3e, 0x58, 0x5d, 0x22, 0x14, 0xae, 0xa4, 0x67, 0x3b, 0xc9, 0x9d, - 0xc8, 0x7b, 0xb3, 0x12, 0xb6, 0x8d, 0x57, 0xe7, 0x23, 0x45, 0xad, 0xc3, 0x54, 0xfa, 0x8f, 0x4c, - 0x96, 0x4e, 0x6a, 0x0a, 0x52, 0x5a, 0x87, 0x99, 0x79, 0x43, 0x4e, 0x77, 0xea, 0xf3, 0xaa, 0x92, - 0xee, 0xac, 0xcf, 0xbc, 0x4a, 0xba, 0x33, 0xbf, 0xcb, 0xca, 0x0d, 0x41, 0xf2, 0x23, 0xa9, 0xd2, - 0x10, 0xcc, 0xf8, 0x1c, 0xab, 0x34, 0x04, 0xb3, 0xbe, 0xad, 0xaa, 0x2e, 0x91, 0x6f, 0xc0, 0xda, - 0xd4, 0x37, 0x71, 0x25, 0xb3, 0xb3, 0x3e, 0xc3, 0xdb, 0xb8, 0x35, 0xb3, 0x3d, 0x62, 0x05, 0x76, - 0xa1, 0x12, 0x4b, 0x77, 0xc9, 0x7d, 0x21, 0x2d, 0x57, 0x27, 0xf7, 0x85, 0xd4, 0xfc, 0x18, 0x53, - 0x72, 0xb6, 0x10, 0xa7, 0xd3, 0x4c, 0x5d, 0xb9, 0x10, 0x67, 0xe7, 0xc3, 0xe4, 0x42, 0x9c, 0x93, - 0xa3, 0xe2, 0x7e, 0x7c, 0x5a, 0x36, 0x48, 0xfa, 0xf1, 0x73, 0x72, 0x52, 0xd2, 0x8f, 0x9f, 0x97, - 0x4c, 0xe2, 0x1d, 0xec, 0xcc, 0xe9, 0x60, 0xe7, 0xe2, 0x0e, 0x76, 0xe6, 0x77, 0xc0, 0x03, 0x05, - 0xcc, 0xc4, 0x44, 0x02, 0x85, 0x68, 0x66, 0x27, 0x12, 0x28, 0xc4, 0x12, 0x36, 0xea, 0xd2, 0xe6, - 0xeb, 0x3f, 0xfa, 0xeb, 0x82, 0xf2, 0x2f, 0x3f, 0xb9, 0xa9, 0xfc, 0xeb, 0x4f, 0x6e, 0x2a, 0x3f, - 0xfe, 0xc9, 0x4d, 0xe5, 0x07, 0xff, 0x71, 0x73, 0x09, 0x6a, 0xae, 0x77, 0x72, 0x3f, 0xb0, 0xcf, - 0xce, 0xef, 0x9f, 0x9d, 0xe3, 0xa7, 0x99, 0x8f, 0x96, 0xf1, 0xe7, 0xbd, 0xff, 0x0b, 0x00, 0x00, - 0xff, 0xff, 0xcf, 0x00, 0xfe, 0x30, 0x28, 0x5a, 0x00, 0x00, + // 6481 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x3c, 0x4b, 0x70, 0x23, 0x49, + 0x56, 0x2e, 0x7d, 0x6c, 0xe9, 0xe9, 0x63, 0x39, 0xed, 0x6e, 0xab, 0xd5, 0x9f, 0xf1, 0x54, 0xcf, + 0x0c, 0x3d, 0xbd, 0x33, 0x3d, 0x33, 0x9e, 0xd9, 0x65, 0x76, 0x60, 0x27, 0x56, 0xb6, 0xd5, 0x1e, + 0x4d, 0xfb, 0x23, 0x4a, 0x72, 0xcf, 0x0e, 0x6c, 0x50, 0x51, 0xae, 0x4a, 0xdb, 0xb5, 0x96, 0xaa, + 0x34, 0x55, 0x25, 0x77, 0x6b, 0x83, 0x03, 0xbf, 0x65, 0xd9, 0x60, 0x09, 0x88, 0xe0, 0xb7, 0x5c, + 0xf6, 0xb0, 0x6c, 0x00, 0x11, 0xc0, 0x85, 0x03, 0xc1, 0x8d, 0x1b, 0xc1, 0x91, 0x23, 0xc1, 0x81, + 0xd8, 0x58, 0xb8, 0x10, 0xc1, 0x99, 0x0b, 0x1c, 0x88, 0xfc, 0x95, 0xb2, 0x4a, 0x25, 0xd9, 0x5d, + 0x3d, 0xbd, 0xb1, 0xc1, 0x49, 0xaa, 0x97, 0x2f, 0x5f, 0xbe, 0x7c, 0xf9, 0x32, 0xf3, 0xbd, 0x97, + 0x2f, 0x13, 0x60, 0x68, 0x0d, 0x8f, 0x1f, 0x0c, 0x3d, 0x37, 0x70, 0x51, 0x8e, 0xfc, 0x6f, 0x94, + 0x07, 0x38, 0x30, 0x04, 0xac, 0x51, 0xc1, 0x9e, 0x71, 0x12, 0x84, 0x9f, 0xab, 0xe4, 0x4b, 0xf7, + 0xb1, 0x77, 0x81, 0xbd, 0x10, 0x58, 0xf7, 0xf0, 0xb0, 0x6f, 0x9b, 0x46, 0x60, 0xbb, 0x8e, 0x3e, + 0x70, 0x2d, 0x1c, 0x96, 0xac, 0x9d, 0xba, 0xa7, 0x2e, 0xfd, 0xfb, 0x16, 0xf9, 0xc7, 0xa1, 0xcb, + 0xde, 0xc8, 0x0f, 0xe8, 0x5f, 0x06, 0x50, 0x3f, 0x81, 0xfa, 0x27, 0x46, 0x60, 0x9e, 0xed, 0xf6, + 0xdd, 0x63, 0xa3, 0xbf, 0xed, 0x3a, 0x27, 0xf6, 0xa9, 0x86, 0x3f, 0x1b, 0x61, 0x3f, 0x40, 0x2f, + 0x41, 0xc9, 0xa4, 0x00, 0x7d, 0x68, 0x04, 0x67, 0x75, 0x65, 0x43, 0xb9, 0x57, 0xd4, 0x80, 0x81, + 0x3a, 0x46, 0x70, 0x86, 0x1a, 0x50, 0xf0, 0xf0, 0x85, 0xed, 0xdb, 0xae, 0x53, 0xcf, 0x6c, 0x28, + 0xf7, 0xb2, 0x5a, 0xf8, 0xad, 0xfe, 0x89, 0x02, 0x37, 0x12, 0x28, 0xfb, 0x43, 0xd7, 0xf1, 0x31, + 0x7a, 0x1b, 0x96, 0xcc, 0x33, 0xc3, 0x39, 0xc5, 0x7e, 0x5d, 0xd9, 0xc8, 0xde, 0x2b, 0x6d, 0x5e, + 0x7f, 0x40, 0xa5, 0x21, 0x23, 0xb7, 0x03, 0x3c, 0xd0, 0x04, 0xda, 0xbc, 0xb6, 0xd0, 0x1b, 0xb0, + 0x78, 0x86, 0x0d, 0x0b, 0x7b, 0xf5, 0xec, 0x86, 0x72, 0xaf, 0xb4, 0xb9, 0xc6, 0x88, 0x89, 0xd6, + 0x3e, 0xa2, 0x65, 0x1a, 0xc7, 0x51, 0x07, 0x50, 0xef, 0x06, 0xae, 0x87, 0x93, 0xba, 0xfc, 0xec, + 0x7c, 0xc5, 0x84, 0x94, 0x89, 0x0b, 0x49, 0xfd, 0x10, 0x6e, 0x24, 0x34, 0xc7, 0xe5, 0xf0, 0x32, + 0xe4, 0xb1, 0xe7, 0xb9, 0x1e, 0x15, 0x6e, 0x69, 0xb3, 0xc4, 0x5a, 0x6b, 0x11, 0x90, 0xc6, 0x4a, + 0xd4, 0x0e, 0xac, 0xef, 0xb9, 0x86, 0x95, 0xc4, 0xed, 0x1a, 0xe4, 0x1d, 0x63, 0xc0, 0x79, 0x2d, + 0x6a, 0xec, 0xe3, 0x72, 0x8e, 0x2c, 0xa8, 0x4f, 0x53, 0xe4, 0x0c, 0xbd, 0x01, 0x79, 0x3b, 0xc0, + 0x83, 0xcb, 0xba, 0xcf, 0x90, 0xe6, 0x2a, 0xc0, 0xf7, 0x15, 0xa8, 0xc5, 0xeb, 0x21, 0x04, 0x39, + 0xc2, 0x24, 0xd7, 0x25, 0xfa, 0x9f, 0xf4, 0xe2, 0xc2, 0xe8, 0x8f, 0x30, 0xe7, 0x94, 0x7d, 0x4c, + 0x24, 0x93, 0x9d, 0x25, 0x19, 0x74, 0x17, 0x72, 0xe7, 0xb6, 0x63, 0xd5, 0x73, 0x1b, 0xca, 0xbd, + 0xea, 0xe6, 0x32, 0xc7, 0xb8, 0xc0, 0x4e, 0xd0, 0x1b, 0x0f, 0xb1, 0x46, 0x0b, 0x51, 0x1d, 0x96, + 0x86, 0xc6, 0xb8, 0xef, 0x1a, 0x56, 0x3d, 0xbf, 0xa1, 0xdc, 0x2b, 0x6b, 0xe2, 0x53, 0x7d, 0x04, + 0x15, 0x2e, 0x48, 0xa6, 0x20, 0xe8, 0x36, 0x80, 0xd9, 0x1f, 0xf9, 0x01, 0xf6, 0x74, 0xdb, 0xa2, + 0x2c, 0xe6, 0xb4, 0x22, 0x87, 0xb4, 0x2d, 0x74, 0x13, 0x8a, 0x3e, 0x76, 0x2c, 0x56, 0x9a, 0xa1, + 0xa5, 0x05, 0x06, 0x68, 0x5b, 0xaa, 0x06, 0xd5, 0xa8, 0xba, 0x5d, 0x46, 0x2d, 0xec, 0x5f, 0x66, + 0xe6, 0xc8, 0x3f, 0x84, 0x7c, 0x4b, 0x74, 0x34, 0x18, 0x0f, 0x99, 0xd4, 0x26, 0x1d, 0x25, 0x45, + 0xac, 0xa3, 0xa4, 0x90, 0x74, 0x74, 0x80, 0x7d, 0xdf, 0x38, 0x15, 0x82, 0x14, 0x9f, 0xea, 0x10, + 0xa0, 0xe7, 0xbb, 0x42, 0x69, 0xbe, 0x10, 0x4e, 0x16, 0xa6, 0x73, 0xab, 0x62, 0xb2, 0x48, 0xa2, + 0x10, 0x73, 0x85, 0x8c, 0x8d, 0xe9, 0x8e, 0x9c, 0x80, 0x92, 0xac, 0x68, 0xec, 0x83, 0x68, 0x98, + 0x65, 0xea, 0x7d, 0x97, 0xad, 0x3b, 0x74, 0x84, 0x8a, 0x1a, 0x58, 0xe6, 0x1e, 0x87, 0xa8, 0xc7, + 0x50, 0xec, 0xd9, 0x03, 0xec, 0x07, 0xc6, 0x60, 0x48, 0x94, 0x64, 0x78, 0x36, 0xf6, 0x6d, 0xd3, + 0xe8, 0xd3, 0x26, 0xb3, 0x5a, 0xf8, 0x4d, 0x98, 0xee, 0xbb, 0xa7, 0xb4, 0x88, 0xe9, 0x8f, 0xf8, + 0x24, 0x6d, 0xf8, 0xa3, 0x93, 0x13, 0xfb, 0xa9, 0x7e, 0x6c, 0x07, 0x3e, 0x6d, 0xa3, 0xa2, 0x01, + 0x03, 0x6d, 0xd9, 0x81, 0xaf, 0xfe, 0xaa, 0x02, 0x25, 0xda, 0xad, 0x50, 0x73, 0xa3, 0xfd, 0x9a, + 0xbb, 0x08, 0xcc, 0xe8, 0xd8, 0x9b, 0x50, 0x0c, 0x04, 0xdf, 0x5c, 0xf1, 0xb8, 0xb4, 0xc3, 0xee, + 0x68, 0x13, 0x0c, 0xf5, 0xbb, 0x0a, 0xd4, 0xb6, 0x5c, 0x37, 0xf0, 0x03, 0xcf, 0x18, 0xa6, 0x92, + 0xef, 0x5d, 0xc8, 0xfb, 0x64, 0x71, 0xe0, 0x5a, 0x50, 0x79, 0xc0, 0x77, 0x00, 0xba, 0x62, 0x68, + 0xac, 0x0c, 0xbd, 0x06, 0x8b, 0x1e, 0x3e, 0x15, 0x92, 0x2e, 0x6d, 0x56, 0x05, 0x96, 0x46, 0xa1, + 0x1a, 0x2f, 0x25, 0x4b, 0xee, 0x8a, 0xc4, 0x4e, 0x2a, 0xb9, 0xf4, 0x00, 0xc9, 0x5b, 0x8a, 0x1f, + 0x18, 0xc1, 0xc8, 0xe7, 0xdc, 0xbd, 0xfa, 0x20, 0x61, 0xb7, 0xd1, 0x26, 0xa0, 0x2e, 0x45, 0xd6, + 0x56, 0xbc, 0x38, 0x48, 0xdd, 0x81, 0x6b, 0x6d, 0x3f, 0x64, 0x6d, 0x88, 0xad, 0x34, 0xc2, 0x52, + 0xbf, 0x01, 0xd7, 0xe3, 0x54, 0x52, 0xf5, 0x51, 0x85, 0xf2, 0xb1, 0x44, 0x85, 0xf6, 0xae, 0xa0, + 0x45, 0x60, 0xea, 0x57, 0xa0, 0xda, 0xec, 0xf7, 0x5d, 0xb3, 0xbd, 0x93, 0x8a, 0xd5, 0x43, 0x58, + 0x0e, 0xab, 0xa7, 0xe2, 0xb1, 0x0a, 0x99, 0x70, 0x95, 0xc9, 0xd8, 0x96, 0xfa, 0x31, 0xdc, 0x6c, + 0xfb, 0x5d, 0xc7, 0x18, 0xfa, 0x67, 0x6e, 0xa0, 0x61, 0xd3, 0xbd, 0xc0, 0x9e, 0xed, 0x9c, 0xa6, + 0x62, 0xce, 0x82, 0x5b, 0xc9, 0xb4, 0x52, 0x71, 0x7a, 0x1d, 0x16, 0x07, 0x86, 0x77, 0x1e, 0xca, + 0x91, 0x7f, 0xa9, 0x9f, 0xc2, 0xf2, 0x2e, 0x0e, 0x98, 0x22, 0xa7, 0x99, 0x1a, 0x37, 0xa0, 0x40, + 0xd5, 0x7f, 0xb2, 0xda, 0x2e, 0xd1, 0xef, 0xb6, 0xa5, 0xfe, 0x2e, 0xd9, 0x5a, 0x42, 0xda, 0xa9, + 0xb8, 0xbe, 0xe2, 0xc4, 0xcb, 0x93, 0x09, 0xe0, 0xf3, 0x79, 0x57, 0x63, 0x14, 0x29, 0x0a, 0x51, + 0x6c, 0x5f, 0x63, 0xc5, 0xaa, 0x09, 0xcb, 0x9d, 0xd1, 0x73, 0x74, 0xf5, 0x2a, 0xcc, 0xa8, 0x7f, + 0xac, 0x40, 0x6d, 0xd2, 0xca, 0x4f, 0xd1, 0xe4, 0xfe, 0x15, 0x58, 0xdd, 0xc5, 0x41, 0xb3, 0xdf, + 0xa7, 0xac, 0xf9, 0xa9, 0x24, 0xf0, 0x3e, 0xd4, 0xf1, 0x53, 0xb3, 0x3f, 0xb2, 0xb0, 0x1e, 0xb8, + 0x83, 0x63, 0x3f, 0x70, 0x1d, 0xac, 0xd3, 0x7e, 0xfb, 0x5c, 0xad, 0xae, 0xf3, 0xf2, 0x9e, 0x28, + 0x66, 0xad, 0xa9, 0xe7, 0xb0, 0x16, 0x6d, 0x3d, 0x95, 0x64, 0x5e, 0x85, 0xc5, 0xb0, 0xb5, 0xec, + 0xf4, 0x10, 0xf0, 0x42, 0xf5, 0xd7, 0x98, 0xe2, 0xf1, 0x75, 0x37, 0x4d, 0x47, 0x6f, 0x03, 0xb0, + 0xd5, 0x5a, 0x3f, 0xc7, 0x63, 0xda, 0xb5, 0xb2, 0x56, 0x64, 0x90, 0x47, 0x78, 0x8c, 0x5e, 0x86, + 0xb2, 0x83, 0xb1, 0xa5, 0x1f, 0x8f, 0xcc, 0x73, 0xcc, 0x15, 0xaf, 0xa0, 0x95, 0x08, 0x6c, 0x8b, + 0x81, 0xd4, 0x3f, 0xcb, 0xc0, 0x8a, 0xc4, 0x43, 0xaa, 0xee, 0x4e, 0x76, 0x94, 0xcc, 0xbc, 0x1d, + 0x05, 0xbd, 0x02, 0x8b, 0x7d, 0xd9, 0xb0, 0x2e, 0x0b, 0xbc, 0x0e, 0x26, 0xd4, 0x58, 0x19, 0x7a, + 0x00, 0x60, 0xb9, 0x4f, 0x1c, 0x7d, 0x88, 0xb1, 0xe7, 0xd7, 0xf3, 0x54, 0x80, 0x7c, 0xdb, 0x24, + 0x78, 0x6c, 0xaa, 0x14, 0x09, 0x0a, 0xf9, 0xf4, 0xd1, 0x3b, 0x50, 0x19, 0x62, 0xc7, 0xb2, 0x9d, + 0x53, 0x5e, 0x65, 0x91, 0x56, 0x89, 0x12, 0x2f, 0x73, 0x14, 0x56, 0xe5, 0x75, 0x58, 0x12, 0x22, + 0x59, 0xe2, 0xdb, 0x32, 0x47, 0xe6, 0x62, 0xd1, 0x44, 0xf9, 0xc7, 0xb9, 0x42, 0xae, 0x96, 0x57, + 0x7f, 0x43, 0xa1, 0x7a, 0xc1, 0xfa, 0xb3, 0x35, 0x4e, 0xb7, 0x8c, 0x13, 0x93, 0x8f, 0x8f, 0xd6, + 0xc4, 0xe4, 0x63, 0x00, 0x6a, 0xc1, 0x5d, 0x3a, 0x56, 0x3f, 0x54, 0x00, 0xfd, 0xc2, 0x08, 0x7b, + 0xe3, 0xe7, 0xd0, 0x98, 0x78, 0x33, 0x99, 0xa9, 0x66, 0x88, 0xad, 0x34, 0x51, 0x2a, 0xc2, 0x48, + 0xf6, 0x5e, 0x59, 0x83, 0x50, 0xab, 0x7c, 0x49, 0xeb, 0x6c, 0xcb, 0xaf, 0xe7, 0x36, 0xb2, 0xc4, + 0x16, 0x15, 0x1d, 0xf1, 0xd5, 0x6f, 0x67, 0x60, 0x35, 0xc2, 0x66, 0x2a, 0xa5, 0xba, 0x05, 0x70, + 0x8e, 0xc7, 0xba, 0x6d, 0xe9, 0x03, 0x63, 0x48, 0xe7, 0x51, 0x4e, 0x2b, 0x9c, 0xe3, 0x71, 0xdb, + 0xda, 0x37, 0x86, 0xe8, 0x00, 0x2a, 0xac, 0x41, 0x5f, 0x3f, 0x26, 0x48, 0x94, 0xcb, 0xd2, 0xe6, + 0x7d, 0x46, 0x32, 0xa1, 0x75, 0xae, 0x8b, 0xfe, 0xd6, 0xb8, 0x6d, 0xb5, 0x9c, 0xc0, 0x1b, 0x6b, + 0xbc, 0x93, 0x14, 0xd2, 0xe8, 0x41, 0x2d, 0x8e, 0x80, 0x6a, 0x90, 0x25, 0xb3, 0x8a, 0xd9, 0xda, + 0xe4, 0x2f, 0xba, 0x2f, 0xfb, 0x16, 0x52, 0x07, 0xe4, 0x86, 0xb8, 0xc7, 0xf1, 0x41, 0xe6, 0x7d, + 0x45, 0xfd, 0x2f, 0x85, 0xd8, 0xf1, 0x11, 0x21, 0x4c, 0xe6, 0x8a, 0x72, 0xc5, 0xb9, 0x92, 0xb9, + 0xf2, 0x5c, 0xc9, 0x3e, 0xfb, 0x5c, 0xc9, 0x3d, 0xcb, 0x5c, 0xc9, 0xcf, 0x9f, 0x2b, 0x64, 0x23, + 0x45, 0x5d, 0xd3, 0x70, 0xb8, 0x24, 0xd3, 0xce, 0x11, 0x3f, 0x30, 0xbc, 0x40, 0x5a, 0xd0, 0x0a, + 0x14, 0x40, 0xd6, 0xb3, 0x35, 0xc8, 0xf7, 0xed, 0x81, 0x1d, 0xd0, 0xc9, 0x91, 0xd7, 0xd8, 0x07, + 0x5a, 0x87, 0x25, 0xec, 0x58, 0xb4, 0x42, 0x8e, 0x56, 0x58, 0xc4, 0x8e, 0xf5, 0x08, 0x8f, 0xd5, + 0xff, 0x50, 0x60, 0x91, 0xf1, 0xf2, 0xff, 0x5a, 0xec, 0xff, 0xa8, 0xc0, 0x6a, 0x44, 0xec, 0xa9, + 0xe6, 0xdb, 0x3b, 0x50, 0xe6, 0x93, 0x9a, 0xb4, 0x23, 0x76, 0xae, 0xb8, 0x9c, 0xf8, 0xa4, 0xd9, + 0x27, 0x28, 0xe8, 0x35, 0x58, 0x62, 0x02, 0x11, 0x32, 0x88, 0x76, 0x48, 0x14, 0x12, 0x3c, 0x3e, + 0xd7, 0xc2, 0x8e, 0xcb, 0x13, 0x47, 0x14, 0xaa, 0x5f, 0x85, 0xc2, 0x23, 0x3c, 0xd6, 0x0c, 0xe7, + 0x14, 0x47, 0xf5, 0x40, 0x89, 0xe9, 0x81, 0x34, 0xe2, 0x99, 0xc8, 0x88, 0xff, 0xab, 0x02, 0xeb, + 0x5b, 0x46, 0x60, 0x9e, 0x3d, 0xaf, 0x1a, 0x5e, 0x61, 0x99, 0x24, 0x2a, 0xc5, 0x62, 0x3b, 0x59, + 0x2e, 0x2a, 0x4a, 0x4f, 0xf4, 0x40, 0xe3, 0xa5, 0x13, 0xa5, 0xcd, 0xc9, 0x4a, 0xfb, 0x0e, 0x5c, + 0x33, 0x5d, 0x27, 0x30, 0x6c, 0x47, 0x37, 0xfa, 0x7d, 0xd2, 0x15, 0x9d, 0xe2, 0xd3, 0xd1, 0x2e, + 0x68, 0x88, 0x17, 0x36, 0xfb, 0x7d, 0x41, 0x50, 0x1d, 0x42, 0x7d, 0xba, 0x6f, 0x29, 0x37, 0xec, + 0x70, 0x40, 0x32, 0xf3, 0x06, 0xe4, 0x21, 0xac, 0xef, 0xe2, 0x60, 0x9b, 0x45, 0x19, 0xa2, 0xc1, + 0xa2, 0x67, 0x72, 0x11, 0x7c, 0xa8, 0x4f, 0xd3, 0x49, 0xc5, 0xf9, 0xeb, 0xb0, 0xc4, 0x83, 0x1e, + 0x7c, 0x82, 0x86, 0xd3, 0x82, 0x53, 0xd7, 0x44, 0xb9, 0xfa, 0x19, 0xac, 0x77, 0x46, 0xcf, 0xcf, + 0xfc, 0xb3, 0x34, 0xf9, 0x11, 0xd4, 0xa7, 0x9b, 0x4c, 0xd3, 0x4f, 0xf5, 0x87, 0x19, 0x58, 0xdc, + 0xc7, 0x83, 0x63, 0xec, 0x25, 0x06, 0xb9, 0x6e, 0x42, 0x71, 0x40, 0x4b, 0x25, 0x4b, 0x82, 0x01, + 0x58, 0x64, 0x89, 0xac, 0x32, 0xfa, 0xc8, 0xeb, 0x33, 0xdd, 0x2c, 0x6a, 0x05, 0x02, 0x38, 0xf2, + 0xfa, 0x2c, 0x9c, 0xd7, 0xb7, 0xb1, 0x13, 0xb0, 0xe2, 0x1c, 0x2d, 0x06, 0x06, 0xa2, 0x08, 0x3f, + 0x03, 0xcb, 0x6c, 0xde, 0xea, 0x43, 0xcf, 0x76, 0x3d, 0x3b, 0x18, 0x53, 0x95, 0xcc, 0x6b, 0x55, + 0x06, 0xee, 0x70, 0x28, 0x0d, 0xdb, 0xe0, 0x61, 0xdf, 0x1d, 0xb3, 0xc0, 0xe0, 0x22, 0x0f, 0xdb, + 0x50, 0x10, 0x8d, 0xe7, 0xbe, 0x0a, 0xd5, 0x63, 0xdb, 0x31, 0xbc, 0xb1, 0x7e, 0x81, 0x3d, 0x1a, + 0xd4, 0x5b, 0xa2, 0x38, 0x15, 0x06, 0x7d, 0xcc, 0x80, 0xc4, 0x33, 0x3b, 0xb5, 0x03, 0xfd, 0xcc, + 0xf0, 0xcf, 0xea, 0x05, 0x16, 0x6a, 0x3a, 0xb5, 0x83, 0x8f, 0x0c, 0xff, 0x2c, 0x1e, 0x19, 0x2a, + 0x4e, 0x45, 0x86, 0xbe, 0x4a, 0x8d, 0x57, 0x26, 0xa8, 0x54, 0x13, 0x5d, 0xfd, 0xdf, 0x0c, 0x20, + 0x99, 0x44, 0xda, 0xf9, 0xc4, 0xa4, 0x1f, 0x9b, 0x4f, 0x8c, 0xaa, 0x26, 0x0a, 0x13, 0x0c, 0x60, + 0x19, 0x4d, 0xec, 0x2e, 0x6f, 0x42, 0x09, 0x07, 0xa6, 0xa5, 0x73, 0xd4, 0x5c, 0x02, 0x2a, 0x10, + 0x84, 0x3d, 0x86, 0x8e, 0xe1, 0x5a, 0xe0, 0xbb, 0x64, 0x15, 0x21, 0x52, 0x71, 0x3d, 0x5d, 0xac, + 0xc9, 0xcc, 0x74, 0x7e, 0x87, 0xc7, 0x5c, 0xa7, 0xfa, 0xf8, 0xa0, 0xe7, 0xbb, 0x4d, 0x51, 0x89, + 0xd1, 0xf2, 0x99, 0x65, 0xb4, 0x1a, 0x4c, 0x97, 0x34, 0x7a, 0x50, 0x9f, 0x55, 0x41, 0xb6, 0x94, + 0x8a, 0xcc, 0x52, 0x52, 0xa3, 0x96, 0x52, 0x94, 0x7b, 0xc9, 0x42, 0x6a, 0xc1, 0xb5, 0xc9, 0xca, + 0xd0, 0x76, 0x4e, 0xc2, 0xb8, 0xe2, 0xb3, 0x4d, 0x97, 0xef, 0x29, 0x70, 0x3d, 0x4e, 0x27, 0xd5, + 0x48, 0x7e, 0x11, 0xca, 0x3e, 0xf6, 0x2e, 0x6c, 0x13, 0xef, 0xbb, 0x16, 0xf7, 0xdf, 0xaa, 0x9b, + 0x2b, 0xdc, 0x55, 0x9f, 0x94, 0x68, 0x11, 0x34, 0xa2, 0xc3, 0x64, 0x0c, 0xa4, 0x19, 0xb7, 0x14, + 0xf8, 0x2e, 0x99, 0x4f, 0x6a, 0x07, 0x8a, 0xa1, 0x4d, 0x80, 0x36, 0x20, 0x47, 0x66, 0x22, 0x67, + 0x25, 0xba, 0x5d, 0xd2, 0x12, 0xb2, 0xf1, 0x50, 0xd3, 0xc2, 0xc7, 0xa6, 0xeb, 0x58, 0x3e, 0x9f, + 0xdc, 0x25, 0x02, 0xeb, 0x32, 0x90, 0xfa, 0xdf, 0x79, 0xb8, 0xce, 0x56, 0xea, 0x8f, 0xb0, 0xe1, + 0x05, 0xc7, 0xd8, 0x08, 0x52, 0x2d, 0x6c, 0x2f, 0xd2, 0x6d, 0xcb, 0x3d, 0xbb, 0x4d, 0x94, 0xbf, + 0xd4, 0x26, 0xba, 0x0b, 0x95, 0xe3, 0x71, 0x80, 0x7d, 0xfd, 0x89, 0x67, 0x07, 0x01, 0x76, 0xe8, + 0x9a, 0x93, 0xd3, 0xca, 0x14, 0xf8, 0x09, 0x83, 0x11, 0xe7, 0x84, 0x21, 0x79, 0xd8, 0xb0, 0xe8, + 0x8a, 0x93, 0xd3, 0x8a, 0x14, 0xa2, 0x61, 0x83, 0xba, 0x59, 0xc4, 0xab, 0x09, 0x49, 0x14, 0x98, + 0x7c, 0x09, 0x4c, 0x50, 0xb8, 0x09, 0x45, 0x8a, 0x42, 0x09, 0x14, 0xd9, 0xe2, 0x4a, 0x00, 0xb4, + 0xfe, 0xeb, 0x50, 0x33, 0x86, 0x43, 0xcf, 0x7d, 0x6a, 0x0f, 0x8c, 0x00, 0xeb, 0xbe, 0xfd, 0x4d, + 0x5c, 0x07, 0x8a, 0xb3, 0x2c, 0xc1, 0xbb, 0xf6, 0x37, 0x31, 0x7a, 0x00, 0x05, 0xdb, 0x09, 0xb0, + 0x77, 0x61, 0xf4, 0xeb, 0x65, 0x2a, 0x39, 0x34, 0x89, 0xfe, 0xb6, 0x79, 0x89, 0x16, 0xe2, 0xc4, + 0x49, 0x53, 0xe7, 0xab, 0x32, 0x45, 0x9a, 0x7a, 0x60, 0x08, 0x72, 0x01, 0xf6, 0x06, 0xf5, 0x2a, + 0x2d, 0xa6, 0xff, 0xd1, 0x2f, 0x26, 0x86, 0x63, 0x96, 0x69, 0xc3, 0x5f, 0x48, 0x0e, 0xc7, 0x30, + 0xcf, 0xe4, 0xf2, 0xa0, 0x0c, 0x7a, 0x07, 0x4a, 0x9f, 0x11, 0x9f, 0x4a, 0x67, 0x01, 0xac, 0x9a, + 0x1c, 0xc0, 0xa2, 0xce, 0x16, 0x1b, 0x5e, 0xf8, 0x2c, 0xfc, 0x4f, 0xa4, 0x68, 0x0e, 0x47, 0xfa, + 0x88, 0x1e, 0x21, 0xac, 0x30, 0x29, 0x9a, 0xc3, 0xd1, 0x11, 0xf9, 0x46, 0x0f, 0x60, 0x35, 0xd2, + 0xd5, 0x0b, 0x26, 0x48, 0x44, 0xd1, 0x56, 0xe4, 0xde, 0x5e, 0x10, 0x51, 0x7e, 0x9c, 0x2b, 0x94, + 0x6a, 0x65, 0xf5, 0x0c, 0x60, 0x9b, 0x9e, 0x93, 0x11, 0x75, 0xb8, 0xc2, 0x5c, 0x7a, 0x1f, 0x4a, + 0xec, 0x5c, 0x4d, 0xa7, 0xe7, 0x1d, 0x19, 0x7a, 0xde, 0xb1, 0xfe, 0x40, 0x1c, 0x84, 0x92, 0x0d, + 0x9a, 0xd1, 0xa3, 0xe7, 0x1e, 0x60, 0x86, 0xff, 0xd5, 0x0f, 0xa0, 0x3c, 0x69, 0xe9, 0xf1, 0x26, + 0xba, 0x1f, 0x3f, 0xc8, 0xe3, 0x7d, 0x9f, 0x20, 0x85, 0x47, 0x78, 0xea, 0x63, 0xa8, 0xf6, 0x3c, + 0xc3, 0xf1, 0x4f, 0x30, 0x5f, 0x24, 0xaf, 0xc0, 0xa9, 0x0a, 0x79, 0x36, 0x09, 0x32, 0x09, 0x93, + 0x80, 0x15, 0xa9, 0x6f, 0x41, 0x7e, 0x1f, 0x7b, 0xa7, 0xd4, 0x85, 0x0c, 0x0c, 0xef, 0x14, 0x07, + 0xb3, 0x7c, 0x19, 0x56, 0xaa, 0xee, 0x41, 0xa9, 0x3b, 0xec, 0xdb, 0x3c, 0x6a, 0x81, 0x5e, 0x87, + 0xc5, 0xa1, 0xdb, 0xb7, 0xcd, 0x31, 0x3f, 0xf8, 0x59, 0x11, 0x5d, 0xc0, 0xe6, 0x79, 0x87, 0x16, + 0x68, 0x1c, 0x81, 0xa8, 0x17, 0xd5, 0xbe, 0x0c, 0x75, 0xfd, 0xe9, 0x7f, 0x75, 0x17, 0x2a, 0xdd, + 0x27, 0x76, 0x60, 0x9e, 0x7d, 0x62, 0x07, 0x0e, 0xf6, 0x7d, 0x62, 0x84, 0x53, 0x33, 0x23, 0x3c, + 0x8e, 0x5a, 0x24, 0x9f, 0x6d, 0x8b, 0xcc, 0x40, 0xdb, 0xd7, 0x9f, 0x30, 0x34, 0x6e, 0x39, 0x17, + 0x6d, 0x9f, 0xd7, 0x53, 0x7b, 0x80, 0x98, 0x19, 0x1b, 0xa1, 0xf6, 0x21, 0xd4, 0x7c, 0x0a, 0x10, + 0x15, 0x43, 0x51, 0xf3, 0x35, 0x2c, 0x82, 0xae, 0x2d, 0xfb, 0xf2, 0x27, 0xf6, 0xd5, 0x3f, 0xca, + 0xc1, 0xfa, 0xd4, 0xa2, 0x98, 0xd2, 0x11, 0x12, 0x5a, 0x43, 0x07, 0x2d, 0x23, 0xeb, 0xba, 0x34, + 0xde, 0x5c, 0x5d, 0xa8, 0x2a, 0x7e, 0x05, 0x96, 0x03, 0x3e, 0xe4, 0x7a, 0x3f, 0xe1, 0xe8, 0x38, + 0xaa, 0x0f, 0x5a, 0x35, 0x88, 0xea, 0x47, 0x24, 0x2e, 0x94, 0x8b, 0xc5, 0x85, 0xbe, 0x14, 0xfa, + 0x65, 0x78, 0xe8, 0x9a, 0x67, 0xdc, 0x1b, 0x5c, 0x8d, 0x8e, 0x79, 0x8b, 0x14, 0x09, 0xe7, 0x8c, + 0x7e, 0x10, 0x2b, 0x82, 0xe9, 0x01, 0xeb, 0xc6, 0x62, 0x82, 0xee, 0x01, 0x43, 0xe8, 0xb0, 0x7d, + 0x27, 0x3f, 0x20, 0xda, 0xc5, 0x03, 0x62, 0x25, 0xb1, 0x61, 0x7b, 0xa7, 0x58, 0x63, 0x25, 0xe8, + 0x3d, 0x28, 0xfb, 0x44, 0x9f, 0x74, 0xbe, 0x6b, 0x14, 0x28, 0xa6, 0xd8, 0x1b, 0x27, 0x9a, 0xa6, + 0x95, 0x7c, 0x49, 0xed, 0xde, 0x87, 0xaa, 0x24, 0x4e, 0xfd, 0x62, 0x93, 0x2e, 0xa9, 0xe1, 0x5a, + 0x28, 0x4f, 0x33, 0xad, 0x6c, 0xca, 0x93, 0x6e, 0x3b, 0x41, 0x25, 0x80, 0xd6, 0xad, 0xb3, 0xba, + 0xd3, 0x6a, 0x34, 0xad, 0x17, 0x27, 0xb0, 0xdc, 0xf4, 0xcf, 0x39, 0x77, 0x2f, 0x6e, 0x93, 0x54, + 0x7f, 0x4b, 0x81, 0xda, 0xa4, 0xa1, 0x94, 0x07, 0x49, 0x15, 0x07, 0x3f, 0xd1, 0xe3, 0x21, 0xc2, + 0x92, 0x83, 0x9f, 0x68, 0x42, 0x1b, 0x36, 0x88, 0x5f, 0xfa, 0x44, 0xe7, 0x13, 0x8f, 0x19, 0x1b, + 0x39, 0x0d, 0x1c, 0xfc, 0xa4, 0x43, 0x27, 0x9f, 0xaf, 0xfe, 0x8e, 0x02, 0x48, 0xc3, 0x43, 0xd7, + 0x0b, 0xd2, 0x77, 0x5a, 0x85, 0x5c, 0x1f, 0x9f, 0x04, 0x33, 0xba, 0x4c, 0xcb, 0xd0, 0x2b, 0x90, + 0xf7, 0xec, 0xd3, 0xb3, 0x60, 0xc6, 0x29, 0x22, 0x2b, 0x54, 0xb7, 0x61, 0x35, 0xc2, 0x4c, 0x2a, + 0x67, 0xe8, 0xbb, 0x0a, 0xac, 0x35, 0xfd, 0x73, 0x36, 0xdc, 0x2f, 0x7a, 0x24, 0xe9, 0x51, 0x31, + 0x55, 0x73, 0x76, 0xa2, 0x2b, 0x8e, 0x8a, 0x09, 0x68, 0x9b, 0x40, 0xd4, 0x43, 0x58, 0xa2, 0x5c, + 0xb4, 0x77, 0xa6, 0x87, 0x4c, 0xb9, 0x7c, 0xc8, 0x32, 0x53, 0x43, 0x76, 0x02, 0xd7, 0x62, 0xdd, + 0x4b, 0xa5, 0x3f, 0x2f, 0x41, 0x56, 0xd0, 0x2f, 0x6d, 0x56, 0xa4, 0x69, 0xd9, 0xde, 0xd1, 0x48, + 0x89, 0x3a, 0x24, 0x4b, 0x24, 0x19, 0x8c, 0xe7, 0x94, 0xe4, 0xbd, 0x78, 0xf8, 0x20, 0x2e, 0xca, + 0x30, 0x80, 0xf0, 0x11, 0xd4, 0xa7, 0x5b, 0x4c, 0xa5, 0x03, 0x5f, 0x87, 0xb2, 0x6c, 0x36, 0x11, + 0x37, 0x95, 0xc5, 0x87, 0x26, 0x27, 0xec, 0x4c, 0xf6, 0x55, 0x0a, 0x9e, 0xe4, 0x0b, 0xdc, 0x85, + 0x0a, 0x76, 0x2c, 0x09, 0x8d, 0xcd, 0xaa, 0x32, 0x76, 0xac, 0x10, 0x49, 0x7d, 0x0f, 0x40, 0xc3, + 0xa6, 0xeb, 0x59, 0x1d, 0xc3, 0xf6, 0x12, 0xdc, 0x99, 0x48, 0x52, 0x49, 0x8e, 0x3b, 0x30, 0xea, + 0xbf, 0x29, 0x50, 0x10, 0xb6, 0x6d, 0x74, 0x11, 0x57, 0x62, 0x8b, 0x38, 0x2d, 0x34, 0x2c, 0x9d, + 0xef, 0xaa, 0xbc, 0xd0, 0xb0, 0x26, 0xe1, 0x74, 0xc3, 0xd2, 0xa9, 0x91, 0x4a, 0xf5, 0x8d, 0x86, + 0xd3, 0x0d, 0x6b, 0x8b, 0x00, 0xe2, 0xb6, 0x57, 0xee, 0x0a, 0xb6, 0xd7, 0xcb, 0x50, 0xe6, 0xf6, + 0x2d, 0x6b, 0x31, 0xcf, 0xb4, 0x92, 0xc3, 0x68, 0xa3, 0x77, 0xa1, 0x22, 0x50, 0x58, 0xbb, 0xdc, + 0x96, 0xe6, 0x40, 0xda, 0xb4, 0xfa, 0xa7, 0x45, 0x80, 0xc9, 0xf9, 0x64, 0xe4, 0x0c, 0x55, 0x89, + 0x9c, 0xa1, 0xa2, 0x06, 0x14, 0x4c, 0x63, 0x68, 0x98, 0x76, 0x30, 0x16, 0xfd, 0x13, 0xdf, 0xe8, + 0x16, 0x14, 0x8d, 0x0b, 0xc3, 0xee, 0x1b, 0xc7, 0x7d, 0x2c, 0xba, 0x17, 0x02, 0x08, 0xaf, 0x5c, + 0x6e, 0x6c, 0xbe, 0xe5, 0xe8, 0x7c, 0xe3, 0x5b, 0x19, 0x9d, 0x70, 0xe8, 0x0d, 0x40, 0x3e, 0x77, + 0x15, 0x7c, 0xc7, 0x18, 0x72, 0xc4, 0x3c, 0x45, 0xac, 0xf1, 0x92, 0xae, 0x63, 0x0c, 0x19, 0xf6, + 0xdb, 0xb0, 0xe6, 0x61, 0x13, 0xdb, 0x17, 0x31, 0xfc, 0x45, 0x8a, 0x8f, 0xc2, 0xb2, 0x49, 0x8d, + 0xdb, 0x00, 0x13, 0x5d, 0xa2, 0x1b, 0x60, 0x45, 0x2b, 0x86, 0x6a, 0xc4, 0x8d, 0xd5, 0xfe, 0x38, + 0x46, 0xaf, 0x40, 0xf1, 0x56, 0x44, 0xd1, 0x84, 0xdc, 0x3a, 0x2c, 0xd9, 0xbe, 0x7e, 0x3c, 0xf2, + 0xc7, 0x74, 0xab, 0x2b, 0x68, 0x8b, 0xb6, 0xbf, 0x35, 0xf2, 0xc7, 0x44, 0x0b, 0x46, 0x3e, 0xb6, + 0x64, 0xa7, 0xa1, 0x40, 0x00, 0xd4, 0x5b, 0x98, 0x72, 0x6e, 0x4a, 0x09, 0xce, 0x4d, 0xdc, 0x7b, + 0x29, 0x4f, 0x7b, 0x2f, 0x51, 0xff, 0xa7, 0x12, 0xf7, 0x7f, 0x22, 0xce, 0x4d, 0x35, 0xe6, 0xdc, + 0xc8, 0x1e, 0xcb, 0xf2, 0x15, 0x3c, 0x96, 0xb7, 0x00, 0x42, 0x1b, 0x9f, 0x78, 0x05, 0x92, 0x65, + 0x3c, 0x99, 0x4e, 0x5a, 0x51, 0x98, 0xfd, 0x3e, 0x7a, 0x0f, 0x2a, 0x54, 0xd5, 0x6d, 0x57, 0xf7, + 0x0c, 0xa2, 0x75, 0x2b, 0x33, 0xea, 0x94, 0x08, 0x5a, 0xdb, 0xd5, 0x08, 0x12, 0xfa, 0x12, 0x54, + 0x49, 0x87, 0xf1, 0xa4, 0x1a, 0x9a, 0x51, 0x8d, 0xaa, 0x2f, 0x16, 0xf5, 0xde, 0x85, 0xb2, 0x3b, + 0xd4, 0xfb, 0x46, 0x80, 0x1d, 0xd3, 0xc6, 0x7e, 0x7d, 0x75, 0x56, 0x63, 0xee, 0x70, 0x4f, 0x20, + 0xa1, 0x37, 0x01, 0xe8, 0x52, 0xcd, 0x66, 0xdb, 0x9a, 0x1c, 0xda, 0x15, 0x73, 0x5d, 0xa3, 0xf1, + 0x35, 0x36, 0x27, 0x62, 0xb3, 0xf3, 0xda, 0x15, 0x66, 0x27, 0x51, 0xb7, 0xbe, 0xfb, 0x44, 0xf7, + 0x4d, 0xd7, 0xc3, 0xf5, 0xeb, 0x6c, 0x84, 0x08, 0xa4, 0x4b, 0x00, 0x44, 0xdb, 0x2d, 0x63, 0x60, + 0x9c, 0x62, 0x4b, 0x17, 0x47, 0x5c, 0xb6, 0x55, 0x5f, 0xa7, 0xbb, 0x46, 0x8d, 0x97, 0xf0, 0xf0, + 0x6f, 0xdb, 0x22, 0x3b, 0x90, 0xed, 0xeb, 0x54, 0x09, 0x99, 0xca, 0xd5, 0x59, 0xa4, 0xda, 0xf6, + 0x9b, 0x04, 0x46, 0xf5, 0xee, 0xcb, 0x50, 0xf5, 0x79, 0x7e, 0x06, 0x67, 0xf3, 0x06, 0xed, 0x16, + 0x1f, 0x5c, 0x91, 0xbb, 0x41, 0xbb, 0x56, 0xf1, 0xa5, 0x2f, 0x9f, 0x78, 0xf5, 0x94, 0xd7, 0xc0, + 0xc3, 0x8e, 0x55, 0x6f, 0xc8, 0x39, 0x4c, 0xdd, 0xbe, 0xfb, 0xa4, 0x47, 0xc0, 0x8c, 0x79, 0xfa, + 0x17, 0xbd, 0x02, 0x55, 0xdb, 0xd7, 0x4f, 0xbd, 0xa1, 0xa9, 0x0f, 0x0d, 0xa2, 0xdb, 0xf5, 0x9b, + 0x2c, 0x1d, 0xc6, 0xf6, 0x77, 0xbd, 0xa1, 0xd9, 0xa1, 0x30, 0xa2, 0xc6, 0x81, 0x1b, 0x18, 0x7d, + 0x7d, 0x80, 0x07, 0xae, 0x37, 0xae, 0xdf, 0x62, 0x6a, 0x4c, 0x61, 0xfb, 0x14, 0x44, 0x76, 0x61, + 0x3a, 0x57, 0x38, 0xc6, 0x6d, 0x8a, 0x01, 0x04, 0xc4, 0x10, 0xd4, 0xdf, 0x53, 0xa0, 0x18, 0xb2, + 0x40, 0xc3, 0x9a, 0x84, 0xb6, 0xce, 0x96, 0x69, 0xb2, 0x3a, 0x29, 0x1a, 0x50, 0xd0, 0x63, 0x9a, + 0x00, 0x78, 0x1b, 0xd8, 0x17, 0x55, 0x20, 0xba, 0x44, 0x29, 0x5a, 0x91, 0x42, 0x88, 0xae, 0xb0, + 0x55, 0xc8, 0x1f, 0xf5, 0x03, 0x4e, 0x20, 0x4b, 0x11, 0x4a, 0x0c, 0xc6, 0x28, 0xd0, 0x63, 0x51, + 0x8a, 0x42, 0x49, 0xe4, 0x58, 0x13, 0x0c, 0x44, 0x68, 0xa8, 0x3f, 0x52, 0xa0, 0x2c, 0xcb, 0x72, + 0xfe, 0x96, 0xb0, 0x09, 0xd7, 0x4e, 0xb1, 0x83, 0x09, 0x2d, 0xdd, 0x1a, 0x79, 0xdc, 0x69, 0xc7, + 0x26, 0x5f, 0x3e, 0x57, 0x45, 0xe1, 0x0e, 0x2f, 0xeb, 0x62, 0x13, 0xdd, 0x87, 0x15, 0xb2, 0xdc, + 0x45, 0xf1, 0xd9, 0x8a, 0xba, 0x4c, 0x0a, 0x64, 0xdc, 0x37, 0x00, 0x31, 0x19, 0x47, 0x90, 0x99, + 0x77, 0x51, 0xa3, 0x25, 0x32, 0xf6, 0xab, 0xc0, 0x9c, 0x12, 0xb2, 0x57, 0xb3, 0xf5, 0x89, 0xed, + 0x19, 0x95, 0x10, 0x4a, 0x16, 0x29, 0xf5, 0x5b, 0x19, 0x00, 0xea, 0x3a, 0xd0, 0x4d, 0x1d, 0xfd, + 0x3c, 0x00, 0x4b, 0x23, 0x0e, 0x88, 0x44, 0xd8, 0x36, 0x7e, 0xfb, 0x41, 0x34, 0xb3, 0x58, 0x33, + 0x4e, 0x82, 0x3d, 0xd7, 0x34, 0xfa, 0x44, 0x24, 0x58, 0x2b, 0x92, 0x52, 0xfa, 0x17, 0x6d, 0x85, + 0x2b, 0x3f, 0xab, 0xcf, 0xcc, 0xb2, 0x97, 0xe2, 0xf5, 0x29, 0x8a, 0x44, 0x81, 0x6f, 0x0d, 0x8c, + 0xc6, 0x6b, 0xb0, 0x6c, 0xfb, 0xfa, 0x89, 0xeb, 0x99, 0x58, 0xf6, 0xbc, 0x0a, 0x5a, 0xc5, 0xf6, + 0x1f, 0x12, 0xe8, 0x9e, 0x30, 0x59, 0x6a, 0x67, 0x86, 0xaf, 0x9b, 0xee, 0x60, 0x60, 0x07, 0x3a, + 0xf3, 0x74, 0x72, 0x14, 0xb1, 0x7a, 0x66, 0xf8, 0xdb, 0x14, 0xcc, 0xbc, 0xeb, 0xbb, 0x50, 0x21, + 0xb3, 0xc9, 0xc6, 0x96, 0x6e, 0x3b, 0x16, 0x7e, 0xca, 0x05, 0x51, 0xe6, 0xc0, 0x36, 0x81, 0xa9, + 0x8f, 0xa1, 0xc4, 0x33, 0x67, 0xa8, 0x1c, 0xde, 0x85, 0x32, 0x5d, 0x33, 0x3c, 0xfa, 0x19, 0x8b, + 0x11, 0x4c, 0xe4, 0xa5, 0x95, 0x86, 0xe1, 0x7f, 0x1a, 0xc3, 0xf1, 0x03, 0x2c, 0xec, 0x11, 0xfa, + 0x5f, 0xfd, 0x1f, 0x05, 0xae, 0x51, 0xc2, 0xcf, 0x1b, 0xd9, 0xe3, 0x99, 0x46, 0x99, 0xb9, 0x99, + 0x46, 0xd4, 0xa3, 0xa3, 0x1b, 0x3a, 0x63, 0x9c, 0x9b, 0xf2, 0x2b, 0x12, 0xba, 0x60, 0xdc, 0x97, + 0x7a, 0xfb, 0x09, 0x20, 0xcb, 0xd3, 0x8d, 0x51, 0xe0, 0xfa, 0x63, 0xc7, 0x14, 0x81, 0x26, 0x66, + 0x97, 0xbc, 0x9e, 0x14, 0x68, 0xa2, 0x94, 0x76, 0xb4, 0xe6, 0x28, 0x70, 0xbb, 0x63, 0xc7, 0xe4, + 0x61, 0xa6, 0x9a, 0xe5, 0x35, 0x39, 0x0d, 0x9e, 0xfa, 0x63, 0x01, 0xda, 0xc1, 0x03, 0x37, 0xc0, + 0x0f, 0x0d, 0xbb, 0x8f, 0xad, 0xc7, 0x6e, 0x80, 0x3d, 0x7f, 0xfe, 0x2c, 0x7a, 0x07, 0x2a, 0x27, + 0x14, 0x59, 0xbf, 0xa0, 0xd8, 0x89, 0x01, 0x94, 0xf2, 0x89, 0x44, 0x4f, 0x3d, 0x86, 0x92, 0xac, + 0x19, 0x77, 0x43, 0x0a, 0x3c, 0x65, 0x47, 0xa1, 0x2b, 0x2d, 0xaf, 0xc3, 0xd2, 0x80, 0x88, 0x09, + 0x80, 0xc9, 0xa6, 0x17, 0xd1, 0x34, 0x61, 0xca, 0xaf, 0xd0, 0x22, 0x89, 0xa6, 0xaf, 0xfe, 0x66, + 0x06, 0xca, 0x3c, 0x15, 0x6e, 0xdc, 0xe9, 0x1b, 0x0e, 0x31, 0x99, 0x4d, 0x0f, 0xd3, 0xbd, 0x4b, + 0x49, 0x36, 0x99, 0x79, 0x31, 0x7a, 0x03, 0x96, 0x46, 0x43, 0x8b, 0x62, 0x26, 0x1a, 0xd7, 0x5b, + 0x99, 0xba, 0xa2, 0x09, 0x14, 0x74, 0x07, 0x20, 0xcc, 0x70, 0x0a, 0xbd, 0xc1, 0x09, 0x04, 0x6d, + 0xc2, 0x92, 0x45, 0x45, 0x2a, 0x42, 0xb2, 0xdc, 0x75, 0x9e, 0x96, 0xb3, 0x26, 0x10, 0x89, 0x56, + 0x44, 0x26, 0x54, 0x5e, 0xd6, 0x0a, 0xa9, 0x9b, 0x5a, 0xe9, 0x44, 0x92, 0xa3, 0x50, 0xe7, 0x45, + 0x49, 0x9d, 0xdf, 0x87, 0x4a, 0xf3, 0x89, 0x71, 0x8e, 0xc5, 0x71, 0x25, 0xb1, 0xda, 0x8d, 0x63, + 0xc7, 0xf5, 0x06, 0x46, 0x3f, 0x2a, 0xee, 0xaa, 0x00, 0xf3, 0x3c, 0xac, 0x1d, 0x28, 0x6d, 0xbb, + 0x4e, 0xe0, 0xb9, 0x7d, 0xb2, 0x6d, 0xa0, 0x2f, 0x02, 0x98, 0x81, 0xd7, 0xd7, 0xf1, 0x05, 0x76, + 0x02, 0x1e, 0xbf, 0xe2, 0xc9, 0xe4, 0x12, 0x1a, 0x4d, 0xd6, 0xd6, 0x8a, 0x04, 0x93, 0xfe, 0x55, + 0xff, 0x3a, 0x0b, 0xd7, 0xe3, 0xd3, 0xe9, 0xa7, 0x27, 0xd5, 0x8d, 0x48, 0x43, 0xe4, 0x74, 0x8b, + 0x13, 0x32, 0x96, 0xfc, 0x5c, 0xe5, 0x60, 0x71, 0x44, 0xf6, 0x01, 0xac, 0x7b, 0xf8, 0xb3, 0x91, + 0xed, 0x61, 0xdd, 0xc2, 0x01, 0xd3, 0x56, 0x3e, 0x65, 0xe9, 0x22, 0x46, 0x75, 0xe2, 0x1a, 0x47, + 0xd9, 0xe1, 0x18, 0x7c, 0xb6, 0xfe, 0x2c, 0x31, 0xb9, 0x98, 0x26, 0xea, 0xc3, 0xbe, 0xe1, 0xf0, + 0xe1, 0x44, 0x13, 0x2b, 0x48, 0x28, 0xa9, 0x56, 0xf6, 0x64, 0x95, 0xfd, 0x00, 0xaa, 0x06, 0x1d, + 0x3c, 0x61, 0x86, 0xf0, 0x18, 0x12, 0x5f, 0x79, 0x22, 0x03, 0xab, 0x55, 0x8c, 0xc8, 0x38, 0xbf, + 0x07, 0x65, 0x93, 0x8d, 0x0b, 0xb5, 0x05, 0x78, 0x50, 0x69, 0x65, 0x6a, 0xc4, 0xb4, 0x92, 0x39, + 0xf9, 0x50, 0xff, 0x36, 0x03, 0x6b, 0x5d, 0xd3, 0x08, 0x02, 0xb2, 0x48, 0xa6, 0xce, 0x70, 0x7a, + 0x69, 0x2a, 0xcb, 0x8a, 0x8a, 0x67, 0xb2, 0x66, 0x5c, 0x31, 0x01, 0x5a, 0x3a, 0xf7, 0xc8, 0xcd, + 0x39, 0xf7, 0x58, 0x83, 0xfc, 0xa9, 0xe7, 0x8e, 0x86, 0x54, 0xae, 0x45, 0x8d, 0x7d, 0x4c, 0x52, + 0xa4, 0xa8, 0xf1, 0xb6, 0x28, 0xa7, 0x48, 0x11, 0xab, 0x8d, 0xda, 0x12, 0x81, 0x37, 0xd6, 0x59, + 0x66, 0x00, 0x3b, 0xa5, 0x00, 0x0a, 0xda, 0xa3, 0xe9, 0x01, 0xf7, 0xa0, 0xe6, 0x9f, 0xdb, 0x43, + 0x36, 0x49, 0x38, 0x56, 0x81, 0xed, 0x57, 0x04, 0x4e, 0x95, 0x9a, 0x62, 0xaa, 0x17, 0x70, 0x2d, + 0x26, 0xb3, 0x54, 0x1a, 0xfe, 0x16, 0xac, 0x9e, 0xd8, 0x8e, 0xed, 0x9f, 0x61, 0x4b, 0x1f, 0x62, + 0xcf, 0xc4, 0x4e, 0x20, 0x72, 0xff, 0x73, 0x1a, 0x12, 0x45, 0x9d, 0xb0, 0x44, 0xdd, 0xa1, 0x27, + 0x77, 0xbb, 0xdb, 0x5d, 0xe3, 0x04, 0x77, 0x5c, 0xdb, 0x49, 0xb5, 0x53, 0xa9, 0x98, 0x9e, 0xdb, + 0x45, 0xa8, 0xa4, 0x62, 0x9f, 0xd8, 0xd4, 0xc6, 0x09, 0xd6, 0x87, 0x84, 0x06, 0xe7, 0xba, 0xe8, + 0x0b, 0xa2, 0xea, 0x09, 0xd4, 0x8f, 0xe8, 0x8a, 0xf9, 0x9c, 0xfc, 0x5e, 0xd6, 0x8e, 0x0b, 0x37, + 0x12, 0xda, 0x49, 0xd5, 0xa3, 0x57, 0xa0, 0xea, 0xe0, 0x27, 0xfa, 0x54, 0x6b, 0x65, 0x07, 0x3f, + 0x09, 0x69, 0xab, 0xdf, 0x57, 0xe0, 0x25, 0xd6, 0x22, 0x3f, 0x9c, 0xfc, 0x3c, 0x3a, 0xc8, 0x28, + 0x89, 0xe9, 0x53, 0xd6, 0x8a, 0x1c, 0xd2, 0xb6, 0x50, 0x0d, 0xb2, 0xbd, 0xde, 0x1e, 0x9d, 0x38, + 0x59, 0x8d, 0xfc, 0x8d, 0x49, 0x24, 0x17, 0x97, 0xc8, 0x5f, 0x28, 0xb0, 0x31, 0x9b, 0xc1, 0xd4, + 0x63, 0xfd, 0x4c, 0x2c, 0xbe, 0x02, 0xd5, 0x81, 0xed, 0xe8, 0x53, 0x6c, 0x96, 0x07, 0xb6, 0x33, + 0x11, 0xe5, 0x29, 0x4d, 0x76, 0x91, 0xd8, 0x7b, 0xbc, 0x99, 0x72, 0xfd, 0xa1, 0xfe, 0xf8, 0xd0, + 0x98, 0xf0, 0x57, 0xd1, 0x40, 0x80, 0xda, 0x96, 0x7a, 0x4a, 0xb3, 0x61, 0x62, 0x0d, 0xbd, 0x08, + 0xad, 0xb7, 0xc4, 0x9d, 0xb9, 0xe7, 0xee, 0xd3, 0xbc, 0x9b, 0x59, 0x23, 0xa8, 0x86, 0xe4, 0xe9, + 0xb6, 0x1b, 0x97, 0x80, 0x12, 0x97, 0xc0, 0x25, 0x7c, 0x87, 0x17, 0x94, 0xb2, 0x33, 0x6e, 0x62, + 0x91, 0x42, 0xf5, 0x0f, 0x15, 0x68, 0x24, 0xf5, 0x2e, 0x95, 0x20, 0xdf, 0x80, 0x45, 0x6a, 0x5a, + 0x08, 0x9b, 0x8b, 0x63, 0x47, 0xfb, 0xa5, 0x71, 0x9c, 0x88, 0x34, 0xb2, 0x31, 0x69, 0x7c, 0x47, + 0x81, 0xc6, 0xd4, 0x12, 0xf0, 0x82, 0x34, 0x29, 0x26, 0xc7, 0x6c, 0x7c, 0xfc, 0x3f, 0x83, 0x9b, + 0x89, 0xac, 0xbc, 0xc0, 0xf5, 0xe8, 0x1f, 0xe2, 0xeb, 0xd1, 0x4f, 0x44, 0x06, 0x93, 0xd5, 0x20, + 0x1b, 0x5f, 0x0d, 0xe6, 0x2f, 0x4f, 0x64, 0xb1, 0x08, 0x82, 0x3e, 0xdd, 0xbb, 0xb3, 0x1a, 0xf9, + 0x3b, 0xbd, 0x60, 0x7d, 0x3e, 0xd3, 0x74, 0xfe, 0x82, 0x45, 0x78, 0xc8, 0x86, 0x3c, 0x5c, 0x71, + 0xc1, 0x6a, 0x43, 0x83, 0xdd, 0x55, 0x78, 0x6e, 0x4d, 0x53, 0x7b, 0x50, 0x89, 0x10, 0xb9, 0x7c, + 0x0a, 0xab, 0x50, 0x39, 0x35, 0xa7, 0xb5, 0xa1, 0x74, 0x6a, 0x4e, 0x18, 0xfc, 0x81, 0x02, 0x37, + 0x13, 0x39, 0x4c, 0x25, 0xc5, 0x2f, 0x43, 0x35, 0xd2, 0xa2, 0x98, 0xab, 0xbc, 0x63, 0xd1, 0x26, + 0xca, 0x12, 0x1f, 0xf3, 0x27, 0xec, 0xef, 0x2b, 0x00, 0x5a, 0x18, 0x51, 0x98, 0x0e, 0xc3, 0x2a, + 0x97, 0xe6, 0x98, 0x64, 0x2e, 0xcb, 0x31, 0xc9, 0x5e, 0x92, 0x63, 0x92, 0x8b, 0x86, 0x61, 0xd5, + 0x6f, 0x2b, 0xb0, 0x42, 0x1c, 0xe5, 0xe7, 0x30, 0x82, 0x5f, 0x81, 0x45, 0x96, 0x74, 0x96, 0x98, + 0x80, 0xc5, 0xcb, 0xe8, 0x51, 0x17, 0x0d, 0x7c, 0xb3, 0x48, 0x07, 0xe3, 0x93, 0xc5, 0xc2, 0x59, + 0x9c, 0xe3, 0x5d, 0x16, 0xee, 0xf1, 0x59, 0x30, 0xf0, 0x55, 0x91, 0xa5, 0xa0, 0x24, 0x67, 0xf7, + 0xf0, 0x44, 0x85, 0x2f, 0x40, 0x9e, 0xe5, 0xeb, 0xa8, 0x51, 0xfc, 0xc4, 0xac, 0x86, 0x6f, 0x65, + 0x01, 0xc9, 0x7d, 0x4d, 0xa5, 0x1a, 0x57, 0x3e, 0x90, 0xba, 0xb4, 0xc7, 0xe8, 0xdd, 0x48, 0x50, + 0x4a, 0x78, 0xcd, 0x35, 0x39, 0x3f, 0x96, 0xc6, 0x49, 0xa5, 0x28, 0x94, 0x8f, 0xde, 0x85, 0x2a, + 0xaf, 0x14, 0xcd, 0xbd, 0x8b, 0xf6, 0x98, 0xdf, 0x58, 0xe0, 0x31, 0x02, 0x39, 0xc3, 0x7b, 0x91, + 0xcb, 0x73, 0x46, 0x86, 0x37, 0x7a, 0x2b, 0x92, 0x5b, 0x55, 0x8b, 0x47, 0x97, 0xfc, 0xa9, 0xe4, + 0xaa, 0xb7, 0xe3, 0xc9, 0x55, 0x2c, 0xce, 0x5e, 0x92, 0xea, 0x44, 0x73, 0xab, 0xd4, 0x5f, 0xa6, + 0x69, 0x90, 0x87, 0x43, 0xec, 0x19, 0x81, 0xeb, 0x7d, 0xee, 0xd7, 0x5b, 0xd4, 0xbf, 0x53, 0xe8, + 0xbd, 0xae, 0x49, 0x03, 0xa9, 0x06, 0x7a, 0xee, 0x0d, 0x1a, 0x04, 0x39, 0x0b, 0xfb, 0x26, 0xdf, + 0x03, 0xe8, 0x7f, 0x42, 0x5e, 0x8a, 0x4f, 0x55, 0x05, 0x79, 0xc1, 0x06, 0xf7, 0xcd, 0x39, 0x0e, + 0xcd, 0x7b, 0xb1, 0x1d, 0x71, 0xb5, 0x9b, 0xfe, 0xa7, 0x07, 0xfb, 0x44, 0x41, 0xf7, 0x8d, 0xa7, + 0xbd, 0x6e, 0xda, 0x83, 0xe7, 0x81, 0xf1, 0x54, 0x0f, 0xc3, 0x71, 0x53, 0x77, 0x80, 0xf3, 0x03, + 0xe3, 0x69, 0x8f, 0x9d, 0x0b, 0x10, 0x9f, 0xcf, 0x3c, 0xc3, 0xe6, 0x39, 0x0f, 0x63, 0x16, 0x09, + 0x84, 0xa6, 0xe8, 0xa8, 0x7f, 0xc0, 0x57, 0x05, 0xce, 0x48, 0xda, 0x24, 0x7f, 0xc2, 0x4a, 0xdf, + 0x35, 0x8d, 0xfe, 0x1c, 0x86, 0x60, 0x60, 0x3c, 0xa5, 0x11, 0x57, 0xce, 0xd5, 0xd8, 0x31, 0xb1, + 0xa5, 0x5b, 0xa6, 0x48, 0x6e, 0x2c, 0x32, 0xc8, 0x8e, 0xe9, 0xab, 0xbf, 0xae, 0xc0, 0xaa, 0x94, + 0xfb, 0xe1, 0xa7, 0x76, 0x3a, 0xe8, 0x91, 0xbb, 0x94, 0x75, 0x54, 0xa4, 0x10, 0x7a, 0x56, 0x19, + 0xf3, 0x96, 0xb3, 0x71, 0x6f, 0x99, 0xd8, 0x82, 0x6b, 0x51, 0x26, 0x7e, 0x22, 0x3e, 0x70, 0xcc, + 0xcb, 0xcf, 0xc6, 0xbc, 0x7c, 0xb2, 0xff, 0xdd, 0xa6, 0x6c, 0x35, 0x1d, 0x2b, 0xe2, 0xa3, 0xbf, + 0x10, 0x29, 0x85, 0x81, 0x88, 0xac, 0x1c, 0x88, 0x88, 0xc9, 0x2e, 0x37, 0x25, 0xbb, 0xff, 0x54, + 0xe0, 0xce, 0x2c, 0x26, 0x53, 0x49, 0xf1, 0x03, 0xb8, 0xc1, 0xd8, 0x9c, 0x2d, 0xcb, 0x75, 0x8a, + 0xf0, 0x70, 0x5a, 0xa0, 0x1f, 0xc2, 0x4d, 0x9f, 0xf1, 0x90, 0x58, 0x9b, 0x8d, 0xfc, 0x0d, 0x8e, + 0xf2, 0xf0, 0xb2, 0x01, 0xc9, 0xc5, 0x07, 0xe4, 0x8c, 0x7a, 0x5e, 0x3b, 0xdb, 0x22, 0x7f, 0x5c, + 0x4e, 0x38, 0x7e, 0x56, 0xab, 0x54, 0x4e, 0x4c, 0xcf, 0x4c, 0x25, 0xa6, 0x7f, 0x47, 0x81, 0x1b, + 0x09, 0x4d, 0xa5, 0xbd, 0x12, 0xcd, 0x1e, 0x2a, 0xa0, 0xed, 0xe4, 0x35, 0xfe, 0x25, 0xad, 0x2b, + 0xd9, 0x79, 0xeb, 0x8a, 0xfa, 0xf7, 0x19, 0x80, 0xc9, 0x51, 0x24, 0xaa, 0x42, 0x66, 0x77, 0x9b, + 0x9b, 0x35, 0x99, 0xdd, 0x6d, 0x62, 0x7e, 0xee, 0x62, 0x61, 0xbf, 0x91, 0xbf, 0x64, 0x19, 0xec, + 0x9a, 0x86, 0xb0, 0x5b, 0xe8, 0x7f, 0xb4, 0x01, 0xa5, 0x6d, 0x77, 0xe8, 0xb9, 0x26, 0xf6, 0x7d, + 0xd7, 0xe3, 0x7a, 0x24, 0x83, 0x08, 0x9b, 0x3b, 0xb8, 0x8f, 0x03, 0x71, 0x74, 0xc4, 0xbf, 0x48, + 0x4d, 0xf6, 0x8f, 0xde, 0x62, 0xe1, 0xf1, 0x61, 0x19, 0x44, 0x38, 0xe8, 0x8c, 0x44, 0x14, 0x8c, + 0xfc, 0x25, 0x06, 0x5b, 0xc7, 0xc3, 0xf4, 0x30, 0x97, 0x67, 0xe8, 0x86, 0xdf, 0xe8, 0x4b, 0x70, + 0xbd, 0x69, 0xd2, 0x48, 0x67, 0x07, 0xfb, 0xbe, 0x3d, 0xb0, 0xfd, 0xc0, 0x26, 0x82, 0x3f, 0xe7, + 0xb9, 0xba, 0x33, 0x4a, 0x09, 0x7f, 0xec, 0x9c, 0x87, 0x1f, 0xbd, 0xf3, 0x2f, 0xd2, 0x96, 0xe6, + 0xf6, 0xfb, 0xc7, 0x86, 0x79, 0xce, 0xcf, 0xdc, 0xc3, 0x6f, 0xf5, 0xcf, 0x15, 0x58, 0xe3, 0x09, + 0x2c, 0x7c, 0x4f, 0x4e, 0xa3, 0x2d, 0xf1, 0x14, 0xbe, 0xcc, 0x15, 0x53, 0xf8, 0x24, 0x0b, 0x21, + 0x7b, 0xc9, 0x1d, 0xb0, 0x16, 0x5c, 0x8b, 0xf1, 0x99, 0x36, 0xd3, 0xaa, 0xc1, 0xe8, 0xec, 0xdb, + 0xc4, 0x18, 0x73, 0xfb, 0x17, 0xd8, 0xea, 0xf9, 0x9f, 0xf3, 0x8d, 0x7b, 0xf4, 0x1a, 0x2c, 0x13, + 0xff, 0xc6, 0xe3, 0x0d, 0x08, 0x15, 0xce, 0x69, 0x95, 0x81, 0xdc, 0xac, 0xfa, 0x08, 0x6e, 0x26, + 0x72, 0x93, 0xaa, 0x6f, 0x67, 0x70, 0xb3, 0x8b, 0x83, 0xd6, 0xd3, 0x00, 0x7b, 0x8e, 0xd1, 0x9f, + 0xcc, 0x92, 0x34, 0x7d, 0xbb, 0x25, 0xbf, 0xec, 0xc1, 0xed, 0xff, 0xc9, 0x43, 0x1e, 0x7b, 0x70, + 0x2b, 0xb9, 0xa5, 0x54, 0x7c, 0x7f, 0x4c, 0x9d, 0xa8, 0xcf, 0x85, 0x6f, 0xf5, 0x1b, 0x70, 0x6b, + 0xf7, 0x73, 0xe3, 0xec, 0x12, 0x29, 0x7c, 0x48, 0x5f, 0x6c, 0xd8, 0xb7, 0x9d, 0x74, 0x66, 0x93, + 0xea, 0xd2, 0xcb, 0xf1, 0xbc, 0x7e, 0x2a, 0xfe, 0xde, 0x8c, 0xf3, 0x37, 0xf7, 0xfd, 0x95, 0xfb, + 0x1b, 0x50, 0x0c, 0x83, 0x4c, 0x68, 0x09, 0xb2, 0x9d, 0xa3, 0x5e, 0x6d, 0x01, 0x01, 0x2c, 0xee, + 0xb4, 0xf6, 0x5a, 0xbd, 0x56, 0x4d, 0xb9, 0xff, 0x57, 0x19, 0x28, 0x86, 0x0f, 0xe5, 0xa0, 0x45, + 0xc8, 0x1c, 0x3e, 0xaa, 0x2d, 0xa0, 0x12, 0x2c, 0x1d, 0x1d, 0x3c, 0x3a, 0x38, 0xfc, 0xe4, 0xa0, + 0xa6, 0xa0, 0x35, 0xa8, 0x1d, 0x1c, 0xf6, 0xf4, 0xad, 0xc3, 0xc3, 0x5e, 0xb7, 0xa7, 0x35, 0x3b, + 0x9d, 0xd6, 0x4e, 0x2d, 0x83, 0x56, 0x61, 0xb9, 0xdb, 0x3b, 0xd4, 0x5a, 0x7a, 0xef, 0x70, 0x7f, + 0xab, 0xdb, 0x3b, 0x3c, 0x68, 0xd5, 0xb2, 0xa8, 0x0e, 0x6b, 0xcd, 0x3d, 0xad, 0xd5, 0xdc, 0xf9, + 0x34, 0x8a, 0x9e, 0x23, 0x25, 0xed, 0x83, 0xed, 0xc3, 0xfd, 0x4e, 0xb3, 0xd7, 0xde, 0xda, 0x6b, + 0xe9, 0x8f, 0x5b, 0x5a, 0xb7, 0x7d, 0x78, 0x50, 0xcb, 0x13, 0xf2, 0x5a, 0x6b, 0xb7, 0x7d, 0x78, + 0xa0, 0x93, 0x56, 0x1e, 0x1e, 0x1e, 0x1d, 0xec, 0xd4, 0x16, 0xd1, 0x4d, 0x58, 0xdf, 0xdd, 0x3b, + 0xdc, 0x6a, 0xee, 0xe9, 0xdb, 0x87, 0x07, 0x0f, 0xdb, 0xbb, 0x52, 0xe1, 0x12, 0xa9, 0xb2, 0x73, + 0xd4, 0xd9, 0x6b, 0x6f, 0x37, 0x7b, 0xad, 0x1d, 0xbd, 0x75, 0xd0, 0xd3, 0x3e, 0xad, 0x15, 0x08, + 0x47, 0xf4, 0xaf, 0x84, 0x5a, 0x44, 0x2b, 0x50, 0x69, 0x1f, 0x3c, 0x6e, 0xee, 0xb5, 0x77, 0xf4, + 0xc7, 0xcd, 0xbd, 0xa3, 0x56, 0x0d, 0x10, 0x82, 0xea, 0x4e, 0xb3, 0xd7, 0xd4, 0x29, 0x37, 0xdb, + 0xbd, 0xd6, 0x4e, 0xad, 0x84, 0x5e, 0x85, 0x97, 0x19, 0x13, 0x5d, 0x5a, 0x7b, 0xfb, 0xf0, 0xa0, + 0xd7, 0x6c, 0x1f, 0xe8, 0xcd, 0xbd, 0x3d, 0xfd, 0x51, 0xeb, 0x53, 0x5d, 0x6b, 0x1e, 0xec, 0xb6, + 0x6a, 0xe5, 0xfb, 0x0f, 0xa1, 0x24, 0xdd, 0x98, 0x21, 0x7c, 0x70, 0x31, 0xe9, 0xdd, 0xc7, 0xdb, + 0xfa, 0xfe, 0xe1, 0x4e, 0xab, 0xb6, 0x80, 0x96, 0xa1, 0xd4, 0xd9, 0x99, 0x00, 0x14, 0x54, 0x83, + 0x72, 0xb3, 0xd3, 0x9e, 0x40, 0x32, 0xf7, 0xdf, 0x83, 0x92, 0x94, 0xa4, 0x8e, 0x0a, 0x90, 0xeb, + 0x6e, 0x37, 0x0f, 0x58, 0xdd, 0x66, 0xa7, 0xa3, 0x1d, 0x7e, 0xad, 0xbd, 0xdf, 0x24, 0xe3, 0x43, + 0xc6, 0xea, 0xa8, 0xdb, 0x7a, 0xd4, 0xfa, 0xb4, 0x96, 0xb9, 0xff, 0x3a, 0xd4, 0xe2, 0x47, 0x83, + 0xa8, 0x08, 0xf9, 0x4e, 0xf3, 0xa8, 0xdb, 0x62, 0xc3, 0xaa, 0xb5, 0xba, 0x47, 0xfb, 0x64, 0x58, + 0x3b, 0x50, 0x8d, 0x3a, 0x04, 0x64, 0x48, 0xbb, 0x47, 0xdb, 0xdb, 0xad, 0x6e, 0x97, 0x8d, 0x6f, + 0xaf, 0xbd, 0xdf, 0x3a, 0x3c, 0xea, 0xb1, 0x26, 0xb6, 0x9b, 0x07, 0xdb, 0xad, 0xbd, 0x5a, 0x86, + 0x14, 0x68, 0xad, 0xce, 0x5e, 0x73, 0x9b, 0x8c, 0x26, 0xf9, 0x38, 0x3a, 0x38, 0x68, 0x1f, 0xec, + 0xd6, 0x72, 0xf7, 0xff, 0x46, 0x81, 0x22, 0xdd, 0x72, 0x1f, 0xd9, 0x8e, 0x45, 0xea, 0x1c, 0x06, + 0x67, 0xd8, 0xf3, 0x6b, 0x0b, 0x44, 0x69, 0x76, 0xb7, 0x6b, 0x0a, 0xd1, 0xaf, 0x5d, 0x1c, 0xd4, + 0x32, 0xb4, 0x3b, 0xa6, 0xe1, 0xd4, 0xb2, 0xa4, 0x3b, 0xd2, 0x7e, 0x5a, 0xcb, 0x51, 0xd5, 0xa3, + 0xdb, 0x64, 0x2d, 0x4f, 0x0a, 0xa5, 0x2d, 0xb3, 0xb6, 0x48, 0x15, 0x74, 0x14, 0xd4, 0x96, 0x50, + 0x79, 0xb2, 0x57, 0xd6, 0x0a, 0xa8, 0x31, 0x6b, 0x77, 0xac, 0x15, 0x29, 0xef, 0x74, 0xcf, 0xab, + 0x01, 0xa9, 0x25, 0x76, 0xb9, 0x5a, 0x69, 0xf3, 0x07, 0xb7, 0x21, 0xd3, 0xd9, 0x41, 0xfb, 0x50, + 0x8d, 0xde, 0xa2, 0x42, 0x37, 0xc3, 0xdb, 0x63, 0xd3, 0x77, 0xb4, 0x1a, 0xb7, 0x92, 0x0b, 0xd9, + 0x5c, 0x54, 0x17, 0x50, 0x13, 0x60, 0x72, 0xed, 0x0c, 0xad, 0x4f, 0x5f, 0x44, 0x63, 0x64, 0xea, + 0xb3, 0x6e, 0xa8, 0xa9, 0x0b, 0xe8, 0x6d, 0xc8, 0xf6, 0x7c, 0x17, 0x71, 0x67, 0x77, 0xf2, 0xee, + 0x54, 0x63, 0x45, 0x82, 0x08, 0xec, 0x7b, 0xca, 0xdb, 0x0a, 0xfa, 0x10, 0x8a, 0xe1, 0xa3, 0x3e, + 0x88, 0x9f, 0x11, 0xc7, 0x5f, 0x55, 0x6a, 0xac, 0x4f, 0xc1, 0xc3, 0x16, 0xf7, 0xa1, 0x1a, 0x7d, + 0x16, 0x48, 0xc8, 0x20, 0xf1, 0xc9, 0x21, 0x21, 0x83, 0xe4, 0x97, 0x84, 0xd4, 0x05, 0xf4, 0x3e, + 0x2c, 0xf1, 0xa7, 0x7b, 0x10, 0x5f, 0xac, 0xa2, 0x0f, 0x01, 0x35, 0xae, 0xc5, 0xa0, 0x61, 0x4d, + 0x1d, 0xd6, 0x92, 0xde, 0xd5, 0x41, 0x2f, 0x8b, 0x16, 0x67, 0xbe, 0xdf, 0xd3, 0x50, 0xe7, 0xa1, + 0x84, 0x0d, 0xfc, 0x1c, 0x14, 0xc4, 0xb3, 0x37, 0xe8, 0x5a, 0x38, 0x06, 0xf2, 0xbb, 0x33, 0x8d, + 0xeb, 0x71, 0xb0, 0x5c, 0x59, 0x3c, 0x1f, 0x23, 0x2a, 0xc7, 0x1e, 0xad, 0x11, 0x95, 0xe3, 0xaf, + 0xcc, 0xa8, 0x0b, 0x68, 0x17, 0xca, 0xf2, 0x2b, 0x2b, 0xe8, 0x46, 0xd8, 0x4c, 0xfc, 0xdd, 0x97, + 0x46, 0x23, 0xa9, 0x48, 0x1e, 0xac, 0xe8, 0xf9, 0xbe, 0x18, 0xac, 0xc4, 0x24, 0x1a, 0x31, 0x58, + 0xc9, 0x29, 0x01, 0xea, 0x02, 0xea, 0xc1, 0x72, 0xec, 0x0e, 0x09, 0xba, 0x25, 0x47, 0x7e, 0xa6, + 0x08, 0xde, 0x9e, 0x51, 0x1a, 0xd7, 0xc8, 0xf0, 0xed, 0x10, 0x34, 0x91, 0x68, 0x24, 0xba, 0xd7, + 0x58, 0x9f, 0x82, 0x87, 0x5c, 0x6d, 0x41, 0x65, 0x17, 0x07, 0x1d, 0x0f, 0x5f, 0xa4, 0xa7, 0xf1, + 0x90, 0xd2, 0x98, 0xbc, 0x5f, 0x82, 0x1a, 0x31, 0x5c, 0xe9, 0x51, 0x93, 0x79, 0x74, 0x3e, 0x82, + 0x92, 0xf4, 0xb8, 0x06, 0xaa, 0x27, 0xbc, 0xb7, 0xc1, 0x68, 0xdc, 0x98, 0xf9, 0x12, 0x07, 0x97, + 0xca, 0x0e, 0x94, 0xa4, 0x8b, 0xec, 0x82, 0xd2, 0xf4, 0xbd, 0x7d, 0x41, 0x29, 0xe1, 0xd6, 0xbb, + 0xba, 0x80, 0xba, 0x50, 0x8b, 0xdf, 0x89, 0x47, 0xb7, 0xe5, 0xdb, 0x21, 0xd3, 0xf4, 0xee, 0xcc, + 0x2a, 0x0e, 0x89, 0x7e, 0x08, 0x05, 0x71, 0x95, 0x43, 0xe8, 0x76, 0xec, 0x0e, 0x89, 0xd0, 0xed, + 0xf8, 0x8d, 0x0f, 0x35, 0xfb, 0xdb, 0x19, 0x05, 0xed, 0x42, 0x49, 0xba, 0xf4, 0x20, 0xba, 0x36, + 0x7d, 0x29, 0x43, 0x74, 0x2d, 0xe1, 0x86, 0x04, 0x23, 0xf4, 0x31, 0x54, 0x22, 0x17, 0x03, 0xc4, + 0xa8, 0x25, 0x5d, 0x86, 0x68, 0xdc, 0x4c, 0x2c, 0x93, 0x25, 0x15, 0x4f, 0xc5, 0x47, 0xb7, 0xe5, + 0xf6, 0xa7, 0x29, 0xde, 0x99, 0x55, 0x2c, 0x13, 0x8d, 0x5f, 0xec, 0x17, 0x44, 0x67, 0x3c, 0x1c, + 0x20, 0x88, 0xce, 0x7a, 0x0f, 0x80, 0x11, 0x8d, 0xdf, 0xa2, 0x17, 0x44, 0x67, 0x5c, 0xe8, 0x17, + 0x44, 0x67, 0x5d, 0xbe, 0x57, 0x17, 0x88, 0x28, 0x23, 0xd1, 0x0d, 0x21, 0xca, 0xa4, 0x7c, 0x13, + 0x21, 0xca, 0xc4, 0xbc, 0x0a, 0xb6, 0xea, 0x44, 0x0f, 0x70, 0xa5, 0x6d, 0x72, 0xfa, 0xfc, 0x5d, + 0xda, 0x26, 0x13, 0xce, 0xbe, 0xd5, 0x05, 0xf4, 0x18, 0x56, 0xa6, 0x8e, 0xe9, 0x10, 0xef, 0xd1, + 0xac, 0xac, 0x85, 0xc6, 0x4b, 0x33, 0xcb, 0x43, 0xba, 0xe7, 0x22, 0xe9, 0x61, 0xfa, 0xe4, 0x1d, + 0xbd, 0x2a, 0x57, 0x9f, 0x99, 0x3a, 0xd0, 0x78, 0xed, 0x32, 0xb4, 0x98, 0x26, 0x44, 0x0f, 0x91, + 0x6e, 0x27, 0x75, 0x3c, 0x3c, 0xa1, 0x92, 0x34, 0x21, 0xf1, 0x78, 0x48, 0x5d, 0x40, 0xbf, 0x04, + 0x68, 0xfa, 0x88, 0x17, 0xf1, 0xae, 0xcf, 0x3c, 0xda, 0x6e, 0x6c, 0xcc, 0x46, 0x10, 0xa4, 0xdf, + 0x56, 0xd0, 0xd7, 0x61, 0x35, 0xe1, 0x74, 0x14, 0x6d, 0xcc, 0x10, 0xec, 0x84, 0xfc, 0xcb, 0x73, + 0x30, 0x66, 0x0a, 0x5f, 0x6e, 0x22, 0x49, 0xf8, 0x09, 0xed, 0xbc, 0x76, 0x19, 0x5a, 0xd8, 0xd8, + 0xd7, 0xc5, 0x9b, 0x69, 0x89, 0x5d, 0x99, 0x7d, 0x48, 0x28, 0xba, 0x32, 0xe7, 0x90, 0x8e, 0xee, + 0x1d, 0xa5, 0xc9, 0x09, 0x4d, 0x68, 0xc7, 0x4d, 0x1d, 0x50, 0x09, 0x3b, 0x6e, 0xfa, 0x34, 0x67, + 0xb2, 0xe2, 0x4b, 0x27, 0x00, 0x68, 0x62, 0xf6, 0xc5, 0x4e, 0x1d, 0x1a, 0x37, 0x12, 0x4a, 0xa4, + 0xc5, 0xb9, 0x18, 0x46, 0xc1, 0xc5, 0x4e, 0x18, 0x8f, 0xcf, 0x37, 0xd6, 0xa7, 0xe0, 0xb2, 0xed, + 0x21, 0x87, 0x8a, 0x85, 0xed, 0x91, 0x10, 0xc3, 0x16, 0xb6, 0x47, 0x52, 0x64, 0x59, 0x5d, 0x40, + 0x18, 0xae, 0x27, 0xc7, 0x4d, 0xd1, 0x5d, 0xa9, 0xde, 0xac, 0xd0, 0x6f, 0xe3, 0x95, 0xf9, 0x48, + 0xf2, 0xea, 0x30, 0x15, 0x48, 0x44, 0x93, 0xa9, 0x93, 0x18, 0xcc, 0x14, 0xab, 0xc3, 0xcc, 0x08, + 0x24, 0xa3, 0x3b, 0xf5, 0x90, 0xb0, 0xa0, 0x3b, 0xeb, 0x41, 0x63, 0x41, 0x77, 0xe6, 0x0b, 0xc4, + 0x6c, 0x21, 0x88, 0x3f, 0x07, 0x2c, 0x16, 0x82, 0x19, 0x0f, 0x0f, 0x8b, 0x85, 0x60, 0xd6, 0x2b, + 0xc2, 0xea, 0x02, 0xfa, 0x1a, 0xac, 0x4c, 0xbd, 0xfe, 0x2c, 0x98, 0x9d, 0xf5, 0xe0, 0x74, 0xe3, + 0xa5, 0x99, 0xe5, 0xd2, 0x2a, 0xb0, 0x07, 0x95, 0x48, 0xe0, 0x4c, 0xec, 0x0b, 0x49, 0x51, 0x3f, + 0xb1, 0x2f, 0x24, 0x46, 0xda, 0x88, 0x92, 0x93, 0x89, 0x38, 0x1d, 0xb0, 0xea, 0x8a, 0x89, 0x38, + 0x3b, 0xb2, 0x26, 0x26, 0xe2, 0x9c, 0x68, 0x17, 0xf3, 0x08, 0x92, 0xe2, 0x4a, 0xc2, 0x23, 0x98, + 0x13, 0xdd, 0x12, 0x1e, 0xc1, 0xbc, 0xb0, 0x14, 0x6b, 0x60, 0x77, 0x4e, 0x03, 0xbb, 0x97, 0x37, + 0xb0, 0x3b, 0xbf, 0x01, 0xe6, 0x72, 0xd0, 0x98, 0x8e, 0xe4, 0x72, 0xc8, 0x31, 0x22, 0xc9, 0xe5, + 0x88, 0x84, 0x7e, 0xd4, 0x85, 0xad, 0xd7, 0xfe, 0xe5, 0x2f, 0x0b, 0xca, 0x3f, 0xfd, 0xf8, 0x8e, + 0xf2, 0xcf, 0x3f, 0xbe, 0xa3, 0xfc, 0xe8, 0xc7, 0x77, 0x94, 0xef, 0xfd, 0xfb, 0x9d, 0x05, 0xa8, + 0xb9, 0xde, 0xe9, 0x83, 0xc0, 0x3e, 0xbf, 0x78, 0x70, 0x7e, 0x41, 0x1f, 0x21, 0x3f, 0x5e, 0xa4, + 0x3f, 0xef, 0xfe, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x85, 0x3d, 0xf5, 0xcf, 0x12, 0x5d, 0x00, + 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -8999,6 +9232,7 @@ type PDClient interface { GetRegion(ctx context.Context, in *GetRegionRequest, opts ...grpc.CallOption) (*GetRegionResponse, error) GetPrevRegion(ctx context.Context, in *GetRegionRequest, opts ...grpc.CallOption) (*GetRegionResponse, error) GetRegionByID(ctx context.Context, in *GetRegionByIDRequest, opts ...grpc.CallOption) (*GetRegionResponse, error) + QueryRegion(ctx context.Context, opts ...grpc.CallOption) (PD_QueryRegionClient, error) // Deprecated: use BatchScanRegions instead. ScanRegions(ctx context.Context, in *ScanRegionsRequest, opts ...grpc.CallOption) (*ScanRegionsResponse, error) BatchScanRegions(ctx context.Context, in *BatchScanRegionsRequest, opts ...grpc.CallOption) (*BatchScanRegionsResponse, error) @@ -9223,6 +9457,37 @@ func (c *pDClient) GetRegionByID(ctx context.Context, in *GetRegionByIDRequest, return out, nil } +func (c *pDClient) QueryRegion(ctx context.Context, opts ...grpc.CallOption) (PD_QueryRegionClient, error) { + stream, err := c.cc.NewStream(ctx, &_PD_serviceDesc.Streams[2], "/pdpb.PD/QueryRegion", opts...) + if err != nil { + return nil, err + } + x := &pDQueryRegionClient{stream} + return x, nil +} + +type PD_QueryRegionClient interface { + Send(*QueryRegionRequest) error + Recv() (*QueryRegionResponse, error) + grpc.ClientStream +} + +type pDQueryRegionClient struct { + grpc.ClientStream +} + +func (x *pDQueryRegionClient) Send(m *QueryRegionRequest) error { + return x.ClientStream.SendMsg(m) +} + +func (x *pDQueryRegionClient) Recv() (*QueryRegionResponse, error) { + m := new(QueryRegionResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + func (c *pDClient) ScanRegions(ctx context.Context, in *ScanRegionsRequest, opts ...grpc.CallOption) (*ScanRegionsResponse, error) { out := new(ScanRegionsResponse) err := c.cc.Invoke(ctx, "/pdpb.PD/ScanRegions", in, out, opts...) @@ -9343,7 +9608,7 @@ func (c *pDClient) GetGCSafePointV2(ctx context.Context, in *GetGCSafePointV2Req } func (c *pDClient) WatchGCSafePointV2(ctx context.Context, in *WatchGCSafePointV2Request, opts ...grpc.CallOption) (PD_WatchGCSafePointV2Client, error) { - stream, err := c.cc.NewStream(ctx, &_PD_serviceDesc.Streams[2], "/pdpb.PD/WatchGCSafePointV2", opts...) + stream, err := c.cc.NewStream(ctx, &_PD_serviceDesc.Streams[3], "/pdpb.PD/WatchGCSafePointV2", opts...) if err != nil { return nil, err } @@ -9402,7 +9667,7 @@ func (c *pDClient) GetAllGCSafePointV2(ctx context.Context, in *GetAllGCSafePoin } func (c *pDClient) SyncRegions(ctx context.Context, opts ...grpc.CallOption) (PD_SyncRegionsClient, error) { - stream, err := c.cc.NewStream(ctx, &_PD_serviceDesc.Streams[3], "/pdpb.PD/SyncRegions", opts...) + stream, err := c.cc.NewStream(ctx, &_PD_serviceDesc.Streams[4], "/pdpb.PD/SyncRegions", opts...) if err != nil { return nil, err } @@ -9496,7 +9761,7 @@ func (c *pDClient) LoadGlobalConfig(ctx context.Context, in *LoadGlobalConfigReq } func (c *pDClient) WatchGlobalConfig(ctx context.Context, in *WatchGlobalConfigRequest, opts ...grpc.CallOption) (PD_WatchGlobalConfigClient, error) { - stream, err := c.cc.NewStream(ctx, &_PD_serviceDesc.Streams[4], "/pdpb.PD/WatchGlobalConfig", opts...) + stream, err := c.cc.NewStream(ctx, &_PD_serviceDesc.Streams[5], "/pdpb.PD/WatchGlobalConfig", opts...) if err != nil { return nil, err } @@ -9528,7 +9793,7 @@ func (x *pDWatchGlobalConfigClient) Recv() (*WatchGlobalConfigResponse, error) { } func (c *pDClient) ReportBuckets(ctx context.Context, opts ...grpc.CallOption) (PD_ReportBucketsClient, error) { - stream, err := c.cc.NewStream(ctx, &_PD_serviceDesc.Streams[5], "/pdpb.PD/ReportBuckets", opts...) + stream, err := c.cc.NewStream(ctx, &_PD_serviceDesc.Streams[6], "/pdpb.PD/ReportBuckets", opts...) if err != nil { return nil, err } @@ -9618,6 +9883,7 @@ type PDServer interface { GetRegion(context.Context, *GetRegionRequest) (*GetRegionResponse, error) GetPrevRegion(context.Context, *GetRegionRequest) (*GetRegionResponse, error) GetRegionByID(context.Context, *GetRegionByIDRequest) (*GetRegionResponse, error) + QueryRegion(PD_QueryRegionServer) error // Deprecated: use BatchScanRegions instead. ScanRegions(context.Context, *ScanRegionsRequest) (*ScanRegionsResponse, error) BatchScanRegions(context.Context, *BatchScanRegionsRequest) (*BatchScanRegionsResponse, error) @@ -9704,6 +9970,9 @@ func (*UnimplementedPDServer) GetPrevRegion(ctx context.Context, req *GetRegionR func (*UnimplementedPDServer) GetRegionByID(ctx context.Context, req *GetRegionByIDRequest) (*GetRegionResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetRegionByID not implemented") } +func (*UnimplementedPDServer) QueryRegion(srv PD_QueryRegionServer) error { + return status.Errorf(codes.Unimplemented, "method QueryRegion not implemented") +} func (*UnimplementedPDServer) ScanRegions(ctx context.Context, req *ScanRegionsRequest) (*ScanRegionsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ScanRegions not implemented") } @@ -10088,6 +10357,32 @@ func _PD_GetRegionByID_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +func _PD_QueryRegion_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(PDServer).QueryRegion(&pDQueryRegionServer{stream}) +} + +type PD_QueryRegionServer interface { + Send(*QueryRegionResponse) error + Recv() (*QueryRegionRequest, error) + grpc.ServerStream +} + +type pDQueryRegionServer struct { + grpc.ServerStream +} + +func (x *pDQueryRegionServer) Send(m *QueryRegionResponse) error { + return x.ServerStream.SendMsg(m) +} + +func (x *pDQueryRegionServer) Recv() (*QueryRegionRequest, error) { + m := new(QueryRegionRequest) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + func _PD_ScanRegions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ScanRegionsRequest) if err := dec(in); err != nil { @@ -10846,6 +11141,12 @@ var _PD_serviceDesc = grpc.ServiceDesc{ ServerStreams: true, ClientStreams: true, }, + { + StreamName: "QueryRegion", + Handler: _PD_QueryRegion_Handler, + ServerStreams: true, + ClientStreams: true, + }, { StreamName: "WatchGCSafePointV2", Handler: _PD_WatchGCSafePointV2_Handler, @@ -12375,7 +12676,7 @@ func (m *GetRegionByIDRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *ScanRegionsRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryRegionRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12385,12 +12686,12 @@ func (m *ScanRegionsRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ScanRegionsRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryRegionRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *ScanRegionsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryRegionRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -12399,22 +12700,121 @@ func (m *ScanRegionsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - if len(m.EndKey) > 0 { - i -= len(m.EndKey) - copy(dAtA[i:], m.EndKey) - i = encodeVarintPdpb(dAtA, i, uint64(len(m.EndKey))) + if len(m.RegionIds) > 0 { + dAtA36 := make([]byte, len(m.RegionIds)*10) + var j35 int + for _, num := range m.RegionIds { + for num >= 1<<7 { + dAtA36[j35] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j35++ + } + dAtA36[j35] = uint8(num) + j35++ + } + i -= j35 + copy(dAtA[i:], dAtA36[:j35]) + i = encodeVarintPdpb(dAtA, i, uint64(j35)) i-- dAtA[i] = 0x22 } - if m.Limit != 0 { - i = encodeVarintPdpb(dAtA, i, uint64(m.Limit)) + if len(m.RegionKeys) > 0 { + for iNdEx := len(m.RegionKeys) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.RegionKeys[iNdEx]) + copy(dAtA[i:], m.RegionKeys[iNdEx]) + i = encodeVarintPdpb(dAtA, i, uint64(len(m.RegionKeys[iNdEx]))) + i-- + dAtA[i] = 0x1a + } + } + if m.NeedBuckets { i-- - dAtA[i] = 0x18 + if m.NeedBuckets { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 } - if len(m.StartKey) > 0 { - i -= len(m.StartKey) - copy(dAtA[i:], m.StartKey) - i = encodeVarintPdpb(dAtA, i, uint64(len(m.StartKey))) + if m.Header != nil { + { + size, err := m.Header.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintPdpb(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryRegionResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryRegionResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryRegionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if len(m.RegionsById) > 0 { + for k := range m.RegionsById { + v := m.RegionsById[k] + baseI := i + if v != nil { + { + size, err := v.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintPdpb(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + i = encodeVarintPdpb(dAtA, i, uint64(k)) + i-- + dAtA[i] = 0x8 + i = encodeVarintPdpb(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x1a + } + } + if len(m.KeyIdMap) > 0 { + dAtA40 := make([]byte, len(m.KeyIdMap)*10) + var j39 int + for _, num := range m.KeyIdMap { + for num >= 1<<7 { + dAtA40[j39] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j39++ + } + dAtA40[j39] = uint8(num) + j39++ + } + i -= j39 + copy(dAtA[i:], dAtA40[:j39]) + i = encodeVarintPdpb(dAtA, i, uint64(j39)) i-- dAtA[i] = 0x12 } @@ -12433,7 +12833,7 @@ func (m *ScanRegionsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *Region) Marshal() (dAtA []byte, err error) { +func (m *RegionResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12443,12 +12843,12 @@ func (m *Region) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Region) MarshalTo(dAtA []byte) (int, error) { +func (m *RegionResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *Region) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *RegionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -12524,7 +12924,7 @@ func (m *Region) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *ScanRegionsResponse) Marshal() (dAtA []byte, err error) { +func (m *ScanRegionsRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12534,12 +12934,12 @@ func (m *ScanRegionsResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ScanRegionsResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *ScanRegionsRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *ScanRegionsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ScanRegionsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -12548,24 +12948,173 @@ func (m *ScanRegionsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - if len(m.Regions) > 0 { - for iNdEx := len(m.Regions) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Regions[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintPdpb(dAtA, i, uint64(size)) + if len(m.EndKey) > 0 { + i -= len(m.EndKey) + copy(dAtA[i:], m.EndKey) + i = encodeVarintPdpb(dAtA, i, uint64(len(m.EndKey))) + i-- + dAtA[i] = 0x22 + } + if m.Limit != 0 { + i = encodeVarintPdpb(dAtA, i, uint64(m.Limit)) + i-- + dAtA[i] = 0x18 + } + if len(m.StartKey) > 0 { + i -= len(m.StartKey) + copy(dAtA[i:], m.StartKey) + i = encodeVarintPdpb(dAtA, i, uint64(len(m.StartKey))) + i-- + dAtA[i] = 0x12 + } + if m.Header != nil { + { + size, err := m.Header.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err } - i-- - dAtA[i] = 0x22 + i -= size + i = encodeVarintPdpb(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0xa } - if len(m.Leaders) > 0 { - for iNdEx := len(m.Leaders) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Leaders[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + return len(dAtA) - i, nil +} + +func (m *Region) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Region) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Region) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if m.Buckets != nil { + { + size, err := m.Buckets.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintPdpb(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + } + if len(m.PendingPeers) > 0 { + for iNdEx := len(m.PendingPeers) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.PendingPeers[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintPdpb(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + } + if len(m.DownPeers) > 0 { + for iNdEx := len(m.DownPeers) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.DownPeers[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintPdpb(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + } + if m.Leader != nil { + { + size, err := m.Leader.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintPdpb(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if m.Region != nil { + { + size, err := m.Region.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintPdpb(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ScanRegionsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ScanRegionsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ScanRegionsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if len(m.Regions) > 0 { + for iNdEx := len(m.Regions) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Regions[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintPdpb(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + } + if len(m.Leaders) > 0 { + for iNdEx := len(m.Leaders) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Leaders[iNdEx].MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -13262,20 +13811,20 @@ func (m *GetClusterInfoResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) } } if len(m.ServiceModes) > 0 { - dAtA55 := make([]byte, len(m.ServiceModes)*10) - var j54 int + dAtA65 := make([]byte, len(m.ServiceModes)*10) + var j64 int for _, num := range m.ServiceModes { for num >= 1<<7 { - dAtA55[j54] = uint8(uint64(num)&0x7f | 0x80) + dAtA65[j64] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j54++ + j64++ } - dAtA55[j54] = uint8(num) - j54++ + dAtA65[j64] = uint8(num) + j64++ } - i -= j54 - copy(dAtA[i:], dAtA55[:j54]) - i = encodeVarintPdpb(dAtA, i, uint64(j54)) + i -= j64 + copy(dAtA[i:], dAtA65[:j64]) + i = encodeVarintPdpb(dAtA, i, uint64(j64)) i-- dAtA[i] = 0x12 } @@ -14033,20 +14582,20 @@ func (m *AskSplitResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.XXX_unrecognized) } if len(m.NewPeerIds) > 0 { - dAtA79 := make([]byte, len(m.NewPeerIds)*10) - var j78 int + dAtA89 := make([]byte, len(m.NewPeerIds)*10) + var j88 int for _, num := range m.NewPeerIds { for num >= 1<<7 { - dAtA79[j78] = uint8(uint64(num)&0x7f | 0x80) + dAtA89[j88] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j78++ + j88++ } - dAtA79[j78] = uint8(num) - j78++ + dAtA89[j88] = uint8(num) + j88++ } - i -= j78 - copy(dAtA[i:], dAtA79[:j78]) - i = encodeVarintPdpb(dAtA, i, uint64(j78)) + i -= j88 + copy(dAtA[i:], dAtA89[:j88]) + i = encodeVarintPdpb(dAtA, i, uint64(j88)) i-- dAtA[i] = 0x1a } @@ -14253,20 +14802,20 @@ func (m *SplitID) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.XXX_unrecognized) } if len(m.NewPeerIds) > 0 { - dAtA88 := make([]byte, len(m.NewPeerIds)*10) - var j87 int + dAtA98 := make([]byte, len(m.NewPeerIds)*10) + var j97 int for _, num := range m.NewPeerIds { for num >= 1<<7 { - dAtA88[j87] = uint8(uint64(num)&0x7f | 0x80) + dAtA98[j97] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j87++ + j97++ } - dAtA88[j87] = uint8(num) - j87++ + dAtA98[j97] = uint8(num) + j97++ } - i -= j87 - copy(dAtA[i:], dAtA88[:j87]) - i = encodeVarintPdpb(dAtA, i, uint64(j87)) + i -= j97 + copy(dAtA[i:], dAtA98[:j97]) + i = encodeVarintPdpb(dAtA, i, uint64(j97)) i-- dAtA[i] = 0x12 } @@ -14656,20 +15205,20 @@ func (m *StoreStats) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0xc0 } if len(m.DamagedRegionsId) > 0 { - dAtA95 := make([]byte, len(m.DamagedRegionsId)*10) - var j94 int + dAtA105 := make([]byte, len(m.DamagedRegionsId)*10) + var j104 int for _, num := range m.DamagedRegionsId { for num >= 1<<7 { - dAtA95[j94] = uint8(uint64(num)&0x7f | 0x80) + dAtA105[j104] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j94++ + j104++ } - dAtA95[j94] = uint8(num) - j94++ + dAtA105[j104] = uint8(num) + j104++ } - i -= j94 - copy(dAtA[i:], dAtA95[:j94]) - i = encodeVarintPdpb(dAtA, i, uint64(j94)) + i -= j104 + copy(dAtA[i:], dAtA105[:j104]) + i = encodeVarintPdpb(dAtA, i, uint64(j104)) i-- dAtA[i] = 0x1 i-- @@ -15237,38 +15786,38 @@ func (m *ForceLeader) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.XXX_unrecognized) } if len(m.EnterForceLeaders) > 0 { - dAtA105 := make([]byte, len(m.EnterForceLeaders)*10) - var j104 int + dAtA115 := make([]byte, len(m.EnterForceLeaders)*10) + var j114 int for _, num := range m.EnterForceLeaders { for num >= 1<<7 { - dAtA105[j104] = uint8(uint64(num)&0x7f | 0x80) + dAtA115[j114] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j104++ + j114++ } - dAtA105[j104] = uint8(num) - j104++ + dAtA115[j114] = uint8(num) + j114++ } - i -= j104 - copy(dAtA[i:], dAtA105[:j104]) - i = encodeVarintPdpb(dAtA, i, uint64(j104)) + i -= j114 + copy(dAtA[i:], dAtA115[:j114]) + i = encodeVarintPdpb(dAtA, i, uint64(j114)) i-- dAtA[i] = 0x12 } if len(m.FailedStores) > 0 { - dAtA107 := make([]byte, len(m.FailedStores)*10) - var j106 int + dAtA117 := make([]byte, len(m.FailedStores)*10) + var j116 int for _, num := range m.FailedStores { for num >= 1<<7 { - dAtA107[j106] = uint8(uint64(num)&0x7f | 0x80) + dAtA117[j116] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j106++ + j116++ } - dAtA107[j106] = uint8(num) - j106++ + dAtA117[j116] = uint8(num) + j116++ } - i -= j106 - copy(dAtA[i:], dAtA107[:j106]) - i = encodeVarintPdpb(dAtA, i, uint64(j106)) + i -= j116 + copy(dAtA[i:], dAtA117[:j116]) + i = encodeVarintPdpb(dAtA, i, uint64(j116)) i-- dAtA[i] = 0xa } @@ -15331,20 +15880,20 @@ func (m *RecoveryPlan) MarshalToSizedBuffer(dAtA []byte) (int, error) { } } if len(m.Tombstones) > 0 { - dAtA110 := make([]byte, len(m.Tombstones)*10) - var j109 int + dAtA120 := make([]byte, len(m.Tombstones)*10) + var j119 int for _, num := range m.Tombstones { for num >= 1<<7 { - dAtA110[j109] = uint8(uint64(num)&0x7f | 0x80) + dAtA120[j119] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j109++ + j119++ } - dAtA110[j109] = uint8(num) - j109++ + dAtA120[j119] = uint8(num) + j119++ } - i -= j109 - copy(dAtA[i:], dAtA110[:j109]) - i = encodeVarintPdpb(dAtA, i, uint64(j109)) + i -= j119 + copy(dAtA[i:], dAtA120[:j119]) + i = encodeVarintPdpb(dAtA, i, uint64(j119)) i-- dAtA[i] = 0x1a } @@ -15404,20 +15953,20 @@ func (m *AwakenRegions) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.XXX_unrecognized) } if len(m.AbnormalStores) > 0 { - dAtA112 := make([]byte, len(m.AbnormalStores)*10) - var j111 int + dAtA122 := make([]byte, len(m.AbnormalStores)*10) + var j121 int for _, num := range m.AbnormalStores { for num >= 1<<7 { - dAtA112[j111] = uint8(uint64(num)&0x7f | 0x80) + dAtA122[j121] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j111++ + j121++ } - dAtA112[j111] = uint8(num) - j111++ + dAtA122[j121] = uint8(num) + j121++ } - i -= j111 - copy(dAtA[i:], dAtA112[:j111]) - i = encodeVarintPdpb(dAtA, i, uint64(j111)) + i -= j121 + copy(dAtA[i:], dAtA122[:j121]) + i = encodeVarintPdpb(dAtA, i, uint64(j121)) i-- dAtA[i] = 0xa } @@ -15600,20 +16149,20 @@ func (m *ScatterRegionRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x38 } if len(m.RegionsId) > 0 { - dAtA119 := make([]byte, len(m.RegionsId)*10) - var j118 int + dAtA129 := make([]byte, len(m.RegionsId)*10) + var j128 int for _, num := range m.RegionsId { for num >= 1<<7 { - dAtA119[j118] = uint8(uint64(num)&0x7f | 0x80) + dAtA129[j128] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j118++ + j128++ } - dAtA119[j118] = uint8(num) - j118++ + dAtA129[j128] = uint8(num) + j128++ } - i -= j118 - copy(dAtA[i:], dAtA119[:j118]) - i = encodeVarintPdpb(dAtA, i, uint64(j118)) + i -= j128 + copy(dAtA[i:], dAtA129[:j128]) + i = encodeVarintPdpb(dAtA, i, uint64(j128)) i-- dAtA[i] = 0x32 } @@ -17194,20 +17743,20 @@ func (m *SplitRegionsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.XXX_unrecognized) } if len(m.RegionsId) > 0 { - dAtA151 := make([]byte, len(m.RegionsId)*10) - var j150 int + dAtA161 := make([]byte, len(m.RegionsId)*10) + var j160 int for _, num := range m.RegionsId { for num >= 1<<7 { - dAtA151[j150] = uint8(uint64(num)&0x7f | 0x80) + dAtA161[j160] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j150++ + j160++ } - dAtA151[j150] = uint8(num) - j150++ + dAtA161[j160] = uint8(num) + j160++ } - i -= j150 - copy(dAtA[i:], dAtA151[:j150]) - i = encodeVarintPdpb(dAtA, i, uint64(j150)) + i -= j160 + copy(dAtA[i:], dAtA161[:j160]) + i = encodeVarintPdpb(dAtA, i, uint64(j160)) i-- dAtA[i] = 0x1a } @@ -17316,20 +17865,20 @@ func (m *SplitAndScatterRegionsResponse) MarshalToSizedBuffer(dAtA []byte) (int, copy(dAtA[i:], m.XXX_unrecognized) } if len(m.RegionsId) > 0 { - dAtA155 := make([]byte, len(m.RegionsId)*10) - var j154 int + dAtA165 := make([]byte, len(m.RegionsId)*10) + var j164 int for _, num := range m.RegionsId { for num >= 1<<7 { - dAtA155[j154] = uint8(uint64(num)&0x7f | 0x80) + dAtA165[j164] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j154++ + j164++ } - dAtA155[j154] = uint8(num) - j154++ + dAtA165[j164] = uint8(num) + j164++ } - i -= j154 - copy(dAtA[i:], dAtA155[:j154]) - i = encodeVarintPdpb(dAtA, i, uint64(j154)) + i -= j164 + copy(dAtA[i:], dAtA165[:j164]) + i = encodeVarintPdpb(dAtA, i, uint64(j164)) i-- dAtA[i] = 0x22 } @@ -18636,6 +19185,110 @@ func (m *GetRegionByIDRequest) Size() (n int) { return n } +func (m *QueryRegionRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Header != nil { + l = m.Header.Size() + n += 1 + l + sovPdpb(uint64(l)) + } + if m.NeedBuckets { + n += 2 + } + if len(m.RegionKeys) > 0 { + for _, b := range m.RegionKeys { + l = len(b) + n += 1 + l + sovPdpb(uint64(l)) + } + } + if len(m.RegionIds) > 0 { + l = 0 + for _, e := range m.RegionIds { + l += sovPdpb(uint64(e)) + } + n += 1 + sovPdpb(uint64(l)) + l + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *QueryRegionResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Header != nil { + l = m.Header.Size() + n += 1 + l + sovPdpb(uint64(l)) + } + if len(m.KeyIdMap) > 0 { + l = 0 + for _, e := range m.KeyIdMap { + l += sovPdpb(uint64(e)) + } + n += 1 + sovPdpb(uint64(l)) + l + } + if len(m.RegionsById) > 0 { + for k, v := range m.RegionsById { + _ = k + _ = v + l = 0 + if v != nil { + l = v.Size() + l += 1 + sovPdpb(uint64(l)) + } + mapEntrySize := 1 + sovPdpb(uint64(k)) + l + n += mapEntrySize + 1 + sovPdpb(uint64(mapEntrySize)) + } + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *RegionResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Region != nil { + l = m.Region.Size() + n += 1 + l + sovPdpb(uint64(l)) + } + if m.Leader != nil { + l = m.Leader.Size() + n += 1 + l + sovPdpb(uint64(l)) + } + if len(m.DownPeers) > 0 { + for _, e := range m.DownPeers { + l = e.Size() + n += 1 + l + sovPdpb(uint64(l)) + } + } + if len(m.PendingPeers) > 0 { + for _, e := range m.PendingPeers { + l = e.Size() + n += 1 + l + sovPdpb(uint64(l)) + } + } + if m.Buckets != nil { + l = m.Buckets.Size() + n += 1 + l + sovPdpb(uint64(l)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + func (m *ScanRegionsRequest) Size() (n int) { if m == nil { return 0 @@ -24740,6 +25393,726 @@ func (m *GetRegionByIDRequest) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryRegionRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPdpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryRegionRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryRegionRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Header", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPdpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthPdpb + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPdpb + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Header == nil { + m.Header = &RequestHeader{} + } + if err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NeedBuckets", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPdpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.NeedBuckets = bool(v != 0) + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RegionKeys", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPdpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthPdpb + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthPdpb + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RegionKeys = append(m.RegionKeys, make([]byte, postIndex-iNdEx)) + copy(m.RegionKeys[len(m.RegionKeys)-1], dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPdpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.RegionIds = append(m.RegionIds, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPdpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthPdpb + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthPdpb + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.RegionIds) == 0 { + m.RegionIds = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPdpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.RegionIds = append(m.RegionIds, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field RegionIds", wireType) + } + default: + iNdEx = preIndex + skippy, err := skipPdpb(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPdpb + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryRegionResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPdpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryRegionResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryRegionResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Header", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPdpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthPdpb + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPdpb + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Header == nil { + m.Header = &ResponseHeader{} + } + if err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPdpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.KeyIdMap = append(m.KeyIdMap, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPdpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthPdpb + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthPdpb + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.KeyIdMap) == 0 { + m.KeyIdMap = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPdpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.KeyIdMap = append(m.KeyIdMap, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field KeyIdMap", wireType) + } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RegionsById", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPdpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthPdpb + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPdpb + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.RegionsById == nil { + m.RegionsById = make(map[uint64]*RegionResponse) + } + var mapkey uint64 + var mapvalue *RegionResponse + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPdpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPdpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + mapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + } else if fieldNum == 2 { + var mapmsglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPdpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + mapmsglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if mapmsglen < 0 { + return ErrInvalidLengthPdpb + } + postmsgIndex := iNdEx + mapmsglen + if postmsgIndex < 0 { + return ErrInvalidLengthPdpb + } + if postmsgIndex > l { + return io.ErrUnexpectedEOF + } + mapvalue = &RegionResponse{} + if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil { + return err + } + iNdEx = postmsgIndex + } else { + iNdEx = entryPreIndex + skippy, err := skipPdpb(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPdpb + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.RegionsById[mapkey] = mapvalue + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipPdpb(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPdpb + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RegionResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPdpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: RegionResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RegionResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Region", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPdpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthPdpb + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPdpb + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Region == nil { + m.Region = &metapb.Region{} + } + if err := m.Region.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Leader", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPdpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthPdpb + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPdpb + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Leader == nil { + m.Leader = &metapb.Peer{} + } + if err := m.Leader.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DownPeers", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPdpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthPdpb + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPdpb + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DownPeers = append(m.DownPeers, &PeerStats{}) + if err := m.DownPeers[len(m.DownPeers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PendingPeers", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPdpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthPdpb + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPdpb + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PendingPeers = append(m.PendingPeers, &metapb.Peer{}) + if err := m.PendingPeers[len(m.PendingPeers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Buckets", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPdpb + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthPdpb + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthPdpb + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Buckets == nil { + m.Buckets = &metapb.Buckets{} + } + if err := m.Buckets.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipPdpb(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthPdpb + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *ScanRegionsRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/proto/pdpb.proto b/proto/pdpb.proto index 1bbfcd4ca..578d73368 100644 --- a/proto/pdpb.proto +++ b/proto/pdpb.proto @@ -51,6 +51,8 @@ service PD { rpc GetRegionByID(GetRegionByIDRequest) returns (GetRegionResponse) {} + rpc QueryRegion(stream QueryRegionRequest) returns (stream QueryRegionResponse) {} + // Deprecated: use BatchScanRegions instead. rpc ScanRegions(ScanRegionsRequest) returns (ScanRegionsResponse) {} @@ -334,6 +336,35 @@ message GetRegionByIDRequest { bool need_buckets = 3; } +message QueryRegionRequest { + RequestHeader header = 1; + + // Whether to include the buckets info within the response. + bool need_buckets = 2; + // The region keys to query. + repeated bytes region_keys = 3; + // The region IDs to query. + repeated uint64 region_ids = 4; +} + +message QueryRegionResponse { + ResponseHeader header = 1; + + // This array functions as a map corresponding to the region IDs, + // preserving the order of the input region keys, if they are present. + repeated uint64 key_id_map = 2; + // RegionID -> RegionResponse + map regions_by_id = 3; +} + +message RegionResponse { + metapb.Region region = 1; + metapb.Peer leader = 2; + repeated PeerStats down_peers = 3; + repeated metapb.Peer pending_peers = 4; + metapb.Buckets buckets = 5; +} + // Use GetRegionResponse as the response of GetRegionByIDRequest. // Deprecated: use BatchScanRegionsRequest instead. message ScanRegionsRequest { diff --git a/scripts/proto.lock b/scripts/proto.lock index cb0ea582f..0065f458e 100644 --- a/scripts/proto.lock +++ b/scripts/proto.lock @@ -14265,6 +14265,91 @@ } ] }, + { + "name": "QueryRegionRequest", + "fields": [ + { + "id": 1, + "name": "header", + "type": "RequestHeader" + }, + { + "id": 2, + "name": "need_buckets", + "type": "bool" + }, + { + "id": 3, + "name": "region_keys", + "type": "bytes", + "is_repeated": true + }, + { + "id": 4, + "name": "region_ids", + "type": "uint64", + "is_repeated": true + } + ] + }, + { + "name": "QueryRegionResponse", + "fields": [ + { + "id": 1, + "name": "header", + "type": "ResponseHeader" + }, + { + "id": 2, + "name": "key_id_map", + "type": "uint64", + "is_repeated": true + } + ], + "maps": [ + { + "key_type": "uint64", + "field": { + "id": 3, + "name": "regions_by_id", + "type": "RegionResponse" + } + } + ] + }, + { + "name": "RegionResponse", + "fields": [ + { + "id": 1, + "name": "region", + "type": "metapb.Region" + }, + { + "id": 2, + "name": "leader", + "type": "metapb.Peer" + }, + { + "id": 3, + "name": "down_peers", + "type": "PeerStats", + "is_repeated": true + }, + { + "id": 4, + "name": "pending_peers", + "type": "metapb.Peer", + "is_repeated": true + }, + { + "id": 5, + "name": "buckets", + "type": "metapb.Buckets" + } + ] + }, { "name": "ScanRegionsRequest", "fields": [ @@ -16494,6 +16579,13 @@ "in_type": "GetRegionByIDRequest", "out_type": "GetRegionResponse" }, + { + "name": "QueryRegion", + "in_type": "QueryRegionRequest", + "out_type": "QueryRegionResponse", + "in_streamed": true, + "out_streamed": true + }, { "name": "ScanRegions", "in_type": "ScanRegionsRequest",