diff --git a/Makefile b/Makefile index 3127f26ad..90b7fc327 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ COMMIT := $(shell git rev-parse --short HEAD) TAG := "$(shell git rev-list --tags --max-count=1)" VERSION := "$(shell git describe --tags ${TAG})-next" BUILD_DIR=dist -PROTON_COMMIT := "bd2a1d201fb4931e7b62d93031cb541016818daa" +PROTON_COMMIT := "9a4736fa34b310bb2d76371a72173ad984516050" .PHONY: all build clean test tidy vet proto setup format generate diff --git a/api/handler/v1beta1/grpc.go b/api/handler/v1beta1/grpc.go index 119bbdbf9..ef9bc3371 100644 --- a/api/handler/v1beta1/grpc.go +++ b/api/handler/v1beta1/grpc.go @@ -63,6 +63,7 @@ type providerService interface { Find(context.Context, domain.ProviderFilter) ([]*domain.Provider, error) GetByID(context.Context, string) (*domain.Provider, error) GetTypes(context.Context) ([]domain.ProviderType, error) + GetDefaultRoles(ctx context.Context, name string, resourceType string) ([]string, error) GetOne(ctx context.Context, pType, urn string) (*domain.Provider, error) Update(context.Context, *domain.Provider) error FetchResources(context.Context) error diff --git a/api/handler/v1beta1/mocks/providerService.go b/api/handler/v1beta1/mocks/providerService.go index e67ce67ea..8381f3b8d 100644 --- a/api/handler/v1beta1/mocks/providerService.go +++ b/api/handler/v1beta1/mocks/providerService.go @@ -280,6 +280,66 @@ func (_c *ProviderService_GetByID_Call) RunAndReturn(run func(context.Context, s return _c } +// GetDefaultRoles provides a mock function with given fields: ctx, name, resourceType +func (_m *ProviderService) GetDefaultRoles(ctx context.Context, name string, resourceType string) ([]string, error) { + ret := _m.Called(ctx, name, resourceType) + + if len(ret) == 0 { + panic("no return value specified for GetDefaultRoles") + } + + var r0 []string + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, string, string) ([]string, error)); ok { + return rf(ctx, name, resourceType) + } + if rf, ok := ret.Get(0).(func(context.Context, string, string) []string); ok { + r0 = rf(ctx, name, resourceType) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).([]string) + } + } + + if rf, ok := ret.Get(1).(func(context.Context, string, string) error); ok { + r1 = rf(ctx, name, resourceType) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// ProviderService_GetDefaultRoles_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetDefaultRoles' +type ProviderService_GetDefaultRoles_Call struct { + *mock.Call +} + +// GetDefaultRoles is a helper method to define mock.On call +// - ctx context.Context +// - pType string +// - resourceType string +func (_e *ProviderService_Expecter) GetDefaultRoles(ctx interface{}, pType interface{}, resourceType interface{}) *ProviderService_GetDefaultRoles_Call { + return &ProviderService_GetDefaultRoles_Call{Call: _e.mock.On("GetDefaultRoles", ctx, pType, resourceType)} +} + +func (_c *ProviderService_GetDefaultRoles_Call) Run(run func(ctx context.Context, pType string, resourceType string)) *ProviderService_GetDefaultRoles_Call { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(context.Context), args[1].(string), args[2].(string)) + }) + return _c +} + +func (_c *ProviderService_GetDefaultRoles_Call) Return(_a0 []string, _a1 error) *ProviderService_GetDefaultRoles_Call { + _c.Call.Return(_a0, _a1) + return _c +} + +func (_c *ProviderService_GetDefaultRoles_Call) RunAndReturn(run func(context.Context, string, string) ([]string, error)) *ProviderService_GetDefaultRoles_Call { + _c.Call.Return(run) + return _c +} + // GetOne provides a mock function with given fields: ctx, pType, urn func (_m *ProviderService) GetOne(ctx context.Context, pType string, urn string) (*domain.Provider, error) { ret := _m.Called(ctx, pType, urn) diff --git a/api/handler/v1beta1/provider.go b/api/handler/v1beta1/provider.go index dca4ae75c..4e43740f4 100644 --- a/api/handler/v1beta1/provider.go +++ b/api/handler/v1beta1/provider.go @@ -72,6 +72,17 @@ func (s *GRPCServer) GetProviderTypes(ctx context.Context, req *guardianv1beta1. }, nil } +func (s *GRPCServer) GetProviderRoles(ctx context.Context, req *guardianv1beta1.GetProviderRolesRequest) (*guardianv1beta1.GetProviderRolesResponse, error) { + roles, err := s.providerService.GetDefaultRoles(ctx, req.GetName(), req.GetResourceType()) + if err != nil { + return nil, status.Errorf(codes.Internal, "failed to retrieve default roles: %v", err) + } + + return &guardianv1beta1.GetProviderRolesResponse{ + Roles: roles, + }, nil +} + func (s *GRPCServer) CreateProvider(ctx context.Context, req *guardianv1beta1.CreateProviderRequest) (*guardianv1beta1.CreateProviderResponse, error) { if req.GetDryRun() { ctx = provider.WithDryRun(ctx) diff --git a/api/proto/raystack/guardian/v1beta1/guardian.pb.go b/api/proto/raystack/guardian/v1beta1/guardian.pb.go index b13fe8b1b..f63db3e24 100644 --- a/api/proto/raystack/guardian/v1beta1/guardian.pb.go +++ b/api/proto/raystack/guardian/v1beta1/guardian.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.29.0 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: raystack/guardian/v1beta1/guardian.proto @@ -306,6 +306,108 @@ func (x *GetProviderTypesResponse) GetProviderTypes() []*ProviderType { return nil } +type GetProviderRolesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + ResourceType string `protobuf:"bytes,2,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"` +} + +func (x *GetProviderRolesRequest) Reset() { + *x = GetProviderRolesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetProviderRolesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProviderRolesRequest) ProtoMessage() {} + +func (x *GetProviderRolesRequest) ProtoReflect() protoreflect.Message { + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetProviderRolesRequest.ProtoReflect.Descriptor instead. +func (*GetProviderRolesRequest) Descriptor() ([]byte, []int) { + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{6} +} + +func (x *GetProviderRolesRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GetProviderRolesRequest) GetResourceType() string { + if x != nil { + return x.ResourceType + } + return "" +} + +type GetProviderRolesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Roles []string `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` +} + +func (x *GetProviderRolesResponse) Reset() { + *x = GetProviderRolesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetProviderRolesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProviderRolesResponse) ProtoMessage() {} + +func (x *GetProviderRolesResponse) ProtoReflect() protoreflect.Message { + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetProviderRolesResponse.ProtoReflect.Descriptor instead. +func (*GetProviderRolesResponse) Descriptor() ([]byte, []int) { + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{7} +} + +func (x *GetProviderRolesResponse) GetRoles() []string { + if x != nil { + return x.Roles + } + return nil +} + type CreateProviderRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -318,7 +420,7 @@ type CreateProviderRequest struct { func (x *CreateProviderRequest) Reset() { *x = CreateProviderRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[6] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -331,7 +433,7 @@ func (x *CreateProviderRequest) String() string { func (*CreateProviderRequest) ProtoMessage() {} func (x *CreateProviderRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[6] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -344,7 +446,7 @@ func (x *CreateProviderRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateProviderRequest.ProtoReflect.Descriptor instead. func (*CreateProviderRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{6} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{8} } func (x *CreateProviderRequest) GetConfig() *ProviderConfig { @@ -372,7 +474,7 @@ type CreateProviderResponse struct { func (x *CreateProviderResponse) Reset() { *x = CreateProviderResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[7] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -385,7 +487,7 @@ func (x *CreateProviderResponse) String() string { func (*CreateProviderResponse) ProtoMessage() {} func (x *CreateProviderResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[7] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -398,7 +500,7 @@ func (x *CreateProviderResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateProviderResponse.ProtoReflect.Descriptor instead. func (*CreateProviderResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{7} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{9} } func (x *CreateProviderResponse) GetProvider() *Provider { @@ -421,7 +523,7 @@ type UpdateProviderRequest struct { func (x *UpdateProviderRequest) Reset() { *x = UpdateProviderRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[8] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -434,7 +536,7 @@ func (x *UpdateProviderRequest) String() string { func (*UpdateProviderRequest) ProtoMessage() {} func (x *UpdateProviderRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[8] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -447,7 +549,7 @@ func (x *UpdateProviderRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateProviderRequest.ProtoReflect.Descriptor instead. func (*UpdateProviderRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{8} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{10} } func (x *UpdateProviderRequest) GetId() string { @@ -482,7 +584,7 @@ type UpdateProviderResponse struct { func (x *UpdateProviderResponse) Reset() { *x = UpdateProviderResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[9] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -495,7 +597,7 @@ func (x *UpdateProviderResponse) String() string { func (*UpdateProviderResponse) ProtoMessage() {} func (x *UpdateProviderResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[9] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -508,7 +610,7 @@ func (x *UpdateProviderResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateProviderResponse.ProtoReflect.Descriptor instead. func (*UpdateProviderResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{9} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{11} } func (x *UpdateProviderResponse) GetProvider() *Provider { @@ -529,7 +631,7 @@ type DeleteProviderRequest struct { func (x *DeleteProviderRequest) Reset() { *x = DeleteProviderRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[10] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -542,7 +644,7 @@ func (x *DeleteProviderRequest) String() string { func (*DeleteProviderRequest) ProtoMessage() {} func (x *DeleteProviderRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[10] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -555,7 +657,7 @@ func (x *DeleteProviderRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteProviderRequest.ProtoReflect.Descriptor instead. func (*DeleteProviderRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{10} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{12} } func (x *DeleteProviderRequest) GetId() string { @@ -574,7 +676,7 @@ type DeleteProviderResponse struct { func (x *DeleteProviderResponse) Reset() { *x = DeleteProviderResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[11] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -587,7 +689,7 @@ func (x *DeleteProviderResponse) String() string { func (*DeleteProviderResponse) ProtoMessage() {} func (x *DeleteProviderResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[11] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -600,7 +702,7 @@ func (x *DeleteProviderResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteProviderResponse.ProtoReflect.Descriptor instead. func (*DeleteProviderResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{11} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{13} } type ImportGrantsFromProviderRequest struct { @@ -617,7 +719,7 @@ type ImportGrantsFromProviderRequest struct { func (x *ImportGrantsFromProviderRequest) Reset() { *x = ImportGrantsFromProviderRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[12] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -630,7 +732,7 @@ func (x *ImportGrantsFromProviderRequest) String() string { func (*ImportGrantsFromProviderRequest) ProtoMessage() {} func (x *ImportGrantsFromProviderRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[12] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -643,7 +745,7 @@ func (x *ImportGrantsFromProviderRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ImportGrantsFromProviderRequest.ProtoReflect.Descriptor instead. func (*ImportGrantsFromProviderRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{12} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{14} } func (x *ImportGrantsFromProviderRequest) GetProviderId() string { @@ -685,7 +787,7 @@ type ImportGrantsFromProviderResponse struct { func (x *ImportGrantsFromProviderResponse) Reset() { *x = ImportGrantsFromProviderResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[13] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -698,7 +800,7 @@ func (x *ImportGrantsFromProviderResponse) String() string { func (*ImportGrantsFromProviderResponse) ProtoMessage() {} func (x *ImportGrantsFromProviderResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[13] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -711,7 +813,7 @@ func (x *ImportGrantsFromProviderResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ImportGrantsFromProviderResponse.ProtoReflect.Descriptor instead. func (*ImportGrantsFromProviderResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{13} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{15} } func (x *ImportGrantsFromProviderResponse) GetGrants() []*Grant { @@ -733,7 +835,7 @@ type ListRolesRequest struct { func (x *ListRolesRequest) Reset() { *x = ListRolesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[14] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -746,7 +848,7 @@ func (x *ListRolesRequest) String() string { func (*ListRolesRequest) ProtoMessage() {} func (x *ListRolesRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[14] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -759,7 +861,7 @@ func (x *ListRolesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRolesRequest.ProtoReflect.Descriptor instead. func (*ListRolesRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{14} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{16} } func (x *ListRolesRequest) GetId() string { @@ -787,7 +889,7 @@ type ListRolesResponse struct { func (x *ListRolesResponse) Reset() { *x = ListRolesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[15] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -800,7 +902,7 @@ func (x *ListRolesResponse) String() string { func (*ListRolesResponse) ProtoMessage() {} func (x *ListRolesResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[15] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -813,7 +915,7 @@ func (x *ListRolesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRolesResponse.ProtoReflect.Descriptor instead. func (*ListRolesResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{15} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{17} } func (x *ListRolesResponse) GetRoles() []*Role { @@ -838,7 +940,7 @@ type ImportActivitiesRequest struct { func (x *ImportActivitiesRequest) Reset() { *x = ImportActivitiesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[16] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -851,7 +953,7 @@ func (x *ImportActivitiesRequest) String() string { func (*ImportActivitiesRequest) ProtoMessage() {} func (x *ImportActivitiesRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[16] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -864,7 +966,7 @@ func (x *ImportActivitiesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ImportActivitiesRequest.ProtoReflect.Descriptor instead. func (*ImportActivitiesRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{16} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{18} } func (x *ImportActivitiesRequest) GetProviderId() string { @@ -913,7 +1015,7 @@ type ImportActivitiesResponse struct { func (x *ImportActivitiesResponse) Reset() { *x = ImportActivitiesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[17] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -926,7 +1028,7 @@ func (x *ImportActivitiesResponse) String() string { func (*ImportActivitiesResponse) ProtoMessage() {} func (x *ImportActivitiesResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[17] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -939,7 +1041,7 @@ func (x *ImportActivitiesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ImportActivitiesResponse.ProtoReflect.Descriptor instead. func (*ImportActivitiesResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{17} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{19} } func (x *ImportActivitiesResponse) GetActivities() []*ProviderActivity { @@ -960,7 +1062,7 @@ type GetActivityRequest struct { func (x *GetActivityRequest) Reset() { *x = GetActivityRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[18] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -973,7 +1075,7 @@ func (x *GetActivityRequest) String() string { func (*GetActivityRequest) ProtoMessage() {} func (x *GetActivityRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[18] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -986,7 +1088,7 @@ func (x *GetActivityRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetActivityRequest.ProtoReflect.Descriptor instead. func (*GetActivityRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{18} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{20} } func (x *GetActivityRequest) GetId() string { @@ -1007,7 +1109,7 @@ type GetActivityResponse struct { func (x *GetActivityResponse) Reset() { *x = GetActivityResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[19] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1020,7 +1122,7 @@ func (x *GetActivityResponse) String() string { func (*GetActivityResponse) ProtoMessage() {} func (x *GetActivityResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[19] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1033,7 +1135,7 @@ func (x *GetActivityResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetActivityResponse.ProtoReflect.Descriptor instead. func (*GetActivityResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{19} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{21} } func (x *GetActivityResponse) GetActivity() *ProviderActivity { @@ -1059,7 +1161,7 @@ type ListActivitiesRequest struct { func (x *ListActivitiesRequest) Reset() { *x = ListActivitiesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[20] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1072,7 +1174,7 @@ func (x *ListActivitiesRequest) String() string { func (*ListActivitiesRequest) ProtoMessage() {} func (x *ListActivitiesRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[20] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1085,7 +1187,7 @@ func (x *ListActivitiesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListActivitiesRequest.ProtoReflect.Descriptor instead. func (*ListActivitiesRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{20} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{22} } func (x *ListActivitiesRequest) GetProviderIds() []string { @@ -1141,7 +1243,7 @@ type ListActivitiesResponse struct { func (x *ListActivitiesResponse) Reset() { *x = ListActivitiesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[21] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1154,7 +1256,7 @@ func (x *ListActivitiesResponse) String() string { func (*ListActivitiesResponse) ProtoMessage() {} func (x *ListActivitiesResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[21] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1167,7 +1269,7 @@ func (x *ListActivitiesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListActivitiesResponse.ProtoReflect.Descriptor instead. func (*ListActivitiesResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{21} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{23} } func (x *ListActivitiesResponse) GetActivities() []*ProviderActivity { @@ -1186,7 +1288,7 @@ type ListPoliciesRequest struct { func (x *ListPoliciesRequest) Reset() { *x = ListPoliciesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[22] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1199,7 +1301,7 @@ func (x *ListPoliciesRequest) String() string { func (*ListPoliciesRequest) ProtoMessage() {} func (x *ListPoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[22] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1212,7 +1314,7 @@ func (x *ListPoliciesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPoliciesRequest.ProtoReflect.Descriptor instead. func (*ListPoliciesRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{22} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{24} } type ListPoliciesResponse struct { @@ -1226,7 +1328,7 @@ type ListPoliciesResponse struct { func (x *ListPoliciesResponse) Reset() { *x = ListPoliciesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[23] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1239,7 +1341,7 @@ func (x *ListPoliciesResponse) String() string { func (*ListPoliciesResponse) ProtoMessage() {} func (x *ListPoliciesResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[23] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1252,7 +1354,7 @@ func (x *ListPoliciesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPoliciesResponse.ProtoReflect.Descriptor instead. func (*ListPoliciesResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{23} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{25} } func (x *ListPoliciesResponse) GetPolicies() []*Policy { @@ -1274,7 +1376,7 @@ type GetPolicyRequest struct { func (x *GetPolicyRequest) Reset() { *x = GetPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[24] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1287,7 +1389,7 @@ func (x *GetPolicyRequest) String() string { func (*GetPolicyRequest) ProtoMessage() {} func (x *GetPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[24] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1300,7 +1402,7 @@ func (x *GetPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPolicyRequest.ProtoReflect.Descriptor instead. func (*GetPolicyRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{24} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{26} } func (x *GetPolicyRequest) GetId() string { @@ -1329,7 +1431,7 @@ type GetPolicyPreferencesRequest struct { func (x *GetPolicyPreferencesRequest) Reset() { *x = GetPolicyPreferencesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[25] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1342,7 +1444,7 @@ func (x *GetPolicyPreferencesRequest) String() string { func (*GetPolicyPreferencesRequest) ProtoMessage() {} func (x *GetPolicyPreferencesRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[25] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1355,7 +1457,7 @@ func (x *GetPolicyPreferencesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPolicyPreferencesRequest.ProtoReflect.Descriptor instead. func (*GetPolicyPreferencesRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{25} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{27} } func (x *GetPolicyPreferencesRequest) GetId() string { @@ -1383,7 +1485,7 @@ type GetPolicyPreferencesResponse struct { func (x *GetPolicyPreferencesResponse) Reset() { *x = GetPolicyPreferencesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[26] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1396,7 +1498,7 @@ func (x *GetPolicyPreferencesResponse) String() string { func (*GetPolicyPreferencesResponse) ProtoMessage() {} func (x *GetPolicyPreferencesResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[26] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1409,7 +1511,7 @@ func (x *GetPolicyPreferencesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPolicyPreferencesResponse.ProtoReflect.Descriptor instead. func (*GetPolicyPreferencesResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{26} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{28} } func (x *GetPolicyPreferencesResponse) GetAppeal() *PolicyAppealConfig { @@ -1430,7 +1532,7 @@ type GetPolicyResponse struct { func (x *GetPolicyResponse) Reset() { *x = GetPolicyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[27] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1443,7 +1545,7 @@ func (x *GetPolicyResponse) String() string { func (*GetPolicyResponse) ProtoMessage() {} func (x *GetPolicyResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[27] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1456,7 +1558,7 @@ func (x *GetPolicyResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPolicyResponse.ProtoReflect.Descriptor instead. func (*GetPolicyResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{27} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{29} } func (x *GetPolicyResponse) GetPolicy() *Policy { @@ -1478,7 +1580,7 @@ type CreatePolicyRequest struct { func (x *CreatePolicyRequest) Reset() { *x = CreatePolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[28] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1491,7 +1593,7 @@ func (x *CreatePolicyRequest) String() string { func (*CreatePolicyRequest) ProtoMessage() {} func (x *CreatePolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[28] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1504,7 +1606,7 @@ func (x *CreatePolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreatePolicyRequest.ProtoReflect.Descriptor instead. func (*CreatePolicyRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{28} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{30} } func (x *CreatePolicyRequest) GetPolicy() *Policy { @@ -1532,7 +1634,7 @@ type CreatePolicyResponse struct { func (x *CreatePolicyResponse) Reset() { *x = CreatePolicyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[29] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1545,7 +1647,7 @@ func (x *CreatePolicyResponse) String() string { func (*CreatePolicyResponse) ProtoMessage() {} func (x *CreatePolicyResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[29] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1558,7 +1660,7 @@ func (x *CreatePolicyResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreatePolicyResponse.ProtoReflect.Descriptor instead. func (*CreatePolicyResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{29} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{31} } func (x *CreatePolicyResponse) GetPolicy() *Policy { @@ -1581,7 +1683,7 @@ type UpdatePolicyRequest struct { func (x *UpdatePolicyRequest) Reset() { *x = UpdatePolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[30] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1594,7 +1696,7 @@ func (x *UpdatePolicyRequest) String() string { func (*UpdatePolicyRequest) ProtoMessage() {} func (x *UpdatePolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[30] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1607,7 +1709,7 @@ func (x *UpdatePolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdatePolicyRequest.ProtoReflect.Descriptor instead. func (*UpdatePolicyRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{30} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{32} } func (x *UpdatePolicyRequest) GetId() string { @@ -1642,7 +1744,7 @@ type UpdatePolicyResponse struct { func (x *UpdatePolicyResponse) Reset() { *x = UpdatePolicyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[31] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1655,7 +1757,7 @@ func (x *UpdatePolicyResponse) String() string { func (*UpdatePolicyResponse) ProtoMessage() {} func (x *UpdatePolicyResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[31] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1668,7 +1770,7 @@ func (x *UpdatePolicyResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdatePolicyResponse.ProtoReflect.Descriptor instead. func (*UpdatePolicyResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{31} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{33} } func (x *UpdatePolicyResponse) GetPolicy() *Policy { @@ -1695,7 +1797,7 @@ type ListResourcesRequest struct { func (x *ListResourcesRequest) Reset() { *x = ListResourcesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[32] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1708,7 +1810,7 @@ func (x *ListResourcesRequest) String() string { func (*ListResourcesRequest) ProtoMessage() {} func (x *ListResourcesRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[32] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1721,7 +1823,7 @@ func (x *ListResourcesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListResourcesRequest.ProtoReflect.Descriptor instead. func (*ListResourcesRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{32} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{34} } func (x *ListResourcesRequest) GetIsDeleted() bool { @@ -1784,7 +1886,7 @@ type ListResourcesResponse struct { func (x *ListResourcesResponse) Reset() { *x = ListResourcesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[33] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1797,7 +1899,7 @@ func (x *ListResourcesResponse) String() string { func (*ListResourcesResponse) ProtoMessage() {} func (x *ListResourcesResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[33] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1810,7 +1912,7 @@ func (x *ListResourcesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListResourcesResponse.ProtoReflect.Descriptor instead. func (*ListResourcesResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{33} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{35} } func (x *ListResourcesResponse) GetResources() []*Resource { @@ -1831,7 +1933,7 @@ type GetResourceRequest struct { func (x *GetResourceRequest) Reset() { *x = GetResourceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[34] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1844,7 +1946,7 @@ func (x *GetResourceRequest) String() string { func (*GetResourceRequest) ProtoMessage() {} func (x *GetResourceRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[34] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1857,7 +1959,7 @@ func (x *GetResourceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetResourceRequest.ProtoReflect.Descriptor instead. func (*GetResourceRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{34} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{36} } func (x *GetResourceRequest) GetId() string { @@ -1878,7 +1980,7 @@ type GetResourceResponse struct { func (x *GetResourceResponse) Reset() { *x = GetResourceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[35] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1891,7 +1993,7 @@ func (x *GetResourceResponse) String() string { func (*GetResourceResponse) ProtoMessage() {} func (x *GetResourceResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[35] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1904,7 +2006,7 @@ func (x *GetResourceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetResourceResponse.ProtoReflect.Descriptor instead. func (*GetResourceResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{35} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{37} } func (x *GetResourceResponse) GetResource() *Resource { @@ -1926,7 +2028,7 @@ type UpdateResourceRequest struct { func (x *UpdateResourceRequest) Reset() { *x = UpdateResourceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[36] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1939,7 +2041,7 @@ func (x *UpdateResourceRequest) String() string { func (*UpdateResourceRequest) ProtoMessage() {} func (x *UpdateResourceRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[36] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1952,7 +2054,7 @@ func (x *UpdateResourceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateResourceRequest.ProtoReflect.Descriptor instead. func (*UpdateResourceRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{36} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{38} } func (x *UpdateResourceRequest) GetId() string { @@ -1980,7 +2082,7 @@ type UpdateResourceResponse struct { func (x *UpdateResourceResponse) Reset() { *x = UpdateResourceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[37] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1993,7 +2095,7 @@ func (x *UpdateResourceResponse) String() string { func (*UpdateResourceResponse) ProtoMessage() {} func (x *UpdateResourceResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[37] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2006,7 +2108,7 @@ func (x *UpdateResourceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateResourceResponse.ProtoReflect.Descriptor instead. func (*UpdateResourceResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{37} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{39} } func (x *UpdateResourceResponse) GetResource() *Resource { @@ -2027,7 +2129,7 @@ type DeleteResourceRequest struct { func (x *DeleteResourceRequest) Reset() { *x = DeleteResourceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[38] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2040,7 +2142,7 @@ func (x *DeleteResourceRequest) String() string { func (*DeleteResourceRequest) ProtoMessage() {} func (x *DeleteResourceRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[38] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2053,7 +2155,7 @@ func (x *DeleteResourceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteResourceRequest.ProtoReflect.Descriptor instead. func (*DeleteResourceRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{38} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{40} } func (x *DeleteResourceRequest) GetId() string { @@ -2072,7 +2174,7 @@ type DeleteResourceResponse struct { func (x *DeleteResourceResponse) Reset() { *x = DeleteResourceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[39] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2085,7 +2187,7 @@ func (x *DeleteResourceResponse) String() string { func (*DeleteResourceResponse) ProtoMessage() {} func (x *DeleteResourceResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[39] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2098,7 +2200,7 @@ func (x *DeleteResourceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteResourceResponse.ProtoReflect.Descriptor instead. func (*DeleteResourceResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{39} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{41} } type ListUserAppealsRequest struct { @@ -2122,7 +2224,7 @@ type ListUserAppealsRequest struct { func (x *ListUserAppealsRequest) Reset() { *x = ListUserAppealsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[40] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2135,7 +2237,7 @@ func (x *ListUserAppealsRequest) String() string { func (*ListUserAppealsRequest) ProtoMessage() {} func (x *ListUserAppealsRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[40] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2148,7 +2250,7 @@ func (x *ListUserAppealsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListUserAppealsRequest.ProtoReflect.Descriptor instead. func (*ListUserAppealsRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{40} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{42} } func (x *ListUserAppealsRequest) GetStatuses() []string { @@ -2240,7 +2342,7 @@ type ListUserAppealsResponse struct { func (x *ListUserAppealsResponse) Reset() { *x = ListUserAppealsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[41] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2253,7 +2355,7 @@ func (x *ListUserAppealsResponse) String() string { func (*ListUserAppealsResponse) ProtoMessage() {} func (x *ListUserAppealsResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[41] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2266,7 +2368,7 @@ func (x *ListUserAppealsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListUserAppealsResponse.ProtoReflect.Descriptor instead. func (*ListUserAppealsResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{41} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{43} } func (x *ListUserAppealsResponse) GetAppeals() []*Appeal { @@ -2306,7 +2408,7 @@ type ListAppealsRequest struct { func (x *ListAppealsRequest) Reset() { *x = ListAppealsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[42] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2319,7 +2421,7 @@ func (x *ListAppealsRequest) String() string { func (*ListAppealsRequest) ProtoMessage() {} func (x *ListAppealsRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[42] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2332,7 +2434,7 @@ func (x *ListAppealsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAppealsRequest.ProtoReflect.Descriptor instead. func (*ListAppealsRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{42} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{44} } func (x *ListAppealsRequest) GetAccountId() string { @@ -2438,7 +2540,7 @@ type ListAppealsResponse struct { func (x *ListAppealsResponse) Reset() { *x = ListAppealsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[43] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2451,7 +2553,7 @@ func (x *ListAppealsResponse) String() string { func (*ListAppealsResponse) ProtoMessage() {} func (x *ListAppealsResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[43] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2464,7 +2566,7 @@ func (x *ListAppealsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAppealsResponse.ProtoReflect.Descriptor instead. func (*ListAppealsResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{43} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{45} } func (x *ListAppealsResponse) GetAppeals() []*Appeal { @@ -2492,7 +2594,7 @@ type GetAppealRequest struct { func (x *GetAppealRequest) Reset() { *x = GetAppealRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[44] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2505,7 +2607,7 @@ func (x *GetAppealRequest) String() string { func (*GetAppealRequest) ProtoMessage() {} func (x *GetAppealRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[44] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2518,7 +2620,7 @@ func (x *GetAppealRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAppealRequest.ProtoReflect.Descriptor instead. func (*GetAppealRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{44} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{46} } func (x *GetAppealRequest) GetId() string { @@ -2539,7 +2641,7 @@ type GetAppealResponse struct { func (x *GetAppealResponse) Reset() { *x = GetAppealResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[45] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2552,7 +2654,7 @@ func (x *GetAppealResponse) String() string { func (*GetAppealResponse) ProtoMessage() {} func (x *GetAppealResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[45] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2565,7 +2667,7 @@ func (x *GetAppealResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAppealResponse.ProtoReflect.Descriptor instead. func (*GetAppealResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{45} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{47} } func (x *GetAppealResponse) GetAppeal() *Appeal { @@ -2586,7 +2688,7 @@ type CancelAppealRequest struct { func (x *CancelAppealRequest) Reset() { *x = CancelAppealRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[46] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2599,7 +2701,7 @@ func (x *CancelAppealRequest) String() string { func (*CancelAppealRequest) ProtoMessage() {} func (x *CancelAppealRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[46] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2612,7 +2714,7 @@ func (x *CancelAppealRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelAppealRequest.ProtoReflect.Descriptor instead. func (*CancelAppealRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{46} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{48} } func (x *CancelAppealRequest) GetId() string { @@ -2633,7 +2735,7 @@ type CancelAppealResponse struct { func (x *CancelAppealResponse) Reset() { *x = CancelAppealResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[47] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2646,7 +2748,7 @@ func (x *CancelAppealResponse) String() string { func (*CancelAppealResponse) ProtoMessage() {} func (x *CancelAppealResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[47] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2659,7 +2761,7 @@ func (x *CancelAppealResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelAppealResponse.ProtoReflect.Descriptor instead. func (*CancelAppealResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{47} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{49} } func (x *CancelAppealResponse) GetAppeal() *Appeal { @@ -2681,7 +2783,7 @@ type RevokeAppealRequest struct { func (x *RevokeAppealRequest) Reset() { *x = RevokeAppealRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[48] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2694,7 +2796,7 @@ func (x *RevokeAppealRequest) String() string { func (*RevokeAppealRequest) ProtoMessage() {} func (x *RevokeAppealRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[48] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2707,7 +2809,7 @@ func (x *RevokeAppealRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeAppealRequest.ProtoReflect.Descriptor instead. func (*RevokeAppealRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{48} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{50} } func (x *RevokeAppealRequest) GetId() string { @@ -2735,7 +2837,7 @@ type RevokeAppealResponse struct { func (x *RevokeAppealResponse) Reset() { *x = RevokeAppealResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[49] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2748,7 +2850,7 @@ func (x *RevokeAppealResponse) String() string { func (*RevokeAppealResponse) ProtoMessage() {} func (x *RevokeAppealResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[49] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2761,7 +2863,7 @@ func (x *RevokeAppealResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeAppealResponse.ProtoReflect.Descriptor instead. func (*RevokeAppealResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{49} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{51} } func (x *RevokeAppealResponse) GetAppeal() *Appeal { @@ -2787,7 +2889,7 @@ type RevokeAppealsRequest struct { func (x *RevokeAppealsRequest) Reset() { *x = RevokeAppealsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[50] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2800,7 +2902,7 @@ func (x *RevokeAppealsRequest) String() string { func (*RevokeAppealsRequest) ProtoMessage() {} func (x *RevokeAppealsRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[50] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2813,7 +2915,7 @@ func (x *RevokeAppealsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeAppealsRequest.ProtoReflect.Descriptor instead. func (*RevokeAppealsRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{50} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{52} } func (x *RevokeAppealsRequest) GetAccountIds() []string { @@ -2869,7 +2971,7 @@ type RevokeAppealsResponse struct { func (x *RevokeAppealsResponse) Reset() { *x = RevokeAppealsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[51] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2882,7 +2984,7 @@ func (x *RevokeAppealsResponse) String() string { func (*RevokeAppealsResponse) ProtoMessage() {} func (x *RevokeAppealsResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[51] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2895,7 +2997,7 @@ func (x *RevokeAppealsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeAppealsResponse.ProtoReflect.Descriptor instead. func (*RevokeAppealsResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{51} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{53} } func (x *RevokeAppealsResponse) GetAppeals() []*Appeal { @@ -2919,7 +3021,7 @@ type CreateAppealRequest struct { func (x *CreateAppealRequest) Reset() { *x = CreateAppealRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[52] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2932,7 +3034,7 @@ func (x *CreateAppealRequest) String() string { func (*CreateAppealRequest) ProtoMessage() {} func (x *CreateAppealRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[52] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2945,7 +3047,7 @@ func (x *CreateAppealRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateAppealRequest.ProtoReflect.Descriptor instead. func (*CreateAppealRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{52} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{54} } func (x *CreateAppealRequest) GetAccountId() string { @@ -2987,7 +3089,7 @@ type CreateAppealResponse struct { func (x *CreateAppealResponse) Reset() { *x = CreateAppealResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[53] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3000,7 +3102,7 @@ func (x *CreateAppealResponse) String() string { func (*CreateAppealResponse) ProtoMessage() {} func (x *CreateAppealResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[53] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3013,7 +3115,7 @@ func (x *CreateAppealResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateAppealResponse.ProtoReflect.Descriptor instead. func (*CreateAppealResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{53} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{55} } func (x *CreateAppealResponse) GetAppeals() []*Appeal { @@ -3042,7 +3144,7 @@ type ListUserApprovalsRequest struct { func (x *ListUserApprovalsRequest) Reset() { *x = ListUserApprovalsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[54] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3055,7 +3157,7 @@ func (x *ListUserApprovalsRequest) String() string { func (*ListUserApprovalsRequest) ProtoMessage() {} func (x *ListUserApprovalsRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[54] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3068,7 +3170,7 @@ func (x *ListUserApprovalsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListUserApprovalsRequest.ProtoReflect.Descriptor instead. func (*ListUserApprovalsRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{54} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{56} } func (x *ListUserApprovalsRequest) GetStatuses() []string { @@ -3146,7 +3248,7 @@ type ListUserApprovalsResponse struct { func (x *ListUserApprovalsResponse) Reset() { *x = ListUserApprovalsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[55] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3159,7 +3261,7 @@ func (x *ListUserApprovalsResponse) String() string { func (*ListUserApprovalsResponse) ProtoMessage() {} func (x *ListUserApprovalsResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[55] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3172,7 +3274,7 @@ func (x *ListUserApprovalsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListUserApprovalsResponse.ProtoReflect.Descriptor instead. func (*ListUserApprovalsResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{55} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{57} } func (x *ListUserApprovalsResponse) GetApprovals() []*Approval { @@ -3209,7 +3311,7 @@ type ListApprovalsRequest struct { func (x *ListApprovalsRequest) Reset() { *x = ListApprovalsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[56] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3222,7 +3324,7 @@ func (x *ListApprovalsRequest) String() string { func (*ListApprovalsRequest) ProtoMessage() {} func (x *ListApprovalsRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[56] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3235,7 +3337,7 @@ func (x *ListApprovalsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListApprovalsRequest.ProtoReflect.Descriptor instead. func (*ListApprovalsRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{56} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{58} } func (x *ListApprovalsRequest) GetAccountId() string { @@ -3320,7 +3422,7 @@ type ListApprovalsResponse struct { func (x *ListApprovalsResponse) Reset() { *x = ListApprovalsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[57] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3333,7 +3435,7 @@ func (x *ListApprovalsResponse) String() string { func (*ListApprovalsResponse) ProtoMessage() {} func (x *ListApprovalsResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[57] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3346,7 +3448,7 @@ func (x *ListApprovalsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListApprovalsResponse.ProtoReflect.Descriptor instead. func (*ListApprovalsResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{57} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{59} } func (x *ListApprovalsResponse) GetApprovals() []*Approval { @@ -3376,7 +3478,7 @@ type UpdateApprovalRequest struct { func (x *UpdateApprovalRequest) Reset() { *x = UpdateApprovalRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[58] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3389,7 +3491,7 @@ func (x *UpdateApprovalRequest) String() string { func (*UpdateApprovalRequest) ProtoMessage() {} func (x *UpdateApprovalRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[58] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3402,7 +3504,7 @@ func (x *UpdateApprovalRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateApprovalRequest.ProtoReflect.Descriptor instead. func (*UpdateApprovalRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{58} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{60} } func (x *UpdateApprovalRequest) GetId() string { @@ -3437,7 +3539,7 @@ type UpdateApprovalResponse struct { func (x *UpdateApprovalResponse) Reset() { *x = UpdateApprovalResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[59] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3450,7 +3552,7 @@ func (x *UpdateApprovalResponse) String() string { func (*UpdateApprovalResponse) ProtoMessage() {} func (x *UpdateApprovalResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[59] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3463,7 +3565,7 @@ func (x *UpdateApprovalResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateApprovalResponse.ProtoReflect.Descriptor instead. func (*UpdateApprovalResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{59} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{61} } func (x *UpdateApprovalResponse) GetAppeal() *Appeal { @@ -3486,7 +3588,7 @@ type AddApproverRequest struct { func (x *AddApproverRequest) Reset() { *x = AddApproverRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[60] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3499,7 +3601,7 @@ func (x *AddApproverRequest) String() string { func (*AddApproverRequest) ProtoMessage() {} func (x *AddApproverRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[60] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3512,7 +3614,7 @@ func (x *AddApproverRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddApproverRequest.ProtoReflect.Descriptor instead. func (*AddApproverRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{60} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{62} } func (x *AddApproverRequest) GetAppealId() string { @@ -3547,7 +3649,7 @@ type AddApproverResponse struct { func (x *AddApproverResponse) Reset() { *x = AddApproverResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[61] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3560,7 +3662,7 @@ func (x *AddApproverResponse) String() string { func (*AddApproverResponse) ProtoMessage() {} func (x *AddApproverResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[61] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3573,7 +3675,7 @@ func (x *AddApproverResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AddApproverResponse.ProtoReflect.Descriptor instead. func (*AddApproverResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{61} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{63} } func (x *AddApproverResponse) GetAppeal() *Appeal { @@ -3596,7 +3698,7 @@ type DeleteApproverRequest struct { func (x *DeleteApproverRequest) Reset() { *x = DeleteApproverRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[62] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3609,7 +3711,7 @@ func (x *DeleteApproverRequest) String() string { func (*DeleteApproverRequest) ProtoMessage() {} func (x *DeleteApproverRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[62] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3622,7 +3724,7 @@ func (x *DeleteApproverRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteApproverRequest.ProtoReflect.Descriptor instead. func (*DeleteApproverRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{62} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{64} } func (x *DeleteApproverRequest) GetAppealId() string { @@ -3657,7 +3759,7 @@ type DeleteApproverResponse struct { func (x *DeleteApproverResponse) Reset() { *x = DeleteApproverResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[63] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3670,7 +3772,7 @@ func (x *DeleteApproverResponse) String() string { func (*DeleteApproverResponse) ProtoMessage() {} func (x *DeleteApproverResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[63] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3683,7 +3785,7 @@ func (x *DeleteApproverResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteApproverResponse.ProtoReflect.Descriptor instead. func (*DeleteApproverResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{63} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{65} } func (x *DeleteApproverResponse) GetAppeal() *Appeal { @@ -3718,7 +3820,7 @@ type ListGrantsRequest struct { func (x *ListGrantsRequest) Reset() { *x = ListGrantsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[64] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3731,7 +3833,7 @@ func (x *ListGrantsRequest) String() string { func (*ListGrantsRequest) ProtoMessage() {} func (x *ListGrantsRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[64] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3744,7 +3846,7 @@ func (x *ListGrantsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGrantsRequest.ProtoReflect.Descriptor instead. func (*ListGrantsRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{64} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{66} } func (x *ListGrantsRequest) GetStatuses() []string { @@ -3864,7 +3966,7 @@ type ListGrantsResponse struct { func (x *ListGrantsResponse) Reset() { *x = ListGrantsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[65] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3877,7 +3979,7 @@ func (x *ListGrantsResponse) String() string { func (*ListGrantsResponse) ProtoMessage() {} func (x *ListGrantsResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[65] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3890,7 +3992,7 @@ func (x *ListGrantsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGrantsResponse.ProtoReflect.Descriptor instead. func (*ListGrantsResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{65} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{67} } func (x *ListGrantsResponse) GetGrants() []*Grant { @@ -3930,7 +4032,7 @@ type ListUserGrantsRequest struct { func (x *ListUserGrantsRequest) Reset() { *x = ListUserGrantsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[66] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3943,7 +4045,7 @@ func (x *ListUserGrantsRequest) String() string { func (*ListUserGrantsRequest) ProtoMessage() {} func (x *ListUserGrantsRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[66] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3956,7 +4058,7 @@ func (x *ListUserGrantsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListUserGrantsRequest.ProtoReflect.Descriptor instead. func (*ListUserGrantsRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{66} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{68} } func (x *ListUserGrantsRequest) GetStatuses() []string { @@ -4062,7 +4164,7 @@ type ListUserGrantsResponse struct { func (x *ListUserGrantsResponse) Reset() { *x = ListUserGrantsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[67] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4075,7 +4177,7 @@ func (x *ListUserGrantsResponse) String() string { func (*ListUserGrantsResponse) ProtoMessage() {} func (x *ListUserGrantsResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[67] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4088,7 +4190,7 @@ func (x *ListUserGrantsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListUserGrantsResponse.ProtoReflect.Descriptor instead. func (*ListUserGrantsResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{67} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{69} } func (x *ListUserGrantsResponse) GetGrants() []*Grant { @@ -4116,7 +4218,7 @@ type GetGrantRequest struct { func (x *GetGrantRequest) Reset() { *x = GetGrantRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[68] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4129,7 +4231,7 @@ func (x *GetGrantRequest) String() string { func (*GetGrantRequest) ProtoMessage() {} func (x *GetGrantRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[68] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4142,7 +4244,7 @@ func (x *GetGrantRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGrantRequest.ProtoReflect.Descriptor instead. func (*GetGrantRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{68} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{70} } func (x *GetGrantRequest) GetId() string { @@ -4163,7 +4265,7 @@ type GetGrantResponse struct { func (x *GetGrantResponse) Reset() { *x = GetGrantResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[69] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4176,7 +4278,7 @@ func (x *GetGrantResponse) String() string { func (*GetGrantResponse) ProtoMessage() {} func (x *GetGrantResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[69] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4189,7 +4291,7 @@ func (x *GetGrantResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGrantResponse.ProtoReflect.Descriptor instead. func (*GetGrantResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{69} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{71} } func (x *GetGrantResponse) GetGrant() *Grant { @@ -4211,7 +4313,7 @@ type UpdateGrantRequest struct { func (x *UpdateGrantRequest) Reset() { *x = UpdateGrantRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[70] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4224,7 +4326,7 @@ func (x *UpdateGrantRequest) String() string { func (*UpdateGrantRequest) ProtoMessage() {} func (x *UpdateGrantRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[70] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4237,7 +4339,7 @@ func (x *UpdateGrantRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateGrantRequest.ProtoReflect.Descriptor instead. func (*UpdateGrantRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{70} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{72} } func (x *UpdateGrantRequest) GetId() string { @@ -4265,7 +4367,7 @@ type UpdateGrantResponse struct { func (x *UpdateGrantResponse) Reset() { *x = UpdateGrantResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[71] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4278,7 +4380,7 @@ func (x *UpdateGrantResponse) String() string { func (*UpdateGrantResponse) ProtoMessage() {} func (x *UpdateGrantResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[71] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4291,7 +4393,7 @@ func (x *UpdateGrantResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateGrantResponse.ProtoReflect.Descriptor instead. func (*UpdateGrantResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{71} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{73} } func (x *UpdateGrantResponse) GetGrant() *Grant { @@ -4313,7 +4415,7 @@ type RevokeGrantRequest struct { func (x *RevokeGrantRequest) Reset() { *x = RevokeGrantRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[72] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4326,7 +4428,7 @@ func (x *RevokeGrantRequest) String() string { func (*RevokeGrantRequest) ProtoMessage() {} func (x *RevokeGrantRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[72] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4339,7 +4441,7 @@ func (x *RevokeGrantRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeGrantRequest.ProtoReflect.Descriptor instead. func (*RevokeGrantRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{72} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{74} } func (x *RevokeGrantRequest) GetId() string { @@ -4367,7 +4469,7 @@ type RevokeGrantResponse struct { func (x *RevokeGrantResponse) Reset() { *x = RevokeGrantResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[73] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4380,7 +4482,7 @@ func (x *RevokeGrantResponse) String() string { func (*RevokeGrantResponse) ProtoMessage() {} func (x *RevokeGrantResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[73] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4393,7 +4495,7 @@ func (x *RevokeGrantResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeGrantResponse.ProtoReflect.Descriptor instead. func (*RevokeGrantResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{73} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{75} } func (x *RevokeGrantResponse) GetGrant() *Grant { @@ -4419,7 +4521,7 @@ type RevokeGrantsRequest struct { func (x *RevokeGrantsRequest) Reset() { *x = RevokeGrantsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[74] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4432,7 +4534,7 @@ func (x *RevokeGrantsRequest) String() string { func (*RevokeGrantsRequest) ProtoMessage() {} func (x *RevokeGrantsRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[74] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4445,7 +4547,7 @@ func (x *RevokeGrantsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeGrantsRequest.ProtoReflect.Descriptor instead. func (*RevokeGrantsRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{74} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{76} } func (x *RevokeGrantsRequest) GetAccountIds() []string { @@ -4501,7 +4603,7 @@ type RevokeGrantsResponse struct { func (x *RevokeGrantsResponse) Reset() { *x = RevokeGrantsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[75] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4514,7 +4616,7 @@ func (x *RevokeGrantsResponse) String() string { func (*RevokeGrantsResponse) ProtoMessage() {} func (x *RevokeGrantsResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[75] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4527,7 +4629,7 @@ func (x *RevokeGrantsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeGrantsResponse.ProtoReflect.Descriptor instead. func (*RevokeGrantsResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{75} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{77} } func (x *RevokeGrantsResponse) GetGrants() []*Grant { @@ -4551,7 +4653,7 @@ type Role struct { func (x *Role) Reset() { *x = Role{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[76] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4564,7 +4666,7 @@ func (x *Role) String() string { func (*Role) ProtoMessage() {} func (x *Role) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[76] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4577,7 +4679,7 @@ func (x *Role) ProtoReflect() protoreflect.Message { // Deprecated: Use Role.ProtoReflect.Descriptor instead. func (*Role) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{76} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{78} } func (x *Role) GetId() string { @@ -4620,7 +4722,7 @@ type PolicyConfig struct { func (x *PolicyConfig) Reset() { *x = PolicyConfig{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[77] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4633,7 +4735,7 @@ func (x *PolicyConfig) String() string { func (*PolicyConfig) ProtoMessage() {} func (x *PolicyConfig) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[77] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4646,7 +4748,7 @@ func (x *PolicyConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use PolicyConfig.ProtoReflect.Descriptor instead. func (*PolicyConfig) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{77} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{79} } func (x *PolicyConfig) GetId() string { @@ -4681,7 +4783,7 @@ type ProviderConfig struct { func (x *ProviderConfig) Reset() { *x = ProviderConfig{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[78] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4694,7 +4796,7 @@ func (x *ProviderConfig) String() string { func (*ProviderConfig) ProtoMessage() {} func (x *ProviderConfig) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[78] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4707,7 +4809,7 @@ func (x *ProviderConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ProviderConfig.ProtoReflect.Descriptor instead. func (*ProviderConfig) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{78} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{80} } func (x *ProviderConfig) GetType() string { @@ -4783,7 +4885,7 @@ type Provider struct { func (x *Provider) Reset() { *x = Provider{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[79] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4796,7 +4898,7 @@ func (x *Provider) String() string { func (*Provider) ProtoMessage() {} func (x *Provider) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[79] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4809,7 +4911,7 @@ func (x *Provider) ProtoReflect() protoreflect.Message { // Deprecated: Use Provider.ProtoReflect.Descriptor instead. func (*Provider) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{79} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{81} } func (x *Provider) GetId() string { @@ -4866,7 +4968,7 @@ type ProviderType struct { func (x *ProviderType) Reset() { *x = ProviderType{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[80] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4879,7 +4981,7 @@ func (x *ProviderType) String() string { func (*ProviderType) ProtoMessage() {} func (x *ProviderType) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[80] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4892,7 +4994,7 @@ func (x *ProviderType) ProtoReflect() protoreflect.Message { // Deprecated: Use ProviderType.ProtoReflect.Descriptor instead. func (*ProviderType) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{80} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{82} } func (x *ProviderType) GetName() string { @@ -4921,7 +5023,7 @@ type Condition struct { func (x *Condition) Reset() { *x = Condition{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[81] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4934,7 +5036,7 @@ func (x *Condition) String() string { func (*Condition) ProtoMessage() {} func (x *Condition) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[81] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4947,7 +5049,7 @@ func (x *Condition) ProtoReflect() protoreflect.Message { // Deprecated: Use Condition.ProtoReflect.Descriptor instead. func (*Condition) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{81} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{83} } func (x *Condition) GetField() string { @@ -4980,7 +5082,7 @@ type PolicyAppealConfig struct { func (x *PolicyAppealConfig) Reset() { *x = PolicyAppealConfig{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[82] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4993,7 +5095,7 @@ func (x *PolicyAppealConfig) String() string { func (*PolicyAppealConfig) ProtoMessage() {} func (x *PolicyAppealConfig) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[82] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5006,7 +5108,7 @@ func (x *PolicyAppealConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use PolicyAppealConfig.ProtoReflect.Descriptor instead. func (*PolicyAppealConfig) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{82} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{84} } func (x *PolicyAppealConfig) GetDurationOptions() []*PolicyAppealConfig_DurationOptions { @@ -5075,7 +5177,7 @@ type Policy struct { func (x *Policy) Reset() { *x = Policy{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[83] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5088,7 +5190,7 @@ func (x *Policy) String() string { func (*Policy) ProtoMessage() {} func (x *Policy) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[83] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5101,7 +5203,7 @@ func (x *Policy) ProtoReflect() protoreflect.Message { // Deprecated: Use Policy.ProtoReflect.Descriptor instead. func (*Policy) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{83} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{85} } func (x *Policy) GetId() string { @@ -5200,7 +5302,7 @@ type AppealOptions struct { func (x *AppealOptions) Reset() { *x = AppealOptions{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[84] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5213,7 +5315,7 @@ func (x *AppealOptions) String() string { func (*AppealOptions) ProtoMessage() {} func (x *AppealOptions) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[84] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5226,7 +5328,7 @@ func (x *AppealOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use AppealOptions.ProtoReflect.Descriptor instead. func (*AppealOptions) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{84} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{86} } func (x *AppealOptions) GetExpirationDate() *timestamppb.Timestamp { @@ -5274,7 +5376,7 @@ type Appeal struct { func (x *Appeal) Reset() { *x = Appeal{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[85] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5287,7 +5389,7 @@ func (x *Appeal) String() string { func (*Appeal) ProtoMessage() {} func (x *Appeal) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[85] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5300,7 +5402,7 @@ func (x *Appeal) ProtoReflect() protoreflect.Message { // Deprecated: Use Appeal.ProtoReflect.Descriptor instead. func (*Appeal) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{85} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{87} } func (x *Appeal) GetId() string { @@ -5466,7 +5568,7 @@ type Approval struct { func (x *Approval) Reset() { *x = Approval{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[86] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5479,7 +5581,7 @@ func (x *Approval) String() string { func (*Approval) ProtoMessage() {} func (x *Approval) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[86] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5492,7 +5594,7 @@ func (x *Approval) ProtoReflect() protoreflect.Message { // Deprecated: Use Approval.ProtoReflect.Descriptor instead. func (*Approval) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{86} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{88} } func (x *Approval) GetId() string { @@ -5603,7 +5705,7 @@ type Resource struct { func (x *Resource) Reset() { *x = Resource{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[87] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5616,7 +5718,7 @@ func (x *Resource) String() string { func (*Resource) ProtoMessage() {} func (x *Resource) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[87] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5629,7 +5731,7 @@ func (x *Resource) ProtoReflect() protoreflect.Message { // Deprecated: Use Resource.ProtoReflect.Descriptor instead. func (*Resource) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{87} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{89} } func (x *Resource) GetId() string { @@ -5754,7 +5856,7 @@ type Grant struct { func (x *Grant) Reset() { *x = Grant{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[88] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5767,7 +5869,7 @@ func (x *Grant) String() string { func (*Grant) ProtoMessage() {} func (x *Grant) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[88] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5780,7 +5882,7 @@ func (x *Grant) ProtoReflect() protoreflect.Message { // Deprecated: Use Grant.ProtoReflect.Descriptor instead. func (*Grant) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{88} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{90} } func (x *Grant) GetId() string { @@ -5954,7 +6056,7 @@ type ProviderActivity struct { func (x *ProviderActivity) Reset() { *x = ProviderActivity{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[89] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5967,7 +6069,7 @@ func (x *ProviderActivity) String() string { func (*ProviderActivity) ProtoMessage() {} func (x *ProviderActivity) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[89] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5980,7 +6082,7 @@ func (x *ProviderActivity) ProtoReflect() protoreflect.Message { // Deprecated: Use ProviderActivity.ProtoReflect.Descriptor instead. func (*ProviderActivity) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{89} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{91} } func (x *ProviderActivity) GetId() string { @@ -6097,7 +6199,7 @@ type Namespace struct { func (x *Namespace) Reset() { *x = Namespace{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[90] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6110,7 +6212,7 @@ func (x *Namespace) String() string { func (*Namespace) ProtoMessage() {} func (x *Namespace) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[90] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6123,7 +6225,7 @@ func (x *Namespace) ProtoReflect() protoreflect.Message { // Deprecated: Use Namespace.ProtoReflect.Descriptor instead. func (*Namespace) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{90} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{92} } func (x *Namespace) GetId() string { @@ -6179,7 +6281,7 @@ type CreateNamespaceRequest struct { func (x *CreateNamespaceRequest) Reset() { *x = CreateNamespaceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[91] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6192,7 +6294,7 @@ func (x *CreateNamespaceRequest) String() string { func (*CreateNamespaceRequest) ProtoMessage() {} func (x *CreateNamespaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[91] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6205,7 +6307,7 @@ func (x *CreateNamespaceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNamespaceRequest.ProtoReflect.Descriptor instead. func (*CreateNamespaceRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{91} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{93} } func (x *CreateNamespaceRequest) GetNamespace() *Namespace { @@ -6224,7 +6326,7 @@ type CreateNamespaceResponse struct { func (x *CreateNamespaceResponse) Reset() { *x = CreateNamespaceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[92] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6237,7 +6339,7 @@ func (x *CreateNamespaceResponse) String() string { func (*CreateNamespaceResponse) ProtoMessage() {} func (x *CreateNamespaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[92] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6250,7 +6352,7 @@ func (x *CreateNamespaceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNamespaceResponse.ProtoReflect.Descriptor instead. func (*CreateNamespaceResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{92} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{94} } type GetNamespaceRequest struct { @@ -6264,7 +6366,7 @@ type GetNamespaceRequest struct { func (x *GetNamespaceRequest) Reset() { *x = GetNamespaceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[93] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6277,7 +6379,7 @@ func (x *GetNamespaceRequest) String() string { func (*GetNamespaceRequest) ProtoMessage() {} func (x *GetNamespaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[93] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6290,7 +6392,7 @@ func (x *GetNamespaceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNamespaceRequest.ProtoReflect.Descriptor instead. func (*GetNamespaceRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{93} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{95} } func (x *GetNamespaceRequest) GetId() string { @@ -6311,7 +6413,7 @@ type GetNamespaceResponse struct { func (x *GetNamespaceResponse) Reset() { *x = GetNamespaceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[94] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6324,7 +6426,7 @@ func (x *GetNamespaceResponse) String() string { func (*GetNamespaceResponse) ProtoMessage() {} func (x *GetNamespaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[94] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6337,7 +6439,7 @@ func (x *GetNamespaceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNamespaceResponse.ProtoReflect.Descriptor instead. func (*GetNamespaceResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{94} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{96} } func (x *GetNamespaceResponse) GetNamespace() *Namespace { @@ -6356,7 +6458,7 @@ type ListNamespacesRequest struct { func (x *ListNamespacesRequest) Reset() { *x = ListNamespacesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[95] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6369,7 +6471,7 @@ func (x *ListNamespacesRequest) String() string { func (*ListNamespacesRequest) ProtoMessage() {} func (x *ListNamespacesRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[95] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6382,7 +6484,7 @@ func (x *ListNamespacesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNamespacesRequest.ProtoReflect.Descriptor instead. func (*ListNamespacesRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{95} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{97} } type ListNamespacesResponse struct { @@ -6396,7 +6498,7 @@ type ListNamespacesResponse struct { func (x *ListNamespacesResponse) Reset() { *x = ListNamespacesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[96] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6409,7 +6511,7 @@ func (x *ListNamespacesResponse) String() string { func (*ListNamespacesResponse) ProtoMessage() {} func (x *ListNamespacesResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[96] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6422,7 +6524,7 @@ func (x *ListNamespacesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNamespacesResponse.ProtoReflect.Descriptor instead. func (*ListNamespacesResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{96} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{98} } func (x *ListNamespacesResponse) GetNamespaces() []*Namespace { @@ -6444,7 +6546,7 @@ type UpdateNamespaceRequest struct { func (x *UpdateNamespaceRequest) Reset() { *x = UpdateNamespaceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[97] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6457,7 +6559,7 @@ func (x *UpdateNamespaceRequest) String() string { func (*UpdateNamespaceRequest) ProtoMessage() {} func (x *UpdateNamespaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[97] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6470,7 +6572,7 @@ func (x *UpdateNamespaceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateNamespaceRequest.ProtoReflect.Descriptor instead. func (*UpdateNamespaceRequest) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{97} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{99} } func (x *UpdateNamespaceRequest) GetId() string { @@ -6496,7 +6598,7 @@ type UpdateNamespaceResponse struct { func (x *UpdateNamespaceResponse) Reset() { *x = UpdateNamespaceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[98] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6509,7 +6611,7 @@ func (x *UpdateNamespaceResponse) String() string { func (*UpdateNamespaceResponse) ProtoMessage() {} func (x *UpdateNamespaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[98] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6522,7 +6624,7 @@ func (x *UpdateNamespaceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateNamespaceResponse.ProtoReflect.Descriptor instead. func (*UpdateNamespaceResponse) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{98} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{100} } type RevokeAppealRequest_Reason struct { @@ -6536,7 +6638,7 @@ type RevokeAppealRequest_Reason struct { func (x *RevokeAppealRequest_Reason) Reset() { *x = RevokeAppealRequest_Reason{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[99] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6549,7 +6651,7 @@ func (x *RevokeAppealRequest_Reason) String() string { func (*RevokeAppealRequest_Reason) ProtoMessage() {} func (x *RevokeAppealRequest_Reason) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[99] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6562,7 +6664,7 @@ func (x *RevokeAppealRequest_Reason) ProtoReflect() protoreflect.Message { // Deprecated: Use RevokeAppealRequest_Reason.ProtoReflect.Descriptor instead. func (*RevokeAppealRequest_Reason) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{48, 0} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{50, 0} } func (x *RevokeAppealRequest_Reason) GetReason() string { @@ -6586,7 +6688,7 @@ type CreateAppealRequest_Resource struct { func (x *CreateAppealRequest_Resource) Reset() { *x = CreateAppealRequest_Resource{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[100] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6599,7 +6701,7 @@ func (x *CreateAppealRequest_Resource) String() string { func (*CreateAppealRequest_Resource) ProtoMessage() {} func (x *CreateAppealRequest_Resource) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[100] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6612,7 +6714,7 @@ func (x *CreateAppealRequest_Resource) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateAppealRequest_Resource.ProtoReflect.Descriptor instead. func (*CreateAppealRequest_Resource) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{52, 0} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{54, 0} } func (x *CreateAppealRequest_Resource) GetId() string { @@ -6655,7 +6757,7 @@ type UpdateApprovalRequest_Action struct { func (x *UpdateApprovalRequest_Action) Reset() { *x = UpdateApprovalRequest_Action{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[101] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6668,7 +6770,7 @@ func (x *UpdateApprovalRequest_Action) String() string { func (*UpdateApprovalRequest_Action) ProtoMessage() {} func (x *UpdateApprovalRequest_Action) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[101] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6681,7 +6783,7 @@ func (x *UpdateApprovalRequest_Action) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateApprovalRequest_Action.ProtoReflect.Descriptor instead. func (*UpdateApprovalRequest_Action) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{58, 0} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{60, 0} } func (x *UpdateApprovalRequest_Action) GetAction() string { @@ -6710,7 +6812,7 @@ type ProviderConfig_AppealConfig struct { func (x *ProviderConfig_AppealConfig) Reset() { *x = ProviderConfig_AppealConfig{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[103] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6723,7 +6825,7 @@ func (x *ProviderConfig_AppealConfig) String() string { func (*ProviderConfig_AppealConfig) ProtoMessage() {} func (x *ProviderConfig_AppealConfig) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[103] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6736,7 +6838,7 @@ func (x *ProviderConfig_AppealConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ProviderConfig_AppealConfig.ProtoReflect.Descriptor instead. func (*ProviderConfig_AppealConfig) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{78, 1} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{80, 1} } func (x *ProviderConfig_AppealConfig) GetAllowPermanentAccess() bool { @@ -6767,7 +6869,7 @@ type ProviderConfig_ResourceConfig struct { func (x *ProviderConfig_ResourceConfig) Reset() { *x = ProviderConfig_ResourceConfig{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[104] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6780,7 +6882,7 @@ func (x *ProviderConfig_ResourceConfig) String() string { func (*ProviderConfig_ResourceConfig) ProtoMessage() {} func (x *ProviderConfig_ResourceConfig) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[104] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6793,7 +6895,7 @@ func (x *ProviderConfig_ResourceConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ProviderConfig_ResourceConfig.ProtoReflect.Descriptor instead. func (*ProviderConfig_ResourceConfig) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{78, 2} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{80, 2} } func (x *ProviderConfig_ResourceConfig) GetType() string { @@ -6838,7 +6940,7 @@ type ProviderConfig_ProviderParameter struct { func (x *ProviderConfig_ProviderParameter) Reset() { *x = ProviderConfig_ProviderParameter{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[105] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6851,7 +6953,7 @@ func (x *ProviderConfig_ProviderParameter) String() string { func (*ProviderConfig_ProviderParameter) ProtoMessage() {} func (x *ProviderConfig_ProviderParameter) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[105] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6864,7 +6966,7 @@ func (x *ProviderConfig_ProviderParameter) ProtoReflect() protoreflect.Message { // Deprecated: Use ProviderConfig_ProviderParameter.ProtoReflect.Descriptor instead. func (*ProviderConfig_ProviderParameter) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{78, 3} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{80, 3} } func (x *ProviderConfig_ProviderParameter) GetKey() string { @@ -6906,7 +7008,7 @@ type Condition_MatchCondition struct { func (x *Condition_MatchCondition) Reset() { *x = Condition_MatchCondition{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[106] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6919,7 +7021,7 @@ func (x *Condition_MatchCondition) String() string { func (*Condition_MatchCondition) ProtoMessage() {} func (x *Condition_MatchCondition) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[106] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6932,7 +7034,7 @@ func (x *Condition_MatchCondition) ProtoReflect() protoreflect.Message { // Deprecated: Use Condition_MatchCondition.ProtoReflect.Descriptor instead. func (*Condition_MatchCondition) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{81, 0} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{83, 0} } func (x *Condition_MatchCondition) GetEq() *structpb.Value { @@ -6954,7 +7056,7 @@ type PolicyAppealConfig_DurationOptions struct { func (x *PolicyAppealConfig_DurationOptions) Reset() { *x = PolicyAppealConfig_DurationOptions{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[107] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6967,7 +7069,7 @@ func (x *PolicyAppealConfig_DurationOptions) String() string { func (*PolicyAppealConfig_DurationOptions) ProtoMessage() {} func (x *PolicyAppealConfig_DurationOptions) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[107] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6980,7 +7082,7 @@ func (x *PolicyAppealConfig_DurationOptions) ProtoReflect() protoreflect.Message // Deprecated: Use PolicyAppealConfig_DurationOptions.ProtoReflect.Descriptor instead. func (*PolicyAppealConfig_DurationOptions) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{82, 0} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{84, 0} } func (x *PolicyAppealConfig_DurationOptions) GetName() string { @@ -7011,7 +7113,7 @@ type PolicyAppealConfig_Question struct { func (x *PolicyAppealConfig_Question) Reset() { *x = PolicyAppealConfig_Question{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[108] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7024,7 +7126,7 @@ func (x *PolicyAppealConfig_Question) String() string { func (*PolicyAppealConfig_Question) ProtoMessage() {} func (x *PolicyAppealConfig_Question) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[108] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7037,7 +7139,7 @@ func (x *PolicyAppealConfig_Question) ProtoReflect() protoreflect.Message { // Deprecated: Use PolicyAppealConfig_Question.ProtoReflect.Descriptor instead. func (*PolicyAppealConfig_Question) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{82, 1} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{84, 1} } func (x *PolicyAppealConfig_Question) GetKey() string { @@ -7086,7 +7188,7 @@ type Policy_ApprovalStep struct { func (x *Policy_ApprovalStep) Reset() { *x = Policy_ApprovalStep{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[109] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7099,7 +7201,7 @@ func (x *Policy_ApprovalStep) String() string { func (*Policy_ApprovalStep) ProtoMessage() {} func (x *Policy_ApprovalStep) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[109] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7112,7 +7214,7 @@ func (x *Policy_ApprovalStep) ProtoReflect() protoreflect.Message { // Deprecated: Use Policy_ApprovalStep.ProtoReflect.Descriptor instead. func (*Policy_ApprovalStep) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{83, 0} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{85, 0} } func (x *Policy_ApprovalStep) GetName() string { @@ -7183,7 +7285,7 @@ type Policy_Requirement struct { func (x *Policy_Requirement) Reset() { *x = Policy_Requirement{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[111] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7196,7 +7298,7 @@ func (x *Policy_Requirement) String() string { func (*Policy_Requirement) ProtoMessage() {} func (x *Policy_Requirement) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[111] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7209,7 +7311,7 @@ func (x *Policy_Requirement) ProtoReflect() protoreflect.Message { // Deprecated: Use Policy_Requirement.ProtoReflect.Descriptor instead. func (*Policy_Requirement) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{83, 2} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{85, 2} } func (x *Policy_Requirement) GetOn() *Policy_Requirement_RequirementTrigger { @@ -7239,7 +7341,7 @@ type Policy_IAM struct { func (x *Policy_IAM) Reset() { *x = Policy_IAM{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[112] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7252,7 +7354,7 @@ func (x *Policy_IAM) String() string { func (*Policy_IAM) ProtoMessage() {} func (x *Policy_IAM) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[112] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7265,7 +7367,7 @@ func (x *Policy_IAM) ProtoReflect() protoreflect.Message { // Deprecated: Use Policy_IAM.ProtoReflect.Descriptor instead. func (*Policy_IAM) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{83, 3} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{85, 3} } func (x *Policy_IAM) GetProvider() string { @@ -7306,7 +7408,7 @@ type Policy_Requirement_RequirementTrigger struct { func (x *Policy_Requirement_RequirementTrigger) Reset() { *x = Policy_Requirement_RequirementTrigger{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[113] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7319,7 +7421,7 @@ func (x *Policy_Requirement_RequirementTrigger) String() string { func (*Policy_Requirement_RequirementTrigger) ProtoMessage() {} func (x *Policy_Requirement_RequirementTrigger) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[113] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7332,7 +7434,7 @@ func (x *Policy_Requirement_RequirementTrigger) ProtoReflect() protoreflect.Mess // Deprecated: Use Policy_Requirement_RequirementTrigger.ProtoReflect.Descriptor instead. func (*Policy_Requirement_RequirementTrigger) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{83, 2, 0} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{85, 2, 0} } func (x *Policy_Requirement_RequirementTrigger) GetProviderType() string { @@ -7398,7 +7500,7 @@ type Policy_Requirement_AdditionalAppeal struct { func (x *Policy_Requirement_AdditionalAppeal) Reset() { *x = Policy_Requirement_AdditionalAppeal{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[114] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7411,7 +7513,7 @@ func (x *Policy_Requirement_AdditionalAppeal) String() string { func (*Policy_Requirement_AdditionalAppeal) ProtoMessage() {} func (x *Policy_Requirement_AdditionalAppeal) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[114] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[116] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7424,7 +7526,7 @@ func (x *Policy_Requirement_AdditionalAppeal) ProtoReflect() protoreflect.Messag // Deprecated: Use Policy_Requirement_AdditionalAppeal.ProtoReflect.Descriptor instead. func (*Policy_Requirement_AdditionalAppeal) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{83, 2, 1} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{85, 2, 1} } func (x *Policy_Requirement_AdditionalAppeal) GetResource() *Policy_Requirement_AdditionalAppeal_ResourceIdentifier { @@ -7470,7 +7572,7 @@ type Policy_Requirement_AdditionalAppeal_ResourceIdentifier struct { func (x *Policy_Requirement_AdditionalAppeal_ResourceIdentifier) Reset() { *x = Policy_Requirement_AdditionalAppeal_ResourceIdentifier{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[115] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7483,7 +7585,7 @@ func (x *Policy_Requirement_AdditionalAppeal_ResourceIdentifier) String() string func (*Policy_Requirement_AdditionalAppeal_ResourceIdentifier) ProtoMessage() {} func (x *Policy_Requirement_AdditionalAppeal_ResourceIdentifier) ProtoReflect() protoreflect.Message { - mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[115] + mi := &file_raystack_guardian_v1beta1_guardian_proto_msgTypes[117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7496,7 +7598,7 @@ func (x *Policy_Requirement_AdditionalAppeal_ResourceIdentifier) ProtoReflect() // Deprecated: Use Policy_Requirement_AdditionalAppeal_ResourceIdentifier.ProtoReflect.Descriptor instead. func (*Policy_Requirement_AdditionalAppeal_ResourceIdentifier) Descriptor() ([]byte, []int) { - return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{83, 2, 1, 0} + return file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP(), []int{85, 2, 1, 0} } func (x *Policy_Requirement_AdditionalAppeal_ResourceIdentifier) GetProviderType() string { @@ -7579,2114 +7681,2150 @@ var file_raystack_guardian_v1beta1_guardian_proto_rawDesc = []byte{ 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0x73, 0x0a, 0x15, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, - 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, - 0x75, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, - 0x22, 0x59, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, - 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0x83, 0x01, 0x0a, 0x15, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x41, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, - 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, - 0x72, 0x75, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, - 0x6e, 0x22, 0x59, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, - 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0x27, 0x0a, 0x15, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x18, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0xb1, 0x01, 0x0a, 0x1f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, - 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x23, - 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, - 0x72, 0x6e, 0x73, 0x22, 0x5c, 0x0a, 0x20, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x47, 0x72, 0x61, - 0x6e, 0x74, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x67, 0x72, 0x61, 0x6e, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x06, 0x67, 0x72, 0x61, 0x6e, 0x74, - 0x73, 0x22, 0x47, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x4a, 0x0a, 0x11, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x35, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x17, + 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x19, 0x92, 0x41, 0x16, 0x32, 0x14, 0x4e, 0x61, 0x6d, 0x65, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5d, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x38, 0x92, + 0x41, 0x35, 0x32, 0x33, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x74, 0x79, 0x70, + 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, + 0x66, 0x65, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x5e, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x42, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x42, 0x2c, 0x92, 0x41, 0x29, 0x32, 0x27, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, + 0x6f, 0x6c, 0x65, 0x73, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x62, + 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x05, + 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x73, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, + 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, - 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, - 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x80, 0x02, 0x0a, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, - 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x49, 0x64, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x67, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x47, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6c, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4c, 0x74, 0x65, 0x22, 0x67, 0x0a, 0x18, 0x49, 0x6d, 0x70, - 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x22, 0x59, 0x0a, 0x16, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x08, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0x83, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x41, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, + 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x22, 0x59, 0x0a, 0x16, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x08, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0x27, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, + 0x18, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb1, 0x01, 0x0a, 0x1f, 0x49, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, + 0x0b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, + 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, + 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x6e, 0x73, 0x22, 0x5c, 0x0a, + 0x20, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x46, 0x72, 0x6f, + 0x6d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x38, 0x0a, 0x06, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, + 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, + 0x61, 0x6e, 0x74, 0x52, 0x06, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x22, 0x47, 0x0a, 0x10, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x22, 0x4a, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x72, 0x6f, 0x6c, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, + 0x22, 0x80, 0x02, 0x0a, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, + 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x21, + 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, + 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x67, + 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x47, + 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, + 0x6c, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x4c, 0x74, 0x65, 0x22, 0x67, 0x0a, 0x18, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x4b, 0x0a, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, + 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, + 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x24, 0x0a, 0x12, + 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x22, 0x5e, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x08, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x72, 0x61, + 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, + 0x74, 0x79, 0x22, 0x96, 0x02, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x73, 0x12, + 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, + 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x49, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x67, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x47, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6c, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4c, 0x74, 0x65, 0x22, 0x65, 0x0a, 0x16, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, - 0x65, 0x73, 0x22, 0x24, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x5e, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x47, 0x0a, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2b, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, - 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x08, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x22, 0x96, 0x02, 0x0a, 0x15, 0x4c, 0x69, 0x73, - 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x49, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, - 0x3f, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x67, 0x74, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x47, 0x74, 0x65, - 0x12, 0x3f, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6c, 0x74, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4c, 0x74, - 0x65, 0x22, 0x65, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, - 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x2b, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, - 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0x55, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x08, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x3c, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x47, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x65, 0x0a, - 0x1c, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, - 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, - 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, - 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x61, 0x70, - 0x70, 0x65, 0x61, 0x6c, 0x22, 0x4e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x22, 0x69, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, - 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x22, - 0x51, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, + 0x65, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x14, 0x4c, 0x69, 0x73, + 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3d, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, + 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x22, 0x3c, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x47, + 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x65, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x22, 0x79, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x06, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x22, 0x51, 0x0a, - 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, + 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x22, 0x4e, + 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, + 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x69, + 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x22, 0xd1, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, - 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, - 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x72, 0x6e, - 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x75, 0x72, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x22, 0x5a, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, - 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, - 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x22, 0x24, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x56, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, - 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, - 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x68, - 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x79, 0x73, + 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x22, 0x51, 0x0a, 0x14, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x39, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, + 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x79, 0x0a, 0x13, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, + 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x17, + 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x22, 0x51, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x39, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, + 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xd1, 0x01, 0x0a, 0x14, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x72, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6e, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, + 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x5a, + 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, + 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x24, 0x0a, 0x12, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x22, 0x56, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x59, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, - 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x22, 0x27, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x18, 0x0a, 0x16, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf0, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, - 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x72, 0x6e, 0x73, 0x12, 0x25, 0x0a, - 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, - 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x42, 0x79, 0x12, 0x1d, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x04, 0x73, - 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x06, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x0c, 0x0a, 0x01, 0x71, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x01, 0x71, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0x6c, 0x0a, 0x17, 0x4c, 0x69, 0x73, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, - 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x07, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, - 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0xaa, 0x03, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, - 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x25, 0x0a, - 0x0e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x5f, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x72, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6e, - 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x55, 0x72, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, - 0x79, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, - 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, - 0x1d, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, - 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x21, - 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, - 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, - 0x74, 0x12, 0x0c, 0x0a, 0x01, 0x71, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x71, 0x12, - 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x22, 0x68, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x65, - 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x61, - 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, - 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, - 0x07, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x22, - 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x22, 0x4e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x06, 0x61, 0x70, 0x70, 0x65, - 0x61, 0x6c, 0x22, 0x25, 0x0a, 0x13, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x70, 0x70, 0x65, - 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x51, 0x0a, 0x14, 0x43, 0x61, 0x6e, - 0x63, 0x65, 0x6c, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x68, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x3f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, + 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x22, 0x59, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, + 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x27, 0x0a, + 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x18, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0xf0, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x70, 0x70, + 0x65, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x75, + 0x72, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x55, 0x72, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x23, + 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x73, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, + 0x72, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, + 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x1d, + 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, + 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, + 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, + 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x12, 0x0c, 0x0a, 0x01, 0x71, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x71, 0x12, 0x23, + 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, + 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x22, 0x6c, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, + 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, + 0x0a, 0x07, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, + 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, + 0x61, 0x6c, 0x52, 0x07, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x22, 0xaa, 0x03, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x23, + 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6e, 0x73, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, + 0x72, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x6e, 0x73, 0x12, + 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x1d, 0x0a, 0x04, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, + 0x40, 0x01, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, + 0x00, 0x40, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x0c, 0x0a, 0x01, 0x71, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x71, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0x68, + 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x07, 0x61, 0x70, 0x70, 0x65, 0x61, + 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x22, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, + 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4e, 0x0a, 0x11, + 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, - 0x70, 0x65, 0x61, 0x6c, 0x52, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x22, 0x96, 0x01, 0x0a, - 0x13, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x4d, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, - 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x1a, 0x20, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, - 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x51, 0x0a, 0x14, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x41, - 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, - 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, - 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, - 0x52, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x22, 0xe7, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x76, - 0x6f, 0x6b, 0x65, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, - 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x72, 0x6e, 0x73, 0x12, 0x25, - 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x22, 0x54, 0x0a, 0x15, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x41, 0x70, 0x70, 0x65, - 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x61, - 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, - 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, - 0x07, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x22, 0x98, 0x05, 0x0a, 0x13, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x68, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x49, 0x92, 0x41, 0x46, 0x32, 0x44, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x20, 0x49, 0x44, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, - 0x72, 0x20, 0x6f, 0x72, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x77, 0x68, 0x6f, 0x20, 0x69, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, - 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x93, 0x01, 0x0a, 0x09, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, + 0x70, 0x65, 0x61, 0x6c, 0x52, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x22, 0x25, 0x0a, 0x13, + 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x22, 0x51, 0x0a, 0x14, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x70, 0x70, + 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x61, + 0x70, 0x70, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, + 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x06, + 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x22, 0x96, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x76, 0x6f, 0x6b, + 0x65, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x4d, + 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, - 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x3c, 0x92, 0x41, 0x39, 0x32, 0x37, 0x4c, 0x69, - 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x69, 0x73, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x20, 0x74, 0x6f, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x12, 0xc7, 0x01, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0xa3, 0x01, 0x92, 0x41, 0x9f, 0x01, 0x32, 0x9c, - 0x01, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x6f, 0x72, 0x20, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x77, 0x68, 0x6f, - 0x20, 0x69, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x20, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x20, 0x49, 0x41, 0x4d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x72, - 0x65, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, 0x22, 0x20, 0x6f, 0x72, 0x20, 0x22, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x52, 0x0b, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x94, 0x01, 0x0a, - 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x31, 0x0a, - 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x31, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x22, 0x53, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, - 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x61, - 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, - 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, - 0x07, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x22, 0x97, 0x04, 0x0a, 0x18, 0x4c, 0x69, 0x73, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xb0, 0x01, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x93, 0x01, 0x92, 0x41, 0x8f, 0x01, 0x32, - 0x76, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, - 0x6c, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x2e, 0x20, 0x50, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, - 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x22, 0x70, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x22, 0x2c, 0x20, 0x22, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, - 0x2c, 0x20, 0x22, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x63, - 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x65, 0x72, 0x6d, - 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x22, 0x4a, 0x15, 0x5b, 0x22, 0x70, 0x65, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x22, 0x2c, 0x20, 0x22, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x5d, 0x52, 0x08, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x62, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x42, 0x79, 0x12, 0x68, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x49, 0x92, 0x41, 0x46, 0x32, 0x44, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x49, 0x44, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x75, 0x73, 0x65, 0x72, 0x20, 0x6f, 0x72, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x77, 0x68, 0x6f, 0x20, 0x69, 0x73, 0x20, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x65, - 0x61, 0x6c, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, - 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, - 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x06, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, - 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, - 0x27, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x0c, 0x0a, 0x01, 0x71, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x01, 0x71, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0a, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x22, 0x74, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x70, - 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x41, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, - 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, - 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x09, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, - 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0xd0, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, - 0x74, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x1d, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, - 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, - 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x65, - 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0e, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, - 0x73, 0x12, 0x0c, 0x0a, 0x01, 0x71, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x71, 0x12, - 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0x70, 0x0a, 0x15, 0x4c, - 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x1a, 0x20, 0x0a, + 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, + 0x51, 0x0a, 0x14, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x09, 0x61, 0x70, - 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0xb7, 0x03, - 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x58, 0x0a, 0x0d, 0x61, 0x70, 0x70, 0x72, 0x6f, - 0x76, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, - 0x92, 0x41, 0x2d, 0x32, 0x19, 0x4e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x20, 0x73, 0x74, 0x65, 0x70, 0x4a, 0x10, - 0x22, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x22, - 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x37, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, - 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x1a, 0xe2, 0x01, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x71, 0x0a, - 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x59, 0x92, - 0x41, 0x56, 0x32, 0x49, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x61, - 0x6b, 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, - 0x61, 0x6c, 0x2e, 0x20, 0x50, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x22, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, - 0x22, 0x20, 0x6f, 0x72, 0x20, 0x22, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x4a, 0x09, 0x22, - 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x22, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x65, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x4d, 0x92, 0x41, 0x4a, 0x32, 0x48, 0x49, 0x6e, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x61, - 0x6e, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x6a, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x20, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x52, - 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x53, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x39, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, - 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, - 0x70, 0x65, 0x61, 0x6c, 0x52, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x22, 0xbb, 0x02, 0x0a, - 0x12, 0x41, 0x64, 0x64, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x5f, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x42, 0x92, 0x41, 0x3c, 0x32, 0x12, 0x55, 0x55, 0x49, - 0x44, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x4a, - 0x26, 0x22, 0x66, 0x31, 0x62, 0x39, 0x61, 0x39, 0x61, 0x30, 0x2d, 0x31, 0x66, 0x30, 0x62, 0x2d, - 0x34, 0x62, 0x37, 0x61, 0x2d, 0x38, 0x62, 0x30, 0x61, 0x2d, 0x39, 0x62, 0x30, 0x61, 0x39, 0x62, - 0x30, 0x61, 0x39, 0x62, 0x30, 0x61, 0x22, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x61, 0x70, 0x70, 0x65, - 0x61, 0x6c, 0x49, 0x64, 0x12, 0x7a, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x59, 0x92, 0x41, 0x53, 0x32, 0x29, - 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x4a, 0x26, 0x22, 0x66, 0x31, 0x62, 0x39, - 0x61, 0x39, 0x61, 0x30, 0x2d, 0x31, 0x66, 0x30, 0x62, 0x2d, 0x34, 0x62, 0x37, 0x61, 0x2d, 0x38, - 0x62, 0x30, 0x61, 0x2d, 0x39, 0x62, 0x30, 0x61, 0x39, 0x62, 0x30, 0x61, 0x39, 0x62, 0x30, 0x61, - 0x22, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x64, - 0x12, 0x48, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x32, 0x92, 0x41, 0x2c, 0x32, 0x15, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x4a, 0x13, 0x22, 0x6a, 0x6f, - 0x68, 0x6e, 0x40, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x6f, 0x72, 0x67, 0x22, - 0xe0, 0x41, 0x02, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x50, 0x0a, 0x13, 0x41, 0x64, - 0x64, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x39, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, - 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, - 0x70, 0x65, 0x61, 0x6c, 0x52, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x22, 0x6b, 0x0a, 0x15, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, - 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, - 0x6c, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x53, 0x0a, 0x16, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, - 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x22, 0xe6, - 0x03, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, - 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, - 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6e, - 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x55, 0x72, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x08, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x6e, - 0x73, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, - 0x62, 0x79, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, - 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, - 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x0c, 0x0a, 0x01, 0x71, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x71, 0x22, 0x64, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, - 0x06, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, - 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, - 0x06, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0xb5, 0x03, - 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x49, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, + 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x06, 0x61, 0x70, 0x70, 0x65, + 0x61, 0x6c, 0x22, 0xe7, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x41, 0x70, 0x70, + 0x65, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, - 0x75, 0x72, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, + 0x75, 0x72, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x72, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x73, - 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x55, 0x72, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x1d, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x04, - 0x73, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, - 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x0c, 0x0a, 0x01, 0x71, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x01, 0x71, 0x22, 0x68, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, - 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x38, 0x0a, 0x06, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, - 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x52, 0x06, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, - 0x21, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x22, 0x4a, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, - 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x05, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x3a, - 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x4d, 0x0a, 0x13, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x36, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, - 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x61, - 0x6e, 0x74, 0x52, 0x05, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x3c, 0x0a, 0x12, 0x52, 0x65, 0x76, - 0x6f, 0x6b, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x4d, 0x0a, 0x13, 0x52, 0x65, 0x76, 0x6f, 0x6b, - 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, - 0x0a, 0x05, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x55, 0x72, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x54, 0x0a, 0x15, + 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x07, 0x61, 0x70, 0x70, 0x65, 0x61, + 0x6c, 0x73, 0x22, 0x98, 0x05, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, + 0x65, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x68, 0x0a, 0x0a, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x49, + 0x92, 0x41, 0x46, 0x32, 0x44, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x49, 0x44, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x6f, 0x72, 0x20, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x77, + 0x68, 0x6f, 0x20, 0x69, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x93, 0x01, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x65, 0x61, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x42, 0x3c, 0x92, 0x41, 0x39, 0x32, 0x37, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x6f, 0x52, + 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0xc7, 0x01, 0x0a, 0x0c, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0xa3, 0x01, 0x92, 0x41, 0x9f, 0x01, 0x32, 0x9c, 0x01, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, + 0x73, 0x65, 0x72, 0x20, 0x6f, 0x72, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x77, 0x68, 0x6f, 0x20, 0x69, 0x73, 0x20, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, + 0x6c, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x20, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x20, 0x49, 0x41, 0x4d, + 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x22, 0x75, 0x73, 0x65, + 0x72, 0x22, 0x20, 0x6f, 0x72, 0x20, 0x22, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x94, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x31, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x07, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x53, 0x0a, + 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x07, 0x61, 0x70, 0x70, 0x65, 0x61, + 0x6c, 0x73, 0x22, 0x97, 0x04, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, + 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0xb0, 0x01, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x09, 0x42, 0x93, 0x01, 0x92, 0x41, 0x8f, 0x01, 0x32, 0x76, 0x4c, 0x69, 0x73, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x20, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, + 0x79, 0x2e, 0x20, 0x50, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x22, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x22, + 0x2c, 0x20, 0x22, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x2c, 0x20, 0x22, 0x72, 0x65, 0x6a, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, + 0x65, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, + 0x22, 0x4a, 0x15, 0x5b, 0x22, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x22, 0x2c, 0x20, 0x22, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x5d, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x68, 0x0a, + 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x49, 0x92, 0x41, 0x46, 0x32, 0x44, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, + 0x49, 0x44, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x6f, + 0x72, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x20, 0x77, 0x68, 0x6f, 0x20, 0x69, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x09, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, + 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, + 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x70, 0x70, + 0x65, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0e, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x65, 0x73, 0x12, 0x0c, 0x0a, 0x01, 0x71, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x71, + 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0x74, 0x0a, 0x19, + 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x61, 0x70, 0x70, + 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, + 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, + 0x6c, 0x52, 0x09, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x22, 0xd0, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x72, 0x6f, + 0x76, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x62, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, + 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, + 0x12, 0x1d, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, + 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, + 0x21, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x42, + 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x70, 0x70, + 0x65, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x0c, 0x0a, 0x01, 0x71, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x71, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x25, + 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0x70, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, + 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, + 0x0a, 0x09, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, + 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, + 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x09, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, + 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0xb7, 0x03, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x58, 0x0a, 0x0d, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0x92, 0x41, 0x2d, 0x32, 0x19, 0x4e, + 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, + 0x76, 0x61, 0x6c, 0x20, 0x73, 0x74, 0x65, 0x70, 0x4a, 0x10, 0x22, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x5f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x22, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x61, + 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x72, 0x61, + 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, + 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xe2, 0x01, 0x0a, + 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x71, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x59, 0x92, 0x41, 0x56, 0x32, 0x49, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x61, 0x6b, 0x65, 0x20, 0x6f, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x20, 0x50, 0x6f, + 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x72, + 0x65, 0x20, 0x22, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x22, 0x20, 0x6f, 0x72, 0x20, 0x22, + 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x4a, 0x09, 0x22, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, + 0x65, 0x22, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x65, 0x0a, 0x06, 0x72, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x4d, 0x92, 0x41, 0x4a, 0x32, + 0x48, 0x49, 0x6e, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x70, 0x70, 0x65, + 0x61, 0x6c, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x2c, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x74, 0x6f, + 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x22, 0x53, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, + 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x61, + 0x70, 0x70, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, + 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x06, + 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x22, 0xbb, 0x02, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x41, 0x70, + 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5f, 0x0a, + 0x09, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x42, 0x92, 0x41, 0x3c, 0x32, 0x12, 0x55, 0x55, 0x49, 0x44, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x4a, 0x26, 0x22, 0x66, 0x31, 0x62, 0x39, + 0x61, 0x39, 0x61, 0x30, 0x2d, 0x31, 0x66, 0x30, 0x62, 0x2d, 0x34, 0x62, 0x37, 0x61, 0x2d, 0x38, + 0x62, 0x30, 0x61, 0x2d, 0x39, 0x62, 0x30, 0x61, 0x39, 0x62, 0x30, 0x61, 0x39, 0x62, 0x30, 0x61, + 0x22, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x7a, + 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x59, 0x92, 0x41, 0x53, 0x32, 0x29, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, + 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x72, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, + 0x76, 0x61, 0x6c, 0x4a, 0x26, 0x22, 0x66, 0x31, 0x62, 0x39, 0x61, 0x39, 0x61, 0x30, 0x2d, 0x31, + 0x66, 0x30, 0x62, 0x2d, 0x34, 0x62, 0x37, 0x61, 0x2d, 0x38, 0x62, 0x30, 0x61, 0x2d, 0x39, 0x62, + 0x30, 0x61, 0x39, 0x62, 0x30, 0x61, 0x39, 0x62, 0x30, 0x61, 0x22, 0xe0, 0x41, 0x02, 0x52, 0x0a, + 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x05, 0x65, 0x6d, + 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0x92, 0x41, 0x2c, 0x32, 0x15, + 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, + 0x72, 0x6f, 0x76, 0x65, 0x72, 0x4a, 0x13, 0x22, 0x6a, 0x6f, 0x68, 0x6e, 0x40, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x6f, 0x72, 0x67, 0x22, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x50, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x41, 0x70, 0x70, 0x72, 0x6f, + 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x61, + 0x70, 0x70, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, + 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x06, + 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x22, 0x6b, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, + 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x14, 0x0a, + 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, + 0x61, 0x69, 0x6c, 0x22, 0x53, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, + 0x72, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, + 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, - 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, - 0x05, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x22, 0xe6, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x76, 0x6f, 0x6b, - 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, - 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, - 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x72, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, - 0x72, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x55, 0x72, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, - 0x50, 0x0a, 0x14, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, + 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, + 0x52, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x22, 0xe6, 0x03, 0x0a, 0x11, 0x4c, 0x69, 0x73, + 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x72, 0x6e, 0x73, 0x12, + 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x72, + 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, + 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x0b, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x12, 0x1d, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x42, + 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, + 0x12, 0x21, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, + 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, + 0x73, 0x65, 0x74, 0x12, 0x0c, 0x0a, 0x01, 0x71, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, + 0x71, 0x22, 0x64, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x06, 0x67, 0x72, 0x61, 0x6e, 0x74, - 0x73, 0x22, 0x86, 0x01, 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x38, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x70, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x38, 0x0a, 0x0c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xf4, 0x07, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6e, 0x12, 0x4d, 0x0a, - 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, - 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, - 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x38, 0x0a, 0x0b, - 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x4e, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, - 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, - 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x12, 0x56, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x72, 0x61, 0x79, 0x73, + 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0xb5, 0x03, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x1f, 0x0a, + 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x23, + 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x23, 0x0a, + 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x72, + 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x6e, 0x73, 0x12, 0x14, + 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, + 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, + 0x1d, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, + 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x21, + 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, + 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x12, 0x0c, 0x0a, 0x01, 0x71, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x71, 0x22, + 0x68, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x67, 0x72, 0x61, + 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x32, - 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x12, 0x5b, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, - 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, - 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, - 0x74, 0x65, 0x72, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x1a, - 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x8c, 0x01, 0x0a, 0x0c, 0x41, - 0x70, 0x70, 0x65, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x16, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, 0x6c, 0x6c, - 0x6f, 0x77, 0x50, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x46, 0x0a, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1c, 0x61, 0x6c, 0x6c, - 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x45, 0x78, - 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x1a, 0xb4, 0x01, 0x0a, 0x0e, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, - 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0x35, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, - 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x6c, - 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x1a, 0x79, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1a, 0x0a, - 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf4, 0x02, 0x0a, 0x08, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x75, 0x72, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6e, 0x12, 0x41, - 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, - 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x75, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x42, 0x3a, 0x92, 0x41, 0x37, 0x32, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x31, 0x2d, - 0x30, 0x31, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x52, 0x09, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x78, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x3d, 0x92, 0x41, 0x3a, 0x32, 0x20, 0x4c, - 0x61, 0x73, 0x74, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x06, 0x67, 0x72, 0x61, + 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x21, 0x0a, 0x0f, 0x47, 0x65, 0x74, + 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4a, 0x0a, 0x10, + 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x36, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, + 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x6e, + 0x74, 0x52, 0x05, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x3a, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x22, 0x4d, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, + 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x67, + 0x72, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x05, 0x67, 0x72, + 0x61, 0x6e, 0x74, 0x22, 0x3c, 0x0a, 0x12, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x47, 0x72, 0x61, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x22, 0x4d, 0x0a, 0x13, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x05, 0x67, 0x72, 0x61, 0x6e, 0x74, + 0x22, 0xe6, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6e, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x55, 0x72, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x6e, + 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x50, 0x0a, 0x14, 0x52, 0x65, 0x76, + 0x6f, 0x6b, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x38, 0x0a, 0x06, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, + 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, + 0x61, 0x6e, 0x74, 0x52, 0x06, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x04, + 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x0b, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x38, 0x0a, 0x0c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xf4, + 0x07, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6e, 0x12, 0x4d, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x38, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, + 0x12, 0x4e, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x36, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, + 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x70, 0x70, 0x65, + 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, + 0x12, 0x56, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, + 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x5b, 0x0a, 0x0a, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3b, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, + 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x0a, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x8c, 0x01, 0x0a, 0x0c, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, + 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x65, 0x72, 0x6d, + 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x46, 0x0a, 0x20, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x1a, 0xb4, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x35, 0x0a, 0x05, 0x72, + 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, + 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x1a, 0x79, 0x0a, 0x11, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf4, 0x02, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6e, 0x12, 0x41, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x75, 0x0a, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x3a, 0x92, 0x41, 0x37, + 0x32, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x54, 0x30, 0x30, 0x3a, - 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x22, 0x49, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0xa6, 0x01, - 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x12, 0x49, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x33, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, - 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x38, 0x0a, 0x0e, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, - 0x0a, 0x02, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x02, 0x65, 0x71, 0x22, 0xb6, 0x0b, 0x0a, 0x12, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x87, 0x01, - 0x0a, 0x10, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x70, 0x70, 0x65, 0x61, - 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x1d, 0x92, 0x41, 0x1a, 0x32, 0x18, 0x4c, 0x69, - 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, - 0x5f, 0x6f, 0x6e, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x6c, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x6c, 0x66, 0x12, - 0xa2, 0x01, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, - 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x42, 0x6c, 0x92, 0x41, 0x69, 0x32, 0x67, 0x53, 0x65, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x74, 0x6f, 0x20, 0x74, 0x72, 0x75, 0x65, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x77, - 0x61, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x20, 0x75, 0x73, 0x65, - 0x72, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x61, - 0x6e, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x20, 0x44, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x69, 0x73, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x14, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x12, 0x87, 0x02, 0x0a, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x65, 0x78, 0x74, - 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, - 0xbe, 0x01, 0x92, 0x41, 0xba, 0x01, 0x32, 0xb7, 0x01, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, - 0x61, 0x74, 0x65, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, - 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, - 0x28, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x29, 0x2e, 0x20, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x20, - 0x61, 0x72, 0x65, 0x20, 0x6e, 0x73, 0x2c, 0x20, 0x75, 0x73, 0x20, 0x28, 0x6f, 0x72, 0x20, 0xc2, - 0xb5, 0x73, 0x29, 0x2c, 0x20, 0x6d, 0x73, 0x2c, 0x20, 0x73, 0x2c, 0x20, 0x6d, 0x2c, 0x20, 0x68, - 0x52, 0x1c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x12, 0x8e, - 0x01, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, + 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x78, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x42, 0x3d, 0x92, 0x41, 0x3a, 0x32, 0x20, 0x4c, 0x61, 0x73, 0x74, 0x20, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, 0x33, + 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, + 0x22, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x49, 0x0a, 0x0c, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0xa6, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x49, 0x0a, 0x05, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x38, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x02, 0x65, 0x71, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x02, 0x65, 0x71, + 0x22, 0xb6, 0x0b, 0x0a, 0x12, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x70, 0x70, 0x65, 0x61, + 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x87, 0x01, 0x0a, 0x10, 0x64, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x38, 0x92, 0x41, 0x35, 0x32, - 0x33, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x61, 0x73, 0x6b, 0x65, 0x64, 0x20, 0x74, - 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x20, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x41, 0x0a, 0x1d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x75, - 0x72, 0x65, 0x1a, 0xb0, 0x02, 0x0a, 0x0f, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x37, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0x92, 0x41, 0x1d, 0x32, 0x1b, 0x4e, 0x61, 0x6d, 0x65, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0xe3, 0x01, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0xcc, 0x01, 0x92, 0x41, 0xc5, 0x01, 0x32, 0xc2, 0x01, 0x41, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x32, 0x34, 0x68, 0x2c, 0x20, 0x37, - 0x32, 0x68, 0x2e, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, - 0x65, 0x20, 0x30, 0x68, 0x20, 0x69, 0x6e, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, - 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x20, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x75, - 0x6e, 0x69, 0x74, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x73, 0x2c, 0x20, 0x75, 0x73, 0x20, - 0x28, 0x6f, 0x72, 0x20, 0xc2, 0xb5, 0x73, 0x29, 0x2e, 0x20, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x3a, 0x20, 0x5b, 0x50, 0x61, 0x72, 0x73, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x70, 0x6b, 0x67, - 0x2e, 0x67, 0x6f, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x23, 0x50, 0x61, 0x72, - 0x73, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0xe0, 0x41, 0x02, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xb7, 0x02, 0x0a, 0x08, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x22, 0x92, 0x41, 0x1c, 0x32, 0x1a, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x6b, 0x65, 0x79, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, - 0xe0, 0x41, 0x02, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4e, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0x92, 0x41, 0x2c, 0x32, - 0x2a, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, - 0x61, 0x73, 0x6b, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, - 0x65, 0x61, 0x6c, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0xe0, 0x41, 0x02, 0x52, 0x08, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x2f, 0x92, 0x41, 0x29, 0x32, - 0x27, 0x57, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x64, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x74, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x58, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0x92, 0x41, 0x33, 0x32, - 0x31, 0x54, 0x68, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x73, 0x68, 0x6f, 0x77, 0x6e, 0x20, 0x74, 0x6f, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0xa0, 0x20, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x55, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x45, 0x92, 0x41, 0x42, 0x32, 0x18, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x4a, 0x26, 0x22, 0x66, 0x34, 0x62, 0x37, 0x61, 0x33, 0x63, 0x30, - 0x2d, 0x39, 0x66, 0x39, 0x62, 0x2d, 0x34, 0x62, 0x39, 0x62, 0x2d, 0x39, 0x62, 0x30, 0x61, 0x2d, - 0x39, 0x65, 0x34, 0x62, 0x31, 0x61, 0x31, 0x62, 0x31, 0x62, 0x31, 0x62, 0x22, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x59, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x42, 0x3f, 0x92, 0x41, 0x3c, 0x32, 0x37, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x41, 0x75, 0x74, 0x6f, 0x2d, 0x69, 0x6e, - 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x69, 0x73, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x4a, 0x01, 0x31, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xa3, - 0x01, 0x0a, 0x05, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, + 0x67, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x42, 0x1d, 0x92, 0x41, 0x1a, 0x32, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x6e, 0x5f, 0x62, 0x65, + 0x68, 0x61, 0x6c, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x4f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x6c, 0x66, 0x12, 0xa2, 0x01, 0x0a, 0x16, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x6c, 0x92, 0x41, 0x69, 0x32, + 0x67, 0x53, 0x65, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x72, 0x75, + 0x65, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x20, 0x74, 0x6f, + 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x20, 0x75, 0x73, 0x65, 0x72, 0x73, 0x20, 0x74, 0x6f, 0x20, + 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x20, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x20, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, + 0x69, 0x73, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, + 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x87, + 0x02, 0x0a, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0xbe, 0x01, 0x92, 0x41, 0xba, 0x01, + 0x32, 0xb7, 0x01, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x66, 0x6f, + 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x61, 0x74, 0x65, 0x20, 0x77, 0x68, + 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x70, + 0x70, 0x65, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, + 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x28, 0x65, 0x78, 0x74, 0x65, 0x6e, + 0x64, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x29, 0x2e, 0x20, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x74, + 0x69, 0x6d, 0x65, 0x20, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x73, + 0x2c, 0x20, 0x75, 0x73, 0x20, 0x28, 0x6f, 0x72, 0x20, 0xc2, 0xb5, 0x73, 0x29, 0x2c, 0x20, 0x6d, + 0x73, 0x2c, 0x20, 0x73, 0x2c, 0x20, 0x6d, 0x2c, 0x20, 0x68, 0x52, 0x1c, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x45, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x12, 0x8e, 0x01, 0x0a, 0x09, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x72, + 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, + 0x70, 0x70, 0x65, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x51, 0x75, 0x65, 0x73, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x38, 0x92, 0x41, 0x35, 0x32, 0x33, 0x4c, 0x69, 0x73, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, + 0x62, 0x65, 0x20, 0x61, 0x73, 0x6b, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x09, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x1d, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x1a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x1a, 0xb0, 0x02, 0x0a, + 0x0f, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x37, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, + 0x92, 0x41, 0x1d, 0x32, 0x1b, 0x4e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xe3, 0x01, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0xcc, 0x01, 0x92, 0x41, 0xc5, 0x01, + 0x32, 0xc2, 0x01, 0x41, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, + 0x6f, 0x66, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x75, 0x63, 0x68, + 0x20, 0x61, 0x73, 0x20, 0x32, 0x34, 0x68, 0x2c, 0x20, 0x37, 0x32, 0x68, 0x2e, 0x20, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x30, 0x68, 0x20, 0x69, + 0x6e, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, + 0x65, 0x6e, 0x74, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x20, 0x61, + 0x72, 0x65, 0x20, 0x6e, 0x73, 0x2c, 0x20, 0x75, 0x73, 0x20, 0x28, 0x6f, 0x72, 0x20, 0xc2, 0xb5, + 0x73, 0x29, 0x2e, 0x20, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x20, 0x5b, + 0x50, 0x61, 0x72, 0x73, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x70, 0x6b, 0x67, 0x2e, 0x67, 0x6f, 0x2e, 0x64, 0x65, + 0x76, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x23, 0x50, 0x61, 0x72, 0x73, 0x65, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x29, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, + 0xb7, 0x02, 0x0a, 0x08, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0x92, 0x41, 0x1c, 0x32, 0x1a, + 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x4e, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0x92, 0x41, 0x2c, 0x32, 0x2a, 0x51, 0x75, 0x65, 0x73, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x61, 0x73, 0x6b, 0x65, 0x64, 0x20, + 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x20, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x2f, 0x92, 0x41, 0x29, 0x32, 0x27, 0x57, 0x68, 0x65, 0x74, 0x68, + 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x69, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x6e, + 0x6f, 0x74, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, + 0x58, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0x92, 0x41, 0x33, 0x32, 0x31, 0x54, 0x68, 0x65, 0x20, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, + 0x20, 0x73, 0x68, 0x6f, 0x77, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, + 0x70, 0x65, 0x61, 0x6c, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa0, 0x20, 0x0a, 0x06, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x55, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x45, 0x92, 0x41, 0x42, 0x32, 0x18, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x75, 0x6e, + 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4a, + 0x26, 0x22, 0x66, 0x34, 0x62, 0x37, 0x61, 0x33, 0x63, 0x30, 0x2d, 0x39, 0x66, 0x39, 0x62, 0x2d, + 0x34, 0x62, 0x39, 0x62, 0x2d, 0x39, 0x62, 0x30, 0x61, 0x2d, 0x39, 0x65, 0x34, 0x62, 0x31, 0x61, + 0x31, 0x62, 0x31, 0x62, 0x31, 0x62, 0x22, 0x52, 0x02, 0x69, 0x64, 0x12, 0x59, 0x0a, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x3f, 0x92, 0x41, + 0x3c, 0x32, 0x37, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x2e, 0x20, 0x41, 0x75, 0x74, 0x6f, 0x2d, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, + 0x69, 0x73, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4a, 0x01, 0x31, 0x52, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xa3, 0x01, 0x0a, 0x05, 0x73, 0x74, 0x65, + 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x41, 0x70, 0x70, 0x72, + 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x65, 0x70, 0x42, 0x5d, 0x92, 0x41, 0x5a, 0x32, 0x58, 0x53, + 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, + 0x76, 0x61, 0x6c, 0x20, 0x73, 0x74, 0x65, 0x70, 0x73, 0x2e, 0x20, 0x45, 0x61, 0x63, 0x68, 0x20, + 0x73, 0x74, 0x65, 0x70, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x64, 0x69, + 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, + 0x20, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x61, 0x70, + 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x73, 0x52, 0x05, 0x73, 0x74, 0x65, 0x70, 0x73, 0x12, 0x45, + 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x65, 0x70, 0x42, 0x5d, - 0x92, 0x41, 0x5a, 0x32, 0x58, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x66, - 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x20, 0x73, 0x74, 0x65, 0x70, 0x73, 0x2e, - 0x20, 0x45, 0x61, 0x63, 0x68, 0x20, 0x73, 0x74, 0x65, 0x70, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x68, - 0x61, 0x76, 0x65, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x70, - 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x20, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x20, - 0x61, 0x6e, 0x64, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x73, 0x52, 0x05, 0x73, - 0x74, 0x65, 0x70, 0x73, 0x12, 0x45, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, - 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x75, 0x0a, 0x0a, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x3a, 0x92, 0x41, 0x37, - 0x32, 0x19, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4a, 0x1a, 0x22, 0x32, 0x30, - 0x32, 0x33, 0x2d, 0x30, 0x36, 0x2d, 0x30, 0x37, 0x54, 0x30, 0x35, 0x3a, 0x33, 0x39, 0x3a, 0x35, - 0x36, 0x2e, 0x39, 0x36, 0x31, 0x5a, 0x22, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x12, 0x78, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x42, 0x3d, 0x92, 0x41, 0x3a, 0x32, 0x1c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, - 0x6c, 0x61, 0x73, 0x74, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, + 0x79, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x75, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x3a, 0x92, 0x41, 0x37, 0x32, 0x19, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4a, 0x1a, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x36, 0x2d, 0x30, 0x37, 0x54, 0x30, 0x35, 0x3a, 0x33, 0x39, 0x3a, 0x35, 0x36, 0x2e, 0x39, 0x36, 0x31, 0x5a, - 0x22, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x51, 0x0a, 0x0c, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, - 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x37, 0x0a, 0x03, 0x69, 0x61, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, + 0x22, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x78, 0x0a, 0x0a, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x3d, 0x92, 0x41, + 0x3a, 0x32, 0x1c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x20, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4a, + 0x1a, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x36, 0x2d, 0x30, 0x37, 0x54, 0x30, 0x35, 0x3a, + 0x33, 0x39, 0x3a, 0x35, 0x36, 0x2e, 0x39, 0x36, 0x31, 0x5a, 0x22, 0x52, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x51, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, - 0x49, 0x41, 0x4d, 0x52, 0x03, 0x69, 0x61, 0x6d, 0x12, 0x45, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x65, - 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x70, 0x70, 0x65, 0x61, - 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x12, - 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x62, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x42, 0x79, 0x1a, 0xa5, 0x09, 0x0a, 0x0c, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, - 0x6c, 0x53, 0x74, 0x65, 0x70, 0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x2a, 0x92, 0x41, 0x24, 0x32, 0x18, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, - 0x61, 0x6c, 0x20, 0x73, 0x74, 0x65, 0x70, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, - 0x65, 0x72, 0x4a, 0x08, 0x22, 0x53, 0x74, 0x65, 0x70, 0x20, 0x31, 0x22, 0xe0, 0x41, 0x02, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0x92, 0x41, 0x31, 0x32, - 0x19, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x20, 0x73, 0x74, 0x65, 0x70, 0x20, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x14, 0x22, 0x53, 0x74, 0x65, - 0x70, 0x20, 0x31, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x96, 0x01, - 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x42, 0x73, 0x92, 0x41, 0x70, 0x32, 0x68, 0x49, 0x66, 0x20, 0x73, 0x65, - 0x74, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x20, 0x73, 0x74, 0x65, 0x70, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x6a, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6d, 0x61, - 0x72, 0x6b, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x20, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x20, 0x61, 0x73, 0x20, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x20, - 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x6a, 0x65, 0x63, - 0x74, 0x65, 0x64, 0x4a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, - 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0xd4, 0x01, 0x0a, 0x04, 0x77, 0x68, 0x65, 0x6e, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0xbf, 0x01, 0x92, 0x41, 0xbb, 0x01, 0x32, 0xb8, 0x01, 0x44, - 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, - 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x65, 0x70, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x20, 0x62, 0x65, 0x20, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x20, 0x6f, - 0x72, 0x20, 0x69, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x73, 0x6b, 0x69, 0x70, - 0x70, 0x65, 0x64, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x69, 0x74, 0x20, 0x65, 0x76, 0x61, 0x6c, 0x75, - 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x79, - 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x65, 0x70, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, - 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x73, 0x6b, - 0x69, 0x70, 0x70, 0x65, 0x64, 0x2e, 0x20, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x77, 0x69, 0x73, 0x65, - 0x2c, 0x20, 0x73, 0x74, 0x65, 0x70, 0x20, 0x62, 0x65, 0x63, 0x6f, 0x6d, 0x65, 0x20, 0x70, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x20, 0x28, 0x6e, - 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x29, 0x2e, 0x52, 0x04, 0x77, 0x68, 0x65, 0x6e, 0x12, 0x73, 0x0a, - 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x57, 0x92, 0x41, 0x51, 0x32, 0x47, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x75, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x73, 0x74, 0x65, 0x70, 0x2e, 0x20, 0x50, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x61, 0x75, 0x74, 0x6f, - 0x60, 0x20, 0x6f, 0x72, 0x20, 0x60, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x60, 0x4a, 0x06, 0x22, - 0x61, 0x75, 0x74, 0x6f, 0x22, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, - 0x67, 0x79, 0x12, 0x91, 0x01, 0x0a, 0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x5f, 0x69, - 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x72, 0x92, 0x41, 0x6f, 0x32, 0x6d, 0x44, 0x65, - 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x75, 0x74, - 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x73, 0x74, 0x65, - 0x70, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x20, - 0x69, 0x73, 0x20, 0x60, 0x61, 0x75, 0x74, 0x6f, 0x60, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, - 0x79, 0x20, 0x69, 0x73, 0x20, 0x60, 0x61, 0x75, 0x74, 0x6f, 0x60, 0x52, 0x09, 0x61, 0x70, 0x70, - 0x72, 0x6f, 0x76, 0x65, 0x49, 0x66, 0x12, 0xbe, 0x01, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x72, 0x6f, - 0x76, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x42, 0x9f, 0x01, 0x92, 0x41, 0x9b, - 0x01, 0x32, 0x98, 0x01, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x65, 0x6d, 0x61, 0x69, - 0x6c, 0x20, 0x6f, 0x72, 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x45, 0x78, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, - 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x6e, 0x20, - 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x6f, 0x72, - 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, - 0x20, 0x69, 0x73, 0x20, 0x60, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x60, 0x52, 0x09, 0x61, 0x70, - 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x73, 0x12, 0xc2, 0x01, 0x0a, 0x10, 0x72, 0x65, 0x6a, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x96, 0x01, 0x92, 0x41, 0x92, 0x01, 0x32, 0x8f, 0x01, 0x54, 0x68, 0x69, 0x73, - 0x20, 0x66, 0x69, 0x6c, 0x6c, 0x73, 0x20, 0x60, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, - 0x2e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x60, 0x20, 0x69, 0x66, 0x20, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x20, 0x73, 0x74, 0x65, - 0x70, 0x20, 0x67, 0x65, 0x74, 0x73, 0x20, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, - 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x60, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, - 0x65, 0x49, 0x66, 0x60, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, - 0x20, 0x49, 0x66, 0x20, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x20, 0x69, 0x73, 0x20, - 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x2e, 0x52, 0x0f, 0x72, 0x65, 0x6a, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x1a, 0x39, 0x0a, 0x0b, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xad, 0x0b, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0xab, 0x01, 0x0a, 0x02, 0x6f, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, - 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x42, 0x59, 0x92, 0x41, 0x53, 0x32, 0x51, 0x52, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x20, 0x69, 0x73, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x2c, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x6c, - 0x6c, 0x20, 0x62, 0x65, 0x20, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0xe0, 0x41, - 0x02, 0x52, 0x02, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, + 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x72, 0x65, 0x71, + 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x37, 0x0a, 0x03, 0x69, 0x61, 0x6d, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x49, 0x41, 0x4d, 0x52, 0x03, 0x69, + 0x61, 0x6d, 0x12, 0x45, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, + 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, + 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x1a, 0xa5, + 0x09, 0x0a, 0x0c, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x65, 0x70, 0x12, + 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0x92, + 0x41, 0x24, 0x32, 0x18, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x20, 0x73, 0x74, 0x65, + 0x70, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4a, 0x08, 0x22, 0x53, + 0x74, 0x65, 0x70, 0x20, 0x31, 0x22, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x56, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0x92, 0x41, 0x31, 0x32, 0x19, 0x41, 0x70, 0x70, 0x72, 0x6f, + 0x76, 0x61, 0x6c, 0x20, 0x73, 0x74, 0x65, 0x70, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x14, 0x22, 0x53, 0x74, 0x65, 0x70, 0x20, 0x31, 0x20, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x96, 0x01, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x73, + 0x92, 0x41, 0x70, 0x32, 0x68, 0x49, 0x66, 0x20, 0x73, 0x65, 0x74, 0x20, 0x74, 0x72, 0x75, 0x65, + 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x73, 0x74, + 0x65, 0x70, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x2c, 0x20, + 0x69, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6d, 0x61, 0x72, 0x6b, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x61, + 0x73, 0x20, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, + 0x64, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4a, 0x04, 0x74, + 0x72, 0x75, 0x65, 0x52, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, + 0x12, 0xd4, 0x01, 0x0a, 0x04, 0x77, 0x68, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, + 0xbf, 0x01, 0x92, 0x41, 0xbb, 0x01, 0x32, 0xb8, 0x01, 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x65, 0x73, 0x20, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x73, 0x74, 0x65, 0x70, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x65, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x69, 0x74, 0x20, 0x63, + 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x2e, 0x20, 0x49, + 0x66, 0x20, 0x69, 0x74, 0x20, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, + 0x6f, 0x20, 0x62, 0x65, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x79, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x73, 0x74, 0x65, 0x70, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x2e, + 0x20, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x77, 0x69, 0x73, 0x65, 0x2c, 0x20, 0x73, 0x74, 0x65, 0x70, + 0x20, 0x62, 0x65, 0x63, 0x6f, 0x6d, 0x65, 0x20, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x2f, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x20, 0x28, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x29, + 0x2e, 0x52, 0x04, 0x77, 0x68, 0x65, 0x6e, 0x12, 0x73, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x57, 0x92, 0x41, 0x51, 0x32, 0x47, + 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, + 0x6f, 0x75, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x65, 0x70, 0x2e, + 0x20, 0x50, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x61, 0x75, 0x74, 0x6f, 0x60, 0x20, 0x6f, 0x72, 0x20, 0x60, + 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x60, 0x4a, 0x06, 0x22, 0x61, 0x75, 0x74, 0x6f, 0x22, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x91, 0x01, 0x0a, + 0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x72, 0x92, 0x41, 0x6f, 0x32, 0x6d, 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, + 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x73, 0x74, 0x65, 0x70, 0x20, 0x77, 0x68, 0x65, 0x6e, + 0x20, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x20, 0x69, 0x73, 0x20, 0x60, 0x61, 0x75, + 0x74, 0x6f, 0x60, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x77, 0x68, + 0x65, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x20, 0x69, 0x73, 0x20, 0x60, + 0x61, 0x75, 0x74, 0x6f, 0x60, 0x52, 0x09, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x49, 0x66, + 0x12, 0xbe, 0x01, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x73, 0x18, 0x07, + 0x20, 0x03, 0x28, 0x09, 0x42, 0x9f, 0x01, 0x92, 0x41, 0x9b, 0x01, 0x32, 0x98, 0x01, 0x4c, 0x69, + 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x6f, 0x72, 0x20, 0x45, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x20, 0x69, 0x73, 0x20, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x20, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x65, 0x73, 0x2e, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, + 0x6e, 0x20, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x20, 0x69, 0x73, 0x20, 0x60, 0x6d, + 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x60, 0x52, 0x09, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, + 0x73, 0x12, 0xc2, 0x01, 0x0a, 0x10, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x96, 0x01, 0x92, + 0x41, 0x92, 0x01, 0x32, 0x8f, 0x01, 0x54, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x6c, 0x6c, 0x73, + 0x20, 0x60, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x60, 0x20, 0x69, 0x66, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x70, + 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x20, 0x73, 0x74, 0x65, 0x70, 0x20, 0x67, 0x65, 0x74, 0x73, + 0x20, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, + 0x6f, 0x6e, 0x20, 0x60, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x49, 0x66, 0x60, 0x20, 0x65, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x73, 0x74, + 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x20, 0x69, 0x73, 0x20, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, + 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x67, 0x6e, + 0x6f, 0x72, 0x65, 0x64, 0x2e, 0x52, 0x0f, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x1a, 0xad, 0x0b, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0xab, 0x01, 0x0a, 0x02, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, + 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, + 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x42, 0x59, 0x92, 0x41, 0x53, 0x32, 0x51, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x20, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x20, 0x69, 0x73, 0x20, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x64, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x65, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x6f, 0x6e, 0x12, + 0x58, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, + 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, + 0x52, 0x07, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x1a, 0xe3, 0x05, 0x0a, 0x12, 0x52, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x12, 0x83, 0x01, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x5e, 0x92, 0x41, 0x5b, 0x32, 0x59, 0x43, + 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x70, 0x70, + 0x65, 0x61, 0x6c, 0x27, 0x73, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x20, 0x52, 0x65, 0x67, 0x65, 0x78, 0x20, 0x73, + 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x5d, 0x92, + 0x41, 0x5a, 0x32, 0x58, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x55, 0x52, + 0x4e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x27, 0x73, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x20, 0x52, 0x65, 0x67, + 0x65, 0x78, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x0b, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x72, 0x6e, 0x12, 0x83, 0x01, 0x0a, 0x0d, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x5e, 0x92, 0x41, 0x5b, 0x32, 0x59, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x27, 0x73, 0x20, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x2e, 0x20, 0x52, 0x65, 0x67, 0x65, 0x78, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x80, 0x01, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x5d, 0x92, 0x41, 0x5a, 0x32, 0x58, 0x43, 0x72, 0x69, + 0x74, 0x65, 0x72, 0x69, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x55, 0x52, 0x4e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, + 0x27, 0x73, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x2e, 0x20, 0x52, 0x65, 0x67, 0x65, 0x78, 0x20, 0x73, 0x75, 0x70, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, + 0x72, 0x6e, 0x12, 0x55, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x41, 0x92, 0x41, 0x3e, 0x32, 0x3c, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x70, 0x70, 0x65, + 0x61, 0x6c, 0x2e, 0x20, 0x52, 0x65, 0x67, 0x65, 0x78, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, + 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, + 0xaf, 0x03, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x70, + 0x70, 0x65, 0x61, 0x6c, 0x12, 0x6d, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x07, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x1a, - 0xe3, 0x05, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x83, 0x01, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x5e, - 0x92, 0x41, 0x5b, 0x32, 0x59, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x74, - 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x74, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x27, 0x73, 0x20, 0x73, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x20, 0x52, - 0x65, 0x67, 0x65, 0x78, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x0c, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x80, 0x01, 0x0a, - 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x5d, 0x92, 0x41, 0x5a, 0x32, 0x58, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, - 0x69, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x20, 0x55, 0x52, 0x4e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x27, 0x73, 0x20, - 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x2e, 0x20, 0x52, 0x65, 0x67, 0x65, 0x78, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x64, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x72, 0x6e, 0x12, - 0x83, 0x01, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x5e, 0x92, 0x41, 0x5b, 0x32, 0x59, 0x43, 0x72, - 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x70, 0x70, 0x65, - 0x61, 0x6c, 0x27, 0x73, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x20, 0x52, 0x65, 0x67, 0x65, 0x78, 0x20, 0x73, 0x75, - 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x5d, 0x92, 0x41, - 0x5a, 0x32, 0x58, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x55, 0x52, 0x4e, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, - 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x27, 0x73, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, - 0x64, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x20, 0x52, 0x65, 0x67, 0x65, - 0x78, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x0b, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x6e, 0x12, 0x55, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x41, 0x92, 0x41, 0x3e, 0x32, 0x3c, 0x43, 0x72, 0x69, - 0x74, 0x65, 0x72, 0x69, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x6f, - 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x74, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x2e, 0x20, 0x52, 0x65, 0x67, 0x65, 0x78, 0x20, - 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, - 0x44, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, - 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xaf, 0x03, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x12, 0x6d, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x72, - 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, - 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x42, 0x0a, - 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, - 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, - 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x61, - 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, - 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x1a, 0x92, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x72, - 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x1a, 0xc8, 0x03, 0x0a, 0x03, 0x49, 0x41, 0x4d, 0x12, - 0x6c, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x50, 0x92, 0x41, 0x4a, 0x32, 0x3c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x20, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x20, 0x53, - 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x61, - 0x72, 0x65, 0x20, 0x68, 0x74, 0x74, 0x70, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6e, - 0x74, 0x69, 0x65, 0x72, 0x4a, 0x0a, 0x22, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, - 0xe0, 0x41, 0x02, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x6b, 0x0a, - 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x3b, 0x92, 0x41, 0x35, 0x32, 0x33, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x61, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x74, 0x79, 0x70, 0x65, 0xe0, - 0x41, 0x02, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0xaa, 0x01, 0x0a, 0x06, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x72, 0x61, + 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x06, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x49, - 0x41, 0x4d, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x5f, - 0x92, 0x41, 0x5c, 0x32, 0x5a, 0x55, 0x73, 0x65, 0x72, 0x20, 0x28, 0x61, 0x70, 0x70, 0x65, 0x61, - 0x6c, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x29, 0x20, 0x70, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x73, 0x68, 0x6f, 0x77, 0x6e, 0x20, 0x69, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, - 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x1a, 0x39, 0x0a, 0x0b, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0x70, 0x0a, 0x0d, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x92, 0x01, 0x0a, + 0x12, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x72, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, + 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x1a, 0xc8, 0x03, 0x0a, 0x03, 0x49, 0x41, 0x4d, 0x12, 0x6c, 0x0a, 0x08, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x50, 0x92, 0x41, 0x4a, + 0x32, 0x3c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x20, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x20, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x68, 0x74, 0x74, + 0x70, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x69, 0x65, 0x72, 0x4a, 0x0a, + 0x22, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x6b, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, + 0x3b, 0x92, 0x41, 0x35, 0x32, 0x33, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x72, + 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x20, 0x74, 0x79, 0x70, 0x65, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0xaa, 0x01, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x49, 0x41, 0x4d, 0x2e, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x5f, 0x92, 0x41, 0x5c, 0x32, 0x5a, 0x55, + 0x73, 0x65, 0x72, 0x20, 0x28, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x20, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x29, 0x20, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x20, 0x74, 0x6f, 0x20, 0x62, + 0x65, 0x20, 0x73, 0x68, 0x6f, 0x77, 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x6e, 0x20, + 0x61, 0x6e, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x1a, 0x39, 0x0a, 0x0b, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x70, 0x0a, 0x0d, + 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x0a, + 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, + 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb4, + 0x08, 0x0a, 0x06, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x45, 0x0a, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, + 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, + 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, + 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, + 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x09, 0x61, + 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x73, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb4, 0x08, 0x0a, 0x06, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, - 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x25, 0x0a, - 0x0e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x72, - 0x6f, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, - 0x42, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x28, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, - 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, - 0x65, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x45, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x09, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x38, 0x92, 0x41, 0x35, 0x32, 0x1b, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, + 0x33, 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, + 0x5a, 0x22, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x76, 0x0a, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x3b, 0x92, + 0x41, 0x38, 0x32, 0x1e, 0x4c, 0x61, 0x73, 0x74, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, + 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x65, + 0x61, 0x6c, 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x54, + 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x31, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, + 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x30, 0x0a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, + 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, + 0x0a, 0x05, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, + 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, + 0x05, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x0e, 0x10, 0x0f, 0x4a, 0x04, 0x08, 0x0f, 0x10, 0x10, 0x4a, + 0x04, 0x08, 0x10, 0x10, 0x11, 0x22, 0xa3, 0x04, 0x0a, 0x08, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, + 0x61, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x70, 0x70, 0x65, 0x61, + 0x6c, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, + 0x63, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x63, 0x74, 0x6f, + 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x25, + 0x0a, 0x0e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, + 0x72, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, + 0x65, 0x72, 0x73, 0x12, 0x39, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, + 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x12, 0x77, + 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x3c, + 0x92, 0x41, 0x39, 0x32, 0x1b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x20, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x4a, 0x1a, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x36, 0x2d, 0x30, 0x37, 0x54, 0x30, 0x35, + 0x3a, 0x33, 0x39, 0x3a, 0x35, 0x36, 0x2e, 0x39, 0x36, 0x31, 0x5a, 0x22, 0x52, 0x09, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x7a, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x3f, 0x92, 0x41, 0x3c, 0x32, 0x1e, 0x41, 0x70, + 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x20, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4a, 0x1a, 0x22, 0x32, + 0x30, 0x32, 0x33, 0x2d, 0x30, 0x36, 0x2d, 0x30, 0x37, 0x54, 0x30, 0x35, 0x3a, 0x33, 0x39, 0x3a, + 0x35, 0x36, 0x2e, 0x39, 0x36, 0x31, 0x5a, 0x22, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xc6, 0x09, 0x0a, 0x08, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x57, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x47, 0x92, 0x41, 0x44, 0x32, 0x1a, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x4a, 0x26, 0x22, 0x66, 0x34, 0x62, 0x37, 0x61, 0x33, 0x63, 0x30, + 0x2d, 0x39, 0x66, 0x39, 0x62, 0x2d, 0x34, 0x62, 0x39, 0x62, 0x2d, 0x39, 0x62, 0x30, 0x61, 0x2d, + 0x39, 0x65, 0x34, 0x62, 0x31, 0x61, 0x31, 0x62, 0x31, 0x62, 0x31, 0x62, 0x22, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x65, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x40, 0x92, 0x41, 0x3d, 0x32, 0x2f, 0x54, + 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x73, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4a, 0x0a, + 0x22, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x44, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, + 0x92, 0x41, 0x1e, 0x32, 0x13, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x20, 0x75, 0x72, 0x6e, 0x4a, 0x07, 0x22, 0x6d, 0x79, 0x2d, 0x62, 0x71, + 0x22, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x72, 0x6e, 0x12, 0x96, + 0x01, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x81, 0x01, + 0x92, 0x41, 0x7e, 0x32, 0x73, 0x54, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x20, 0x44, 0x65, 0x70, 0x65, 0x6e, + 0x64, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x20, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2c, 0x20, 0x76, 0x69, + 0x65, 0x77, 0x2c, 0x20, 0x65, 0x74, 0x63, 0x2e, 0x4a, 0x07, 0x22, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x22, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0x92, 0x41, 0x15, 0x32, 0x13, 0x55, 0x6e, 0x69, 0x71, 0x75, + 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x75, 0x72, 0x6e, 0x52, 0x03, + 0x75, 0x72, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x42, 0x4d, 0x92, 0x41, 0x4a, 0x32, 0x48, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, + 0x6e, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x47, 0x0a, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x12, 0x77, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x42, 0x3c, 0x92, 0x41, 0x39, 0x32, 0x1b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4a, 0x1a, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x36, 0x2d, + 0x30, 0x37, 0x54, 0x30, 0x35, 0x3a, 0x33, 0x39, 0x3a, 0x35, 0x36, 0x2e, 0x39, 0x36, 0x31, 0x5a, + 0x22, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x7a, 0x0a, 0x0a, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x3f, 0x92, 0x41, + 0x3c, 0x32, 0x1e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x6c, 0x61, 0x73, 0x74, + 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x4a, 0x1a, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x36, 0x2d, 0x30, 0x37, 0x54, 0x30, + 0x35, 0x3a, 0x33, 0x39, 0x3a, 0x35, 0x36, 0x2e, 0x39, 0x36, 0x31, 0x5a, 0x22, 0x52, 0x09, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x4a, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x42, 0x2b, 0x92, 0x41, + 0x28, 0x32, 0x26, 0x57, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x69, 0x73, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x74, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0x92, 0x41, 0x14, 0x32, 0x12, 0x50, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x69, 0x64, + 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x5d, 0x0a, 0x08, 0x63, 0x68, + 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x61, - 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, + 0x65, 0x42, 0x1c, 0x92, 0x41, 0x19, 0x32, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x63, 0x68, 0x69, 0x6c, 0x64, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, + 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf0, 0x07, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x20, 0x0a, + 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x43, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, + 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x44, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x5f, 0x69, + 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x49, + 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x42, 0x79, + 0x12, 0x7b, 0x0a, 0x0a, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x42, 0x40, 0x92, 0x41, 0x3d, 0x32, 0x23, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x20, + 0x69, 0x73, 0x20, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, + 0x33, 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, + 0x5a, 0x22, 0x52, 0x09, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, + 0x0d, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, + 0x79, 0x12, 0x72, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x42, 0x37, 0x92, 0x41, 0x34, 0x32, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x72, 0x61, + 0x6e, 0x74, 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x54, + 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x75, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x3a, 0x92, 0x41, 0x37, 0x32, 0x1d, 0x4c, 0x61, 0x73, 0x74, + 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, 0x33, + 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, + 0x22, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3f, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, - 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, - 0x76, 0x61, 0x6c, 0x52, 0x09, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x73, - 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x38, - 0x92, 0x41, 0x35, 0x32, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x69, - 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, - 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x54, 0x30, 0x30, - 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x76, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x42, 0x3b, 0x92, 0x41, 0x38, 0x32, 0x1e, 0x4c, 0x61, 0x73, 0x74, 0x20, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, + 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x39, 0x0a, + 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, + 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, + 0x52, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, + 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x69, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x69, 0x6e, + 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0xb6, 0x05, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, + 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1d, + 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, + 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x7e, 0x0a, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x43, 0x92, 0x41, 0x40, + 0x32, 0x26, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, - 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x31, 0x0a, 0x07, 0x64, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x21, - 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x12, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, - 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, - 0x12, 0x30, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x18, 0x16, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, - 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x05, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x39, - 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x0e, 0x10, 0x0f, 0x4a, - 0x04, 0x08, 0x0f, 0x10, 0x10, 0x4a, 0x04, 0x08, 0x10, 0x10, 0x11, 0x22, 0xa3, 0x04, 0x0a, 0x08, - 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, - 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, - 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, - 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x73, 0x12, 0x39, 0x0a, 0x06, 0x61, 0x70, 0x70, - 0x65, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x06, 0x61, 0x70, - 0x70, 0x65, 0x61, 0x6c, 0x12, 0x77, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x42, 0x3c, 0x92, 0x41, 0x39, 0x32, 0x1b, 0x41, 0x70, 0x70, 0x72, 0x6f, - 0x76, 0x61, 0x6c, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4a, 0x1a, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x36, - 0x2d, 0x30, 0x37, 0x54, 0x30, 0x35, 0x3a, 0x33, 0x39, 0x3a, 0x35, 0x36, 0x2e, 0x39, 0x36, 0x31, - 0x5a, 0x22, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x7a, 0x0a, - 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3f, 0x0a, 0x08, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, + 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, + 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x30, 0x0a, + 0x14, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, + 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, + 0x2f, 0x0a, 0x13, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x22, 0xed, 0x02, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x76, 0x0a, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x3f, 0x92, - 0x41, 0x3c, 0x32, 0x1e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x20, 0x6c, 0x61, 0x73, - 0x74, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x4a, 0x1a, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x36, 0x2d, 0x30, 0x37, 0x54, - 0x30, 0x35, 0x3a, 0x33, 0x39, 0x3a, 0x35, 0x36, 0x2e, 0x39, 0x36, 0x31, 0x5a, 0x22, 0x52, 0x09, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x22, 0xc6, 0x09, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x57, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x47, 0x92, 0x41, 0x44, 0x32, - 0x1a, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, - 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4a, 0x26, 0x22, 0x66, 0x34, - 0x62, 0x37, 0x61, 0x33, 0x63, 0x30, 0x2d, 0x39, 0x66, 0x39, 0x62, 0x2d, 0x34, 0x62, 0x39, 0x62, - 0x2d, 0x39, 0x62, 0x30, 0x61, 0x2d, 0x39, 0x65, 0x34, 0x62, 0x31, 0x61, 0x31, 0x62, 0x31, 0x62, - 0x31, 0x62, 0x22, 0x52, 0x02, 0x69, 0x64, 0x12, 0x65, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x40, - 0x92, 0x41, 0x3d, 0x32, 0x2f, 0x54, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x73, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x4a, 0x0a, 0x22, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, - 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x44, - 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0x92, 0x41, 0x1e, 0x32, 0x13, 0x55, 0x6e, 0x69, 0x71, 0x75, - 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x75, 0x72, 0x6e, 0x4a, 0x07, - 0x22, 0x6d, 0x79, 0x2d, 0x62, 0x71, 0x22, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x55, 0x72, 0x6e, 0x12, 0x96, 0x01, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x81, 0x01, 0x92, 0x41, 0x7e, 0x32, 0x73, 0x54, 0x79, 0x70, 0x65, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, - 0x20, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x20, 0x46, - 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x63, 0x61, 0x6e, - 0x20, 0x62, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x2c, 0x20, 0x76, 0x69, 0x65, 0x77, 0x2c, 0x20, 0x65, 0x74, 0x63, 0x2e, 0x4a, 0x07, - 0x22, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, - 0x03, 0x75, 0x72, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0x92, 0x41, 0x15, 0x32, - 0x13, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x20, 0x75, 0x72, 0x6e, 0x52, 0x03, 0x75, 0x72, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x80, 0x01, - 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x4d, 0x92, 0x41, 0x4a, 0x32, 0x48, 0x41, - 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, - 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x47, - 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x12, 0x47, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, - 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x77, 0x0a, 0x0a, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x3c, 0x92, 0x41, 0x39, 0x32, 0x1b, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4a, 0x1a, 0x22, 0x32, 0x30, - 0x32, 0x33, 0x2d, 0x30, 0x36, 0x2d, 0x30, 0x37, 0x54, 0x30, 0x35, 0x3a, 0x33, 0x39, 0x3a, 0x35, - 0x36, 0x2e, 0x39, 0x36, 0x31, 0x5a, 0x22, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x12, 0x7a, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x42, 0x3f, 0x92, 0x41, 0x3c, 0x32, 0x1e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4a, 0x1a, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, - 0x36, 0x2d, 0x30, 0x37, 0x54, 0x30, 0x35, 0x3a, 0x33, 0x39, 0x3a, 0x35, 0x36, 0x2e, 0x39, 0x36, - 0x31, 0x5a, 0x22, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x4a, - 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x08, 0x42, 0x2b, 0x92, 0x41, 0x28, 0x32, 0x26, 0x57, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x69, 0x73, - 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x74, 0x52, - 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x09, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0x92, - 0x41, 0x14, 0x32, 0x12, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x20, 0x69, 0x64, 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x5d, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x0d, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, - 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x1c, 0x92, 0x41, 0x19, 0x32, 0x17, 0x4c, 0x69, - 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x20, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x1a, - 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf0, 0x07, 0x0a, 0x05, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, - 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, - 0x6f, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, - 0x70, 0x65, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, - 0x70, 0x70, 0x65, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x76, 0x6f, 0x6b, - 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x76, - 0x6f, 0x6b, 0x65, 0x64, 0x42, 0x79, 0x12, 0x7b, 0x0a, 0x0a, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x40, 0x92, 0x41, 0x3d, 0x32, 0x23, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x67, 0x72, 0x61, 0x6e, 0x74, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, - 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x54, 0x30, 0x30, - 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x52, 0x09, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x5f, 0x72, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x76, 0x6f, - 0x6b, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x72, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x37, 0x92, 0x41, 0x34, 0x32, 0x1a, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, - 0x30, 0x31, 0x2d, 0x30, 0x31, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, - 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x75, 0x0a, 0x0a, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x3a, 0x92, 0x41, 0x37, - 0x32, 0x1d, 0x4c, 0x61, 0x73, 0x74, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x69, - 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x4a, - 0x16, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x54, 0x30, 0x30, 0x3a, - 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x12, 0x3f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x10, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, - 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x18, 0x11, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, - 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x06, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x12, 0x21, - 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x12, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, - 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, - 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, - 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0xb6, 0x05, - 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, - 0x74, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x3b, 0x92, + 0x41, 0x38, 0x32, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x69, 0x6d, + 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x54, + 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x79, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x7e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x42, 0x43, 0x92, 0x41, 0x40, 0x32, 0x26, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4a, 0x16, - 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x54, 0x30, 0x30, 0x3a, 0x30, - 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x12, 0x3f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x3e, 0x92, 0x41, 0x3b, 0x32, 0x21, 0x4c, 0x61, 0x73, 0x74, + 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4a, 0x16, 0x22, + 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, + 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x22, 0x5c, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x09, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, + 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x19, + 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x0a, 0x13, 0x47, 0x65, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x22, 0x5a, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x61, + 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x17, 0x0a, 0x15, + 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x5e, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x44, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x73, 0x22, 0x6c, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x42, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, + 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xbb, + 0x4b, 0x0a, 0x0f, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0xee, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, - 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xed, 0x02, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x33, - 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x76, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x42, 0x3b, 0x92, 0x41, 0x38, 0x32, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, - 0x30, 0x31, 0x2d, 0x30, 0x31, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, - 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x79, 0x0a, 0x0a, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x3e, 0x92, 0x41, 0x3b, - 0x32, 0x21, 0x4c, 0x61, 0x73, 0x74, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x69, - 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x31, - 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x52, 0x09, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x5c, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x42, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7a, 0x92, 0x41, 0x5d, 0x0a, 0x09, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x40, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, + 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x73, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, + 0x20, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, + 0x12, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x73, 0x12, 0xd0, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x25, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x5a, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, - 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, - 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x5e, 0x0a, 0x16, 0x4c, - 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x61, 0x79, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, - 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x22, 0x6c, 0x0a, 0x16, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x42, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x86, 0x49, 0x0a, 0x0f, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, - 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xee, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, - 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x2e, 0x72, 0x61, 0x79, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x61, + 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, + 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x62, 0x92, 0x41, 0x40, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x73, 0x12, 0x0c, 0x47, 0x65, 0x74, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x1a, 0x25, 0x47, 0x65, 0x74, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x20, 0x62, 0x79, 0x20, 0x49, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x8b, 0x02, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x32, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7a, 0x92, - 0x41, 0x5d, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x0e, 0x4c, - 0x69, 0x73, 0x74, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x40, 0x4c, - 0x69, 0x73, 0x74, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x20, 0x72, 0x65, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x33, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, + 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8d, 0x01, 0x92, 0x41, 0x6a, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x12, 0x47, 0x65, 0x74, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x20, 0x54, 0x79, 0x70, 0x65, 0x73, 0x1a, 0x49, 0x47, 0x65, 0x74, 0x20, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x54, 0x79, 0x70, 0x65, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0xd0, 0x01, 0x0a, 0x0b, 0x47, 0x65, - 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x73, + 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x47, 0x75, 0x61, 0x72, + 0x64, 0x69, 0x61, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x12, 0xb2, 0x02, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x92, 0x41, 0x40, 0x0a, 0x09, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x0c, 0x47, 0x65, 0x74, 0x20, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x1a, 0x25, 0x47, 0x65, 0x74, 0x20, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x49, 0x44, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x8b, 0x02, 0x0a, - 0x10, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x12, 0x32, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, - 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, - 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8d, 0x01, 0x92, 0x41, 0x6a, - 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x12, 0x47, 0x65, 0x74, - 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x54, 0x79, 0x70, 0x65, 0x73, 0x1a, - 0x49, 0x47, 0x65, 0x74, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x54, 0x79, - 0x70, 0x65, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, - 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x62, - 0x79, 0x20, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, - 0x12, 0x18, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x73, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0xe4, 0x02, 0x0a, 0x0e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x30, 0x2e, + 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, - 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x31, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, - 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0xec, 0x01, 0x92, 0x41, 0xc6, 0x01, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x73, 0x12, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x1a, 0xa7, 0x01, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x20, 0x69, 0x6e, 0x20, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x20, 0x4f, 0x6e, - 0x63, 0x65, 0x20, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x65, 0x64, 0x2c, 0x20, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x77, 0x69, 0x6c, - 0x6c, 0x20, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x20, 0x66, 0x65, - 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x74, 0x20, 0x69, - 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x3a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x12, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x73, 0x12, 0xae, 0x02, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, + 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0xb4, 0x01, 0x92, 0x41, 0x89, 0x01, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x47, 0x65, 0x74, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x20, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x52, 0x6f, 0x6c, 0x65, 0x73, + 0x1a, 0x60, 0x47, 0x65, 0x74, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x52, + 0x6f, 0x6c, 0x65, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x6c, + 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x20, 0x73, 0x75, 0x70, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0xe4, 0x02, 0x0a, 0x0e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x30, 0x2e, 0x72, + 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, + 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, + 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0xec, 0x01, 0x92, 0x41, 0xc6, 0x01, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x73, 0x12, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x1a, 0xa7, 0x01, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x73, + 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, + 0x69, 0x6e, 0x20, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x20, 0x4f, 0x6e, 0x63, + 0x65, 0x20, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, + 0x64, 0x2c, 0x20, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x77, 0x69, 0x6c, 0x6c, + 0x20, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x20, 0x66, 0x65, 0x74, + 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x74, 0x20, 0x69, 0x6e, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1c, 0x3a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x12, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, + 0x12, 0xae, 0x02, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x12, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, + 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb6, 0x01, 0x92, 0x41, 0x53, 0x0a, 0x09, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x1a, 0x35, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x20, 0x69, 0x6e, 0x20, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, + 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x3a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5a, + 0x37, 0x3a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x2d, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x75, 0x72, 0x6e, 0x7d, 0x1a, 0x17, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, + 0x7d, 0x12, 0xfa, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb6, 0x01, 0x92, 0x41, 0x53, 0x0a, - 0x09, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x0f, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x1a, 0x35, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x20, 0x69, 0x6e, 0x20, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, - 0x61, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x3a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x5a, 0x37, 0x3a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x2d, 0x2f, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x75, 0x72, 0x6e, 0x7d, 0x1a, 0x17, 0x2f, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, - 0x64, 0x7d, 0x12, 0xfa, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, - 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x82, 0x01, 0x92, 0x41, 0x60, - 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x0f, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x1a, 0x42, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x64, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x20, 0x72, 0x65, 0x67, 0x73, 0x69, 0x74, 0x65, 0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x47, - 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x2a, 0x17, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, - 0x9e, 0x02, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x2b, 0x2e, - 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, - 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, - 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x61, 0x79, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb5, 0x01, 0x92, 0x41, 0x73, 0x0a, 0x09, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x20, - 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x1a, 0x5a, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x52, 0x6f, 0x6c, 0x65, - 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, - 0x20, 0x6f, 0x66, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, - 0x61, 0x72, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, - 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, - 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, - 0x12, 0xc4, 0x01, 0x0a, 0x10, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, - 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x32, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, - 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x61, 0x79, 0x73, + 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x82, 0x01, 0x92, 0x41, 0x60, 0x0a, + 0x09, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x0f, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x1a, 0x42, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, + 0x72, 0x65, 0x67, 0x73, 0x69, 0x74, 0x65, 0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x47, 0x75, + 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x2a, 0x17, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x9e, + 0x02, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x72, + 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, - 0x92, 0x41, 0x1f, 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, - 0x11, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, - 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, - 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 0xd3, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb5, 0x01, 0x92, 0x41, 0x73, 0x0a, 0x09, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x52, + 0x6f, 0x6c, 0x65, 0x73, 0x1a, 0x5a, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x52, 0x6f, 0x6c, 0x65, 0x73, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, + 0x72, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x2e, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, + 0xc4, 0x01, 0x0a, 0x10, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x12, 0x32, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x92, + 0x41, 0x1f, 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x11, + 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 0xd3, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x92, 0x41, 0x42, 0x0a, 0x0a, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x0c, 0x47, 0x65, 0x74, 0x20, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x69, 0x74, 0x79, 0x1a, 0x26, 0x47, 0x65, 0x74, 0x20, 0x41, 0x63, 0x74, 0x69, 0x76, - 0x69, 0x74, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x20, 0x62, 0x79, 0x20, 0x49, 0x44, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xe0, 0x01, - 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, - 0x12, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, - 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, - 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x92, 0x41, 0x4b, 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69, - 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x2c, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x41, 0x63, - 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, - 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x69, 0x74, 0x69, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, - 0x12, 0xd0, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x12, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, - 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x92, 0x41, 0x42, 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69, + 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x0c, 0x47, 0x65, 0x74, 0x20, 0x41, 0x63, 0x74, 0x69, + 0x76, 0x69, 0x74, 0x79, 0x1a, 0x26, 0x47, 0x65, 0x74, 0x20, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, + 0x74, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x20, 0x62, 0x79, 0x20, 0x49, 0x44, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xe0, 0x01, 0x0a, + 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, + 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, + 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x5f, 0x92, 0x41, 0x43, 0x0a, 0x08, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x12, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, - 0x1a, 0x28, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, - 0x66, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, - 0x12, 0x11, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x12, 0xe1, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0x2b, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, - 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, - 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, - 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x79, 0x92, 0x41, - 0x45, 0x0a, 0x08, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x0a, 0x47, 0x65, 0x74, - 0x20, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x2d, 0x47, 0x65, 0x74, 0x20, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x20, 0x62, 0x79, 0x20, 0x49, 0x44, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, - 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xde, 0x01, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, + 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x92, 0x41, 0x4b, 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x41, 0x63, 0x74, 0x69, + 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x2c, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, + 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, + 0xd0, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x12, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, + 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, + 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x5f, 0x92, 0x41, 0x43, 0x0a, 0x08, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x12, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x1a, + 0x28, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, + 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, + 0x11, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x12, 0xe1, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0x2b, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, + 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, + 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, + 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x79, 0x92, 0x41, 0x45, + 0x0a, 0x08, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x0a, 0x47, 0x65, 0x74, 0x20, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x2d, 0x47, 0x65, 0x74, 0x20, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x20, 0x62, 0x79, 0x20, 0x49, 0x44, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, + 0x69, 0x64, 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xde, 0x01, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x92, 0x41, 0x49, 0x0a, 0x08, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, + 0x6e, 0x65, 0x77, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x69, 0x6e, 0x20, 0x47, 0x75, + 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x06, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x22, 0x11, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xdf, 0x01, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x92, 0x41, 0x49, 0x0a, 0x08, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x20, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, - 0x20, 0x6e, 0x65, 0x77, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x69, 0x6e, 0x20, 0x47, - 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x06, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x11, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xdf, 0x01, 0x0a, 0x0c, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x61, 0x79, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x92, 0x41, 0x45, 0x0a, - 0x08, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x20, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x2a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x20, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, - 0x61, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x69, 0x6e, 0x20, 0x47, 0x75, 0x61, 0x72, - 0x64, 0x69, 0x61, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x06, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x1a, 0x16, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xb3, 0x02, 0x0a, 0x14, 0x47, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x92, 0x41, 0x45, 0x0a, 0x08, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x20, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x2a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, + 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x69, 0x6e, 0x20, 0x47, 0x75, 0x61, 0x72, 0x64, + 0x69, 0x61, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x1a, 0x16, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xb3, 0x02, 0x0a, 0x14, 0x47, 0x65, + 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x12, 0x36, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, + 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x73, 0x12, 0x36, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, - 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x72, 0x61, - 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa9, 0x01, 0x92, 0x41, 0x69, 0x0a, 0x08, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x12, 0x16, 0x47, 0x65, 0x74, 0x20, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x20, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x1a, 0x45, 0x47, 0x65, - 0x74, 0x20, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x73, 0x20, 0x62, 0x79, 0x20, 0x49, 0x44, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, - 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, - 0x12, 0xd8, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x12, 0x2f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, + 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0xa9, 0x01, 0x92, 0x41, 0x69, 0x0a, 0x08, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x12, 0x16, 0x47, 0x65, 0x74, 0x20, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, + 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x1a, 0x45, 0x47, 0x65, 0x74, + 0x20, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x20, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x20, 0x62, 0x79, 0x20, 0x49, 0x44, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, + 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, + 0xd8, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x12, 0x2f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, + 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, - 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x92, 0x41, 0x47, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0x2a, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, - 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0xd0, 0x01, 0x0a, 0x0b, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2d, 0x2e, 0x72, 0x61, - 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x72, 0x61, 0x79, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x92, 0x41, 0x47, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x12, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x1a, 0x2a, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x6c, + 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0xd0, 0x01, 0x0a, 0x0b, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x92, 0x41, 0x40, 0x0a, - 0x09, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x0c, 0x47, 0x65, 0x74, 0x20, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x25, 0x47, 0x65, 0x74, 0x20, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, - 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x62, 0x79, 0x20, 0x49, 0x44, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xef, - 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, - 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, - 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x78, 0x92, 0x41, 0x4c, 0x0a, 0x09, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, - 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x47, - 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x3a, 0x08, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x17, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, - 0x12, 0xe5, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, - 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, - 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x92, 0x41, 0x4c, 0x0a, 0x09, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x20, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x20, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x69, 0x6e, - 0x20, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x2a, - 0x17, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xf5, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x12, 0x31, 0x2e, 0x72, - 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, - 0x72, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x32, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, - 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x7b, 0x92, 0x41, 0x5d, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, - 0x73, 0x12, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x55, 0x73, 0x65, 0x72, 0x20, 0x41, 0x70, 0x70, - 0x65, 0x61, 0x6c, 0x73, 0x1a, 0x3f, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x55, 0x73, 0x65, 0x72, 0x20, - 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, - 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, - 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x75, 0x73, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x65, 0x2f, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, - 0x12, 0xc8, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, - 0x12, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, - 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, - 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x5a, 0x92, 0x41, 0x3f, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x12, 0x0c, 0x4c, - 0x69, 0x73, 0x74, 0x20, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x1a, 0x26, 0x4c, 0x69, 0x73, - 0x74, 0x20, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x70, 0x70, 0x65, - 0x61, 0x6c, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2f, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x12, 0xc1, 0x01, 0x0a, 0x09, - 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x12, 0x2b, 0x2e, 0x72, 0x61, 0x79, 0x73, + 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, - 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x59, 0x92, 0x41, 0x39, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x65, 0x61, - 0x6c, 0x73, 0x12, 0x0a, 0x47, 0x65, 0x74, 0x20, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x1a, 0x22, - 0x47, 0x65, 0x74, 0x20, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x20, 0x62, 0x79, 0x20, - 0x49, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2f, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, - 0xd1, 0x01, 0x0a, 0x0c, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, - 0x12, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, - 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x61, 0x6e, - 0x63, 0x65, 0x6c, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, - 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x61, 0x6e, - 0x63, 0x65, 0x6c, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x60, 0x92, 0x41, 0x39, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x12, - 0x0d, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x20, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x1a, 0x1f, - 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x20, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x20, 0x63, 0x61, - 0x6e, 0x63, 0x65, 0x6c, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x1a, 0x1c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, - 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x61, 0x6e, - 0x63, 0x65, 0x6c, 0x12, 0x82, 0x02, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, - 0x70, 0x65, 0x61, 0x6c, 0x12, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, - 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x92, 0x41, 0x40, 0x0a, 0x09, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x0c, 0x47, 0x65, 0x74, 0x20, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x25, 0x47, 0x65, 0x74, 0x20, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x62, 0x79, 0x20, 0x49, 0x44, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xef, 0x01, + 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, + 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, + 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x78, 0x92, 0x41, 0x4c, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, + 0x61, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x47, 0x75, + 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x3a, 0x08, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x17, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, + 0xe5, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, + 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x90, 0x01, 0x92, 0x41, 0x72, 0x0a, 0x07, 0x41, 0x70, 0x70, - 0x65, 0x61, 0x6c, 0x73, 0x12, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x41, 0x70, 0x70, - 0x65, 0x61, 0x6c, 0x1a, 0x58, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x41, 0x70, 0x70, 0x65, - 0x61, 0x6c, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, - 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x74, 0x6f, 0x20, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x20, 0x61, 0x6c, 0x6f, 0x6e, 0x67, 0x20, - 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x22, 0x10, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2f, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x12, 0x8e, 0x02, 0x0a, 0x11, 0x4c, 0x69, 0x73, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x33, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x92, 0x41, 0x4c, 0x0a, 0x09, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x20, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x20, + 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x2a, 0x17, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xf5, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x12, 0x31, 0x2e, 0x72, 0x61, + 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, - 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8d, 0x01, 0x92, 0x41, 0x6d, 0x0a, - 0x09, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x13, 0x4c, 0x69, 0x73, 0x74, - 0x20, 0x55, 0x73, 0x65, 0x72, 0x20, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x1a, - 0x4b, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x55, 0x73, 0x65, 0x72, 0x20, 0x41, 0x70, 0x70, 0x72, 0x6f, - 0x76, 0x61, 0x6c, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x6c, - 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, + 0x73, 0x65, 0x72, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x7b, 0x92, 0x41, 0x5d, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, + 0x12, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x55, 0x73, 0x65, 0x72, 0x20, 0x41, 0x70, 0x70, 0x65, + 0x61, 0x6c, 0x73, 0x1a, 0x3f, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x55, 0x73, 0x65, 0x72, 0x20, 0x41, + 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, + 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x75, 0x73, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x17, 0x12, 0x15, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x65, 0x2f, - 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0xd8, 0x01, 0x0a, 0x0d, 0x4c, 0x69, - 0x73, 0x74, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x2f, 0x2e, 0x72, 0x61, + 0x75, 0x73, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x65, 0x2f, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x12, + 0xc8, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x12, + 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, + 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, + 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, + 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, + 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5a, + 0x92, 0x41, 0x3f, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x12, 0x0c, 0x4c, 0x69, + 0x73, 0x74, 0x20, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x1a, 0x26, 0x4c, 0x69, 0x73, 0x74, + 0x20, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, + 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, + 0x6c, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x12, 0xc1, 0x01, 0x0a, 0x09, 0x47, + 0x65, 0x74, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x12, 0x2b, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x59, 0x92, 0x41, 0x39, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, + 0x73, 0x12, 0x0a, 0x47, 0x65, 0x74, 0x20, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x1a, 0x22, 0x47, + 0x65, 0x74, 0x20, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x20, 0x62, 0x79, 0x20, 0x49, + 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xd1, + 0x01, 0x0a, 0x0c, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x12, + 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, + 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, + 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x60, 0x92, 0x41, 0x39, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x12, 0x0d, + 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x20, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x1a, 0x1f, 0x43, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x20, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x20, 0x63, 0x61, 0x6e, + 0x63, 0x65, 0x6c, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1e, 0x1a, 0x1c, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, + 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x12, 0x82, 0x02, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, + 0x65, 0x61, 0x6c, 0x12, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, + 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, + 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x90, 0x01, 0x92, 0x41, 0x72, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x65, + 0x61, 0x6c, 0x73, 0x12, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x41, 0x70, 0x70, 0x65, + 0x61, 0x6c, 0x1a, 0x58, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x41, 0x70, 0x70, 0x65, 0x61, + 0x6c, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, + 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x20, 0x61, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x77, + 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x22, 0x10, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x12, 0x8e, 0x02, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x33, 0x2e, + 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, + 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, + 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8d, 0x01, 0x92, 0x41, 0x6d, 0x0a, 0x09, + 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x20, + 0x55, 0x73, 0x65, 0x72, 0x20, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x1a, 0x4b, + 0x4c, 0x69, 0x73, 0x74, 0x20, 0x55, 0x73, 0x65, 0x72, 0x20, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, + 0x61, 0x6c, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, + 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x20, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x75, 0x73, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x17, 0x12, 0x15, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x65, 0x2f, 0x61, + 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0xd8, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, + 0x74, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x2f, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x72, 0x6f, + 0x76, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, 0x72, - 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, - 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x70, - 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, - 0x92, 0x41, 0x47, 0x0a, 0x09, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x0e, - 0x4c, 0x69, 0x73, 0x74, 0x20, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x1a, 0x2a, - 0x4c, 0x69, 0x73, 0x74, 0x20, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, - 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, - 0x12, 0x12, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, - 0x76, 0x61, 0x6c, 0x73, 0x12, 0x92, 0x02, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, - 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x12, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, - 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x61, 0x79, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x72, - 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x92, - 0x41, 0x58, 0x0a, 0x09, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x0f, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x1a, 0x3a, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x20, - 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, - 0x76, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x61, 0x20, 0x75, - 0x73, 0x65, 0x72, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, - 0x3a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2f, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, - 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x72, 0x6f, - 0x76, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0x94, 0x02, 0x0a, 0x0b, 0x41, 0x64, - 0x64, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, + 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x92, + 0x41, 0x47, 0x0a, 0x09, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x0e, 0x4c, + 0x69, 0x73, 0x74, 0x20, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x1a, 0x2a, 0x4c, + 0x69, 0x73, 0x74, 0x20, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, + 0x12, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, + 0x61, 0x6c, 0x73, 0x12, 0x92, 0x02, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, + 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x12, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa5, 0x01, 0x92, 0x41, 0x59, 0x0a, 0x09, - 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x0c, 0x41, 0x64, 0x64, 0x20, 0x41, - 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x1a, 0x3e, 0x41, 0x64, 0x64, 0x20, 0x41, 0x70, 0x70, - 0x72, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x61, 0x64, 0x64, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x70, - 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x74, 0x6f, 0x20, - 0x61, 0x6e, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, - 0x61, 0x6c, 0x20, 0x73, 0x74, 0x65, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x3a, 0x01, 0x2a, - 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x70, 0x70, 0x65, 0x61, - 0x6c, 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, + 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x92, 0x41, + 0x58, 0x0a, 0x09, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x0f, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x20, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x1a, 0x3a, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x20, 0x69, + 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, + 0x65, 0x20, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x61, 0x20, 0x75, 0x73, + 0x65, 0x72, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x3a, + 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, - 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x73, - 0x12, 0x9b, 0x02, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, - 0x76, 0x65, 0x72, 0x12, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, + 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0x94, 0x02, 0x0a, 0x0b, 0x41, 0x64, 0x64, + 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa5, 0x01, 0x92, 0x41, 0x59, 0x0a, 0x09, 0x41, + 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x0c, 0x41, 0x64, 0x64, 0x20, 0x41, 0x70, + 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x1a, 0x3e, 0x41, 0x64, 0x64, 0x20, 0x41, 0x70, 0x70, 0x72, + 0x6f, 0x76, 0x65, 0x72, 0x20, 0x61, 0x64, 0x64, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x70, 0x70, + 0x72, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x61, + 0x6e, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, + 0x6c, 0x20, 0x73, 0x74, 0x65, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x3a, 0x01, 0x2a, 0x22, + 0x3e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, + 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, + 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, + 0x6c, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x73, 0x12, + 0x9b, 0x02, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, + 0x65, 0x72, 0x12, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, + 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa3, 0x01, 0x92, 0x41, 0x52, 0x0a, 0x09, 0x41, + 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x20, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x1a, 0x34, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x20, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x66, + 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x2a, 0x46, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x5f, + 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x2f, 0x7b, 0x61, + 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x72, + 0x6f, 0x76, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x7d, 0x12, 0xc0, 0x01, + 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x2e, 0x72, + 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x61, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0x92, 0x41, 0x3b, 0x0a, 0x06, + 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x47, 0x72, 0x61, + 0x6e, 0x74, 0x73, 0x1a, 0x24, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, + 0x0f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, + 0x12, 0xed, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, + 0x6e, 0x74, 0x73, 0x12, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, + 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa3, 0x01, 0x92, 0x41, 0x52, 0x0a, 0x09, - 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x20, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x1a, 0x34, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x20, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x64, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x20, - 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x2a, 0x46, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2f, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x2f, 0x7b, - 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, - 0x72, 0x6f, 0x76, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x7d, 0x12, 0xc0, - 0x01, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x2e, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, 0x92, 0x41, 0x59, 0x0a, 0x06, 0x47, + 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x55, 0x73, 0x65, 0x72, + 0x20, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x1a, 0x3d, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x55, 0x73, + 0x65, 0x72, 0x20, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x67, 0x72, 0x61, 0x6e, + 0x74, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x65, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, + 0x12, 0xb8, 0x01, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x2a, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, - 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x61, - 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0x92, 0x41, 0x3b, 0x0a, - 0x06, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x73, 0x1a, 0x24, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x47, 0x72, 0x61, 0x6e, 0x74, - 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, - 0x20, 0x6f, 0x66, 0x20, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, - 0x12, 0x0f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, - 0x73, 0x12, 0xed, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x73, 0x12, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, - 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, - 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, 0x92, 0x41, 0x59, 0x0a, 0x06, - 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x55, 0x73, 0x65, - 0x72, 0x20, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x1a, 0x3d, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x55, - 0x73, 0x65, 0x72, 0x20, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x67, 0x72, 0x61, - 0x6e, 0x74, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x65, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, - 0x73, 0x12, 0xb8, 0x01, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x2a, - 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, - 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x72, 0x61, 0x79, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x92, 0x41, 0x34, 0x0a, 0x06, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x73, 0x12, 0x09, 0x47, 0x65, 0x74, 0x20, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x1a, - 0x1f, 0x47, 0x65, 0x74, 0x20, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x73, 0x20, 0x61, 0x20, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x20, 0x62, 0x79, 0x20, 0x49, 0x44, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xc4, 0x01, 0x0a, - 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x72, - 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x72, 0x61, + 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x72, 0x61, 0x79, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x92, 0x41, 0x34, 0x0a, 0x06, 0x47, 0x72, 0x61, + 0x6e, 0x74, 0x73, 0x12, 0x09, 0x47, 0x65, 0x74, 0x20, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x1a, 0x1f, + 0x47, 0x65, 0x74, 0x20, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x73, 0x20, 0x61, 0x20, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x20, 0x62, 0x79, 0x20, 0x49, 0x44, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xc4, 0x01, 0x0a, 0x0b, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x92, 0x41, 0x34, - 0x0a, 0x06, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x20, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x1a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x3a, 0x01, 0x2a, 0x32, 0x14, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, - 0x69, 0x64, 0x7d, 0x12, 0xcb, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, - 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, - 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, - 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x5d, 0x92, 0x41, 0x34, 0x0a, 0x06, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, - 0x0c, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x20, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x1a, 0x1c, 0x52, - 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x20, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x76, 0x6f, - 0x6b, 0x65, 0x73, 0x20, 0x61, 0x20, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x20, 0x3a, 0x01, 0x2a, 0x1a, 0x1b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x65, 0x76, 0x6f, 0x6b, - 0x65, 0x12, 0xd4, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, - 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, - 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, + 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x61, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x92, 0x41, 0x34, 0x0a, + 0x06, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, + 0x47, 0x72, 0x61, 0x6e, 0x74, 0x1a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x47, 0x72, + 0x61, 0x6e, 0x74, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x67, 0x72, + 0x61, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x3a, 0x01, 0x2a, 0x32, 0x14, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, + 0x64, 0x7d, 0x12, 0xcb, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x47, 0x72, 0x61, + 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, - 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x63, 0x92, 0x41, 0x3f, 0x0a, 0x06, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, - 0x12, 0x0d, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x20, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x1a, - 0x26, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x20, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x72, - 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, - 0x20, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, - 0x1a, 0x16, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, - 0x73, 0x2f, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0xde, 0x01, 0x0a, 0x18, 0x49, 0x6d, 0x70, + 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, + 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, + 0x76, 0x6f, 0x6b, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x5d, 0x92, 0x41, 0x34, 0x0a, 0x06, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x0c, + 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x20, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x1a, 0x1c, 0x52, 0x65, + 0x76, 0x6f, 0x6b, 0x65, 0x20, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x20, 0x72, 0x65, 0x76, 0x6f, 0x6b, + 0x65, 0x73, 0x20, 0x61, 0x20, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, + 0x3a, 0x01, 0x2a, 0x1a, 0x1b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x72, + 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, + 0x12, 0xd4, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, + 0x73, 0x12, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, + 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, + 0x76, 0x6f, 0x6b, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, + 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, + 0x76, 0x6f, 0x6b, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x63, 0x92, 0x41, 0x3f, 0x0a, 0x06, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, + 0x0d, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x20, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x1a, 0x26, + 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x20, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x72, 0x65, + 0x76, 0x6f, 0x6b, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x1a, + 0x16, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, + 0x2f, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0xde, 0x01, 0x0a, 0x18, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x12, 0x3a, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x46, 0x72, 0x6f, + 0x6d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x3b, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, + 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x3a, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, - 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x46, 0x72, - 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x3b, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, - 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, - 0x70, 0x6f, 0x72, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, - 0x92, 0x41, 0x25, 0x0a, 0x06, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x1b, 0x49, 0x6d, 0x70, - 0x6f, 0x72, 0x74, 0x20, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x46, 0x72, 0x6f, 0x6d, 0x20, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, - 0x2a, 0x22, 0x16, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x72, 0x61, 0x6e, - 0x74, 0x73, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 0xb9, 0x01, 0x0a, 0x0f, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x31, 0x2e, - 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, - 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x32, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, - 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x92, 0x41, 0x1e, 0x0a, 0x0a, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x4e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x3a, 0x01, 0x2a, - 0x22, 0x13, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0xaf, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, - 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, - 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x92, 0x41, 0x1b, 0x0a, 0x0a, 0x4e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x0d, 0x47, 0x65, 0x74, 0x20, 0x4e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xb2, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x72, 0x61, 0x79, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, 0x92, + 0x41, 0x25, 0x0a, 0x06, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x1b, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x20, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x46, 0x72, 0x6f, 0x6d, 0x20, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, + 0x22, 0x16, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, + 0x73, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 0xb9, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x31, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x3b, 0x92, 0x41, 0x1d, 0x0a, 0x0a, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, - 0x12, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0xbe, 0x01, 0x0a, - 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x12, 0x31, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, - 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, - 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x92, 0x41, 0x1e, 0x0a, 0x0a, 0x4e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, - 0x3a, 0x01, 0x2a, 0x1a, 0x18, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x42, 0xfb, 0x0a, - 0x92, 0x41, 0xba, 0x0a, 0x12, 0x16, 0x0a, 0x0d, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, - 0x20, 0x41, 0x50, 0x49, 0x73, 0x32, 0x05, 0x30, 0x2e, 0x31, 0x2e, 0x30, 0x1a, 0x0e, 0x31, 0x32, - 0x37, 0x2e, 0x30, 0x2e, 0x30, 0x2e, 0x31, 0x3a, 0x37, 0x34, 0x30, 0x30, 0x2a, 0x01, 0x01, 0x32, - 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, - 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, - 0x73, 0x6f, 0x6e, 0x52, 0x3c, 0x0a, 0x03, 0x32, 0x30, 0x30, 0x12, 0x35, 0x0a, 0x1b, 0x4f, 0x4b, - 0x20, 0x2d, 0x20, 0x41, 0x20, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x20, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x69, 0x0a, 0x03, 0x34, 0x30, 0x30, 0x12, 0x62, 0x0a, 0x48, 0x42, 0x61, 0x64, 0x20, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x2d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x6d, 0x61, 0x6c, 0x66, 0x6f, 0x72, - 0x6d, 0x65, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x64, - 0x20, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x4a, 0x0a, 0x03, - 0x34, 0x30, 0x31, 0x12, 0x43, 0x0a, 0x29, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x7a, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, - 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, - 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x61, 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, - 0x5a, 0x0a, 0x40, 0x46, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x20, 0x2d, 0x20, 0x55, - 0x73, 0x65, 0x72, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, - 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, - 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x51, 0x0a, 0x03, 0x34, - 0x30, 0x34, 0x12, 0x4a, 0x0a, 0x30, 0x4e, 0x6f, 0x74, 0x20, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x20, - 0x2d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x6e, 0x6f, 0x74, - 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x75, - 0x0a, 0x03, 0x35, 0x30, 0x30, 0x12, 0x6e, 0x0a, 0x54, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x20, - 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, - 0x65, 0x72, 0x65, 0x73, 0x20, 0x69, 0x73, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x69, 0x6e, - 0x67, 0x20, 0x77, 0x72, 0x6f, 0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x46, 0x72, 0x6f, - 0x6e, 0x74, 0x69, 0x65, 0x72, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x12, 0x16, 0x0a, - 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x5a, 0x39, 0x0a, 0x37, 0x0a, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, - 0x79, 0x12, 0x2d, 0x08, 0x02, 0x12, 0x19, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, - 0x1a, 0x0c, 0x58, 0x2d, 0x41, 0x75, 0x74, 0x68, 0x2d, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x02, - 0x62, 0x0c, 0x0a, 0x0a, 0x0a, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x00, 0x6a, 0x1a, - 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x0d, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x20, 0x41, 0x50, 0x49, 0x6a, 0x1a, 0x0a, 0x09, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x0d, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x20, 0x41, 0x50, 0x49, 0x6a, 0x18, 0x0a, 0x08, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x12, 0x0c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x20, 0x41, 0x50, 0x49, - 0x6a, 0x1c, 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x0e, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x20, 0x41, 0x50, 0x49, 0x6a, 0xbd, - 0x03, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x12, 0xb1, 0x03, 0x41, 0x6e, 0x20, - 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x20, 0x69, 0x73, 0x20, 0x65, 0x73, 0x73, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x61, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x75, 0x73, 0x65, 0x72, 0x73, - 0x20, 0x74, 0x6f, 0x20, 0x67, 0x69, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x20, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x73, 0x2e, 0x20, 0x49, 0x6e, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2c, - 0x20, 0x61, 0x6e, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x20, 0x68, 0x61, 0x73, 0x20, 0x74, - 0x6f, 0x20, 0x62, 0x65, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x20, 0x62, 0x79, - 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x73, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, - 0x20, 0x69, 0x73, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x61, 0x73, - 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, - 0x64, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x20, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, - 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x2c, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x63, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x65, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x75, 0x72, 0x20, 0x6f, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x65, 0x2e, 0x67, 0x2e, 0x20, - 0x70, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x72, 0x20, 0x74, 0x65, 0x6d, - 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x6a, 0x1a, - 0x0a, 0x09, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x0d, 0x41, 0x70, 0x70, - 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x20, 0x41, 0x50, 0x49, 0x6a, 0x14, 0x0a, 0x06, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x73, 0x12, 0x0a, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x41, 0x50, 0x49, - 0x6a, 0x1c, 0x0a, 0x0a, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x0e, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x20, 0x41, 0x50, 0x49, 0x5a, 0x3b, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x61, 0x79, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6e, 0x2f, 0x67, 0x75, 0x61, 0x72, 0x64, - 0x69, 0x61, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x67, 0x75, 0x61, 0x72, - 0x64, 0x69, 0x61, 0x6e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x32, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, + 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x92, 0x41, 0x1e, 0x0a, 0x0a, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x73, 0x12, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x3a, 0x01, 0x2a, 0x22, + 0x13, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x73, 0x12, 0xaf, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x92, 0x41, 0x1b, 0x0a, 0x0a, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x0d, 0x47, 0x65, 0x74, 0x20, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xb2, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x61, + 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, + 0x92, 0x41, 0x1d, 0x0a, 0x0a, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, + 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0f, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, + 0x31, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, 0x61, 0x72, 0x64, + 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x75, + 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x92, 0x41, 0x1e, 0x0a, 0x0a, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, + 0x01, 0x2a, 0x1a, 0x18, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x42, 0xfb, 0x0a, 0x92, + 0x41, 0xba, 0x0a, 0x12, 0x16, 0x0a, 0x0d, 0x47, 0x75, 0x61, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x20, + 0x41, 0x50, 0x49, 0x73, 0x32, 0x05, 0x30, 0x2e, 0x31, 0x2e, 0x30, 0x1a, 0x0e, 0x31, 0x32, 0x37, + 0x2e, 0x30, 0x2e, 0x30, 0x2e, 0x31, 0x3a, 0x37, 0x34, 0x30, 0x30, 0x2a, 0x01, 0x01, 0x32, 0x10, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, + 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, + 0x6f, 0x6e, 0x52, 0x3c, 0x0a, 0x03, 0x32, 0x30, 0x30, 0x12, 0x35, 0x0a, 0x1b, 0x4f, 0x4b, 0x20, + 0x2d, 0x20, 0x41, 0x20, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x20, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x69, 0x0a, 0x03, 0x34, 0x30, 0x30, 0x12, 0x62, 0x0a, 0x48, 0x42, 0x61, 0x64, 0x20, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x2d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x6d, 0x61, 0x6c, 0x66, 0x6f, 0x72, 0x6d, + 0x65, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x20, + 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x4a, 0x0a, 0x03, 0x34, + 0x30, 0x31, 0x12, 0x43, 0x0a, 0x29, 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, + 0x65, 0x64, 0x20, 0x2d, 0x20, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, + 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x61, 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, 0x5a, + 0x0a, 0x40, 0x46, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x20, 0x2d, 0x20, 0x55, 0x73, + 0x65, 0x72, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, + 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x51, 0x0a, 0x03, 0x34, 0x30, + 0x34, 0x12, 0x4a, 0x0a, 0x30, 0x4e, 0x6f, 0x74, 0x20, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x2d, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, + 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x75, 0x0a, + 0x03, 0x35, 0x30, 0x30, 0x12, 0x6e, 0x0a, 0x54, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x20, 0x52, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, + 0x72, 0x65, 0x73, 0x20, 0x69, 0x73, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x69, 0x6e, 0x67, + 0x20, 0x77, 0x72, 0x6f, 0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x46, 0x72, 0x6f, 0x6e, + 0x74, 0x69, 0x65, 0x72, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x12, 0x16, 0x0a, 0x14, + 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x5a, 0x39, 0x0a, 0x37, 0x0a, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, + 0x12, 0x2d, 0x08, 0x02, 0x12, 0x19, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x1a, + 0x0c, 0x58, 0x2d, 0x41, 0x75, 0x74, 0x68, 0x2d, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x02, 0x62, + 0x0c, 0x0a, 0x0a, 0x0a, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x00, 0x6a, 0x1a, 0x0a, + 0x09, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x0d, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x73, 0x20, 0x41, 0x50, 0x49, 0x6a, 0x1a, 0x0a, 0x09, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x0d, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x20, 0x41, 0x50, 0x49, 0x6a, 0x18, 0x0a, 0x08, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x12, 0x0c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x20, 0x41, 0x50, 0x49, 0x6a, + 0x1c, 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x0e, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x20, 0x41, 0x50, 0x49, 0x6a, 0xbd, 0x03, + 0x0a, 0x07, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x73, 0x12, 0xb1, 0x03, 0x41, 0x6e, 0x20, 0x61, + 0x70, 0x70, 0x65, 0x61, 0x6c, 0x20, 0x69, 0x73, 0x20, 0x65, 0x73, 0x73, 0x65, 0x6e, 0x74, 0x69, + 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x61, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x75, 0x73, 0x65, 0x72, 0x73, 0x20, + 0x74, 0x6f, 0x20, 0x67, 0x69, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x20, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x2e, 0x20, 0x49, 0x6e, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x67, 0x72, + 0x61, 0x6e, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2c, 0x20, + 0x61, 0x6e, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x20, 0x68, 0x61, 0x73, 0x20, 0x74, 0x6f, + 0x20, 0x62, 0x65, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, + 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x73, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, + 0x69, 0x73, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x61, 0x73, 0x65, + 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, + 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x20, 0x41, 0x70, 0x70, 0x65, 0x61, 0x6c, 0x20, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x2c, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x63, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x65, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x75, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x70, + 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x72, 0x20, 0x74, 0x65, 0x6d, 0x70, + 0x6f, 0x72, 0x61, 0x72, 0x79, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x6a, 0x1a, 0x0a, + 0x09, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x0d, 0x41, 0x70, 0x70, 0x72, + 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x20, 0x41, 0x50, 0x49, 0x6a, 0x14, 0x0a, 0x06, 0x47, 0x72, 0x61, + 0x6e, 0x74, 0x73, 0x12, 0x0a, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x41, 0x50, 0x49, 0x6a, + 0x1c, 0x0a, 0x0a, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x0e, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x20, 0x41, 0x50, 0x49, 0x5a, 0x3b, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6e, 0x2f, 0x67, 0x75, 0x61, 0x72, 0x64, 0x69, + 0x61, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x67, 0x75, 0x61, 0x72, 0x64, + 0x69, 0x61, 0x6e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -9701,7 +9839,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_rawDescGZIP() []byte { return file_raystack_guardian_v1beta1_guardian_proto_rawDescData } -var file_raystack_guardian_v1beta1_guardian_proto_msgTypes = make([]protoimpl.MessageInfo, 119) +var file_raystack_guardian_v1beta1_guardian_proto_msgTypes = make([]protoimpl.MessageInfo, 121) var file_raystack_guardian_v1beta1_guardian_proto_goTypes = []interface{}{ (*ListProvidersRequest)(nil), // 0: raystack.guardian.v1beta1.ListProvidersRequest (*ListProvidersResponse)(nil), // 1: raystack.guardian.v1beta1.ListProvidersResponse @@ -9709,322 +9847,326 @@ var file_raystack_guardian_v1beta1_guardian_proto_goTypes = []interface{}{ (*GetProviderResponse)(nil), // 3: raystack.guardian.v1beta1.GetProviderResponse (*GetProviderTypesRequest)(nil), // 4: raystack.guardian.v1beta1.GetProviderTypesRequest (*GetProviderTypesResponse)(nil), // 5: raystack.guardian.v1beta1.GetProviderTypesResponse - (*CreateProviderRequest)(nil), // 6: raystack.guardian.v1beta1.CreateProviderRequest - (*CreateProviderResponse)(nil), // 7: raystack.guardian.v1beta1.CreateProviderResponse - (*UpdateProviderRequest)(nil), // 8: raystack.guardian.v1beta1.UpdateProviderRequest - (*UpdateProviderResponse)(nil), // 9: raystack.guardian.v1beta1.UpdateProviderResponse - (*DeleteProviderRequest)(nil), // 10: raystack.guardian.v1beta1.DeleteProviderRequest - (*DeleteProviderResponse)(nil), // 11: raystack.guardian.v1beta1.DeleteProviderResponse - (*ImportGrantsFromProviderRequest)(nil), // 12: raystack.guardian.v1beta1.ImportGrantsFromProviderRequest - (*ImportGrantsFromProviderResponse)(nil), // 13: raystack.guardian.v1beta1.ImportGrantsFromProviderResponse - (*ListRolesRequest)(nil), // 14: raystack.guardian.v1beta1.ListRolesRequest - (*ListRolesResponse)(nil), // 15: raystack.guardian.v1beta1.ListRolesResponse - (*ImportActivitiesRequest)(nil), // 16: raystack.guardian.v1beta1.ImportActivitiesRequest - (*ImportActivitiesResponse)(nil), // 17: raystack.guardian.v1beta1.ImportActivitiesResponse - (*GetActivityRequest)(nil), // 18: raystack.guardian.v1beta1.GetActivityRequest - (*GetActivityResponse)(nil), // 19: raystack.guardian.v1beta1.GetActivityResponse - (*ListActivitiesRequest)(nil), // 20: raystack.guardian.v1beta1.ListActivitiesRequest - (*ListActivitiesResponse)(nil), // 21: raystack.guardian.v1beta1.ListActivitiesResponse - (*ListPoliciesRequest)(nil), // 22: raystack.guardian.v1beta1.ListPoliciesRequest - (*ListPoliciesResponse)(nil), // 23: raystack.guardian.v1beta1.ListPoliciesResponse - (*GetPolicyRequest)(nil), // 24: raystack.guardian.v1beta1.GetPolicyRequest - (*GetPolicyPreferencesRequest)(nil), // 25: raystack.guardian.v1beta1.GetPolicyPreferencesRequest - (*GetPolicyPreferencesResponse)(nil), // 26: raystack.guardian.v1beta1.GetPolicyPreferencesResponse - (*GetPolicyResponse)(nil), // 27: raystack.guardian.v1beta1.GetPolicyResponse - (*CreatePolicyRequest)(nil), // 28: raystack.guardian.v1beta1.CreatePolicyRequest - (*CreatePolicyResponse)(nil), // 29: raystack.guardian.v1beta1.CreatePolicyResponse - (*UpdatePolicyRequest)(nil), // 30: raystack.guardian.v1beta1.UpdatePolicyRequest - (*UpdatePolicyResponse)(nil), // 31: raystack.guardian.v1beta1.UpdatePolicyResponse - (*ListResourcesRequest)(nil), // 32: raystack.guardian.v1beta1.ListResourcesRequest - (*ListResourcesResponse)(nil), // 33: raystack.guardian.v1beta1.ListResourcesResponse - (*GetResourceRequest)(nil), // 34: raystack.guardian.v1beta1.GetResourceRequest - (*GetResourceResponse)(nil), // 35: raystack.guardian.v1beta1.GetResourceResponse - (*UpdateResourceRequest)(nil), // 36: raystack.guardian.v1beta1.UpdateResourceRequest - (*UpdateResourceResponse)(nil), // 37: raystack.guardian.v1beta1.UpdateResourceResponse - (*DeleteResourceRequest)(nil), // 38: raystack.guardian.v1beta1.DeleteResourceRequest - (*DeleteResourceResponse)(nil), // 39: raystack.guardian.v1beta1.DeleteResourceResponse - (*ListUserAppealsRequest)(nil), // 40: raystack.guardian.v1beta1.ListUserAppealsRequest - (*ListUserAppealsResponse)(nil), // 41: raystack.guardian.v1beta1.ListUserAppealsResponse - (*ListAppealsRequest)(nil), // 42: raystack.guardian.v1beta1.ListAppealsRequest - (*ListAppealsResponse)(nil), // 43: raystack.guardian.v1beta1.ListAppealsResponse - (*GetAppealRequest)(nil), // 44: raystack.guardian.v1beta1.GetAppealRequest - (*GetAppealResponse)(nil), // 45: raystack.guardian.v1beta1.GetAppealResponse - (*CancelAppealRequest)(nil), // 46: raystack.guardian.v1beta1.CancelAppealRequest - (*CancelAppealResponse)(nil), // 47: raystack.guardian.v1beta1.CancelAppealResponse - (*RevokeAppealRequest)(nil), // 48: raystack.guardian.v1beta1.RevokeAppealRequest - (*RevokeAppealResponse)(nil), // 49: raystack.guardian.v1beta1.RevokeAppealResponse - (*RevokeAppealsRequest)(nil), // 50: raystack.guardian.v1beta1.RevokeAppealsRequest - (*RevokeAppealsResponse)(nil), // 51: raystack.guardian.v1beta1.RevokeAppealsResponse - (*CreateAppealRequest)(nil), // 52: raystack.guardian.v1beta1.CreateAppealRequest - (*CreateAppealResponse)(nil), // 53: raystack.guardian.v1beta1.CreateAppealResponse - (*ListUserApprovalsRequest)(nil), // 54: raystack.guardian.v1beta1.ListUserApprovalsRequest - (*ListUserApprovalsResponse)(nil), // 55: raystack.guardian.v1beta1.ListUserApprovalsResponse - (*ListApprovalsRequest)(nil), // 56: raystack.guardian.v1beta1.ListApprovalsRequest - (*ListApprovalsResponse)(nil), // 57: raystack.guardian.v1beta1.ListApprovalsResponse - (*UpdateApprovalRequest)(nil), // 58: raystack.guardian.v1beta1.UpdateApprovalRequest - (*UpdateApprovalResponse)(nil), // 59: raystack.guardian.v1beta1.UpdateApprovalResponse - (*AddApproverRequest)(nil), // 60: raystack.guardian.v1beta1.AddApproverRequest - (*AddApproverResponse)(nil), // 61: raystack.guardian.v1beta1.AddApproverResponse - (*DeleteApproverRequest)(nil), // 62: raystack.guardian.v1beta1.DeleteApproverRequest - (*DeleteApproverResponse)(nil), // 63: raystack.guardian.v1beta1.DeleteApproverResponse - (*ListGrantsRequest)(nil), // 64: raystack.guardian.v1beta1.ListGrantsRequest - (*ListGrantsResponse)(nil), // 65: raystack.guardian.v1beta1.ListGrantsResponse - (*ListUserGrantsRequest)(nil), // 66: raystack.guardian.v1beta1.ListUserGrantsRequest - (*ListUserGrantsResponse)(nil), // 67: raystack.guardian.v1beta1.ListUserGrantsResponse - (*GetGrantRequest)(nil), // 68: raystack.guardian.v1beta1.GetGrantRequest - (*GetGrantResponse)(nil), // 69: raystack.guardian.v1beta1.GetGrantResponse - (*UpdateGrantRequest)(nil), // 70: raystack.guardian.v1beta1.UpdateGrantRequest - (*UpdateGrantResponse)(nil), // 71: raystack.guardian.v1beta1.UpdateGrantResponse - (*RevokeGrantRequest)(nil), // 72: raystack.guardian.v1beta1.RevokeGrantRequest - (*RevokeGrantResponse)(nil), // 73: raystack.guardian.v1beta1.RevokeGrantResponse - (*RevokeGrantsRequest)(nil), // 74: raystack.guardian.v1beta1.RevokeGrantsRequest - (*RevokeGrantsResponse)(nil), // 75: raystack.guardian.v1beta1.RevokeGrantsResponse - (*Role)(nil), // 76: raystack.guardian.v1beta1.Role - (*PolicyConfig)(nil), // 77: raystack.guardian.v1beta1.PolicyConfig - (*ProviderConfig)(nil), // 78: raystack.guardian.v1beta1.ProviderConfig - (*Provider)(nil), // 79: raystack.guardian.v1beta1.Provider - (*ProviderType)(nil), // 80: raystack.guardian.v1beta1.ProviderType - (*Condition)(nil), // 81: raystack.guardian.v1beta1.Condition - (*PolicyAppealConfig)(nil), // 82: raystack.guardian.v1beta1.PolicyAppealConfig - (*Policy)(nil), // 83: raystack.guardian.v1beta1.Policy - (*AppealOptions)(nil), // 84: raystack.guardian.v1beta1.AppealOptions - (*Appeal)(nil), // 85: raystack.guardian.v1beta1.Appeal - (*Approval)(nil), // 86: raystack.guardian.v1beta1.Approval - (*Resource)(nil), // 87: raystack.guardian.v1beta1.Resource - (*Grant)(nil), // 88: raystack.guardian.v1beta1.Grant - (*ProviderActivity)(nil), // 89: raystack.guardian.v1beta1.ProviderActivity - (*Namespace)(nil), // 90: raystack.guardian.v1beta1.Namespace - (*CreateNamespaceRequest)(nil), // 91: raystack.guardian.v1beta1.CreateNamespaceRequest - (*CreateNamespaceResponse)(nil), // 92: raystack.guardian.v1beta1.CreateNamespaceResponse - (*GetNamespaceRequest)(nil), // 93: raystack.guardian.v1beta1.GetNamespaceRequest - (*GetNamespaceResponse)(nil), // 94: raystack.guardian.v1beta1.GetNamespaceResponse - (*ListNamespacesRequest)(nil), // 95: raystack.guardian.v1beta1.ListNamespacesRequest - (*ListNamespacesResponse)(nil), // 96: raystack.guardian.v1beta1.ListNamespacesResponse - (*UpdateNamespaceRequest)(nil), // 97: raystack.guardian.v1beta1.UpdateNamespaceRequest - (*UpdateNamespaceResponse)(nil), // 98: raystack.guardian.v1beta1.UpdateNamespaceResponse - (*RevokeAppealRequest_Reason)(nil), // 99: raystack.guardian.v1beta1.RevokeAppealRequest.Reason - (*CreateAppealRequest_Resource)(nil), // 100: raystack.guardian.v1beta1.CreateAppealRequest.Resource - (*UpdateApprovalRequest_Action)(nil), // 101: raystack.guardian.v1beta1.UpdateApprovalRequest.Action - nil, // 102: raystack.guardian.v1beta1.ProviderConfig.LabelsEntry - (*ProviderConfig_AppealConfig)(nil), // 103: raystack.guardian.v1beta1.ProviderConfig.AppealConfig - (*ProviderConfig_ResourceConfig)(nil), // 104: raystack.guardian.v1beta1.ProviderConfig.ResourceConfig - (*ProviderConfig_ProviderParameter)(nil), // 105: raystack.guardian.v1beta1.ProviderConfig.ProviderParameter - (*Condition_MatchCondition)(nil), // 106: raystack.guardian.v1beta1.Condition.MatchCondition - (*PolicyAppealConfig_DurationOptions)(nil), // 107: raystack.guardian.v1beta1.PolicyAppealConfig.DurationOptions - (*PolicyAppealConfig_Question)(nil), // 108: raystack.guardian.v1beta1.PolicyAppealConfig.Question - (*Policy_ApprovalStep)(nil), // 109: raystack.guardian.v1beta1.Policy.ApprovalStep - nil, // 110: raystack.guardian.v1beta1.Policy.LabelsEntry - (*Policy_Requirement)(nil), // 111: raystack.guardian.v1beta1.Policy.Requirement - (*Policy_IAM)(nil), // 112: raystack.guardian.v1beta1.Policy.IAM - (*Policy_Requirement_RequirementTrigger)(nil), // 113: raystack.guardian.v1beta1.Policy.Requirement.RequirementTrigger - (*Policy_Requirement_AdditionalAppeal)(nil), // 114: raystack.guardian.v1beta1.Policy.Requirement.AdditionalAppeal - (*Policy_Requirement_AdditionalAppeal_ResourceIdentifier)(nil), // 115: raystack.guardian.v1beta1.Policy.Requirement.AdditionalAppeal.ResourceIdentifier - nil, // 116: raystack.guardian.v1beta1.Policy.IAM.SchemaEntry - nil, // 117: raystack.guardian.v1beta1.Appeal.LabelsEntry - nil, // 118: raystack.guardian.v1beta1.Resource.LabelsEntry - (*timestamppb.Timestamp)(nil), // 119: google.protobuf.Timestamp - (*structpb.Value)(nil), // 120: google.protobuf.Value - (*structpb.Struct)(nil), // 121: google.protobuf.Struct + (*GetProviderRolesRequest)(nil), // 6: raystack.guardian.v1beta1.GetProviderRolesRequest + (*GetProviderRolesResponse)(nil), // 7: raystack.guardian.v1beta1.GetProviderRolesResponse + (*CreateProviderRequest)(nil), // 8: raystack.guardian.v1beta1.CreateProviderRequest + (*CreateProviderResponse)(nil), // 9: raystack.guardian.v1beta1.CreateProviderResponse + (*UpdateProviderRequest)(nil), // 10: raystack.guardian.v1beta1.UpdateProviderRequest + (*UpdateProviderResponse)(nil), // 11: raystack.guardian.v1beta1.UpdateProviderResponse + (*DeleteProviderRequest)(nil), // 12: raystack.guardian.v1beta1.DeleteProviderRequest + (*DeleteProviderResponse)(nil), // 13: raystack.guardian.v1beta1.DeleteProviderResponse + (*ImportGrantsFromProviderRequest)(nil), // 14: raystack.guardian.v1beta1.ImportGrantsFromProviderRequest + (*ImportGrantsFromProviderResponse)(nil), // 15: raystack.guardian.v1beta1.ImportGrantsFromProviderResponse + (*ListRolesRequest)(nil), // 16: raystack.guardian.v1beta1.ListRolesRequest + (*ListRolesResponse)(nil), // 17: raystack.guardian.v1beta1.ListRolesResponse + (*ImportActivitiesRequest)(nil), // 18: raystack.guardian.v1beta1.ImportActivitiesRequest + (*ImportActivitiesResponse)(nil), // 19: raystack.guardian.v1beta1.ImportActivitiesResponse + (*GetActivityRequest)(nil), // 20: raystack.guardian.v1beta1.GetActivityRequest + (*GetActivityResponse)(nil), // 21: raystack.guardian.v1beta1.GetActivityResponse + (*ListActivitiesRequest)(nil), // 22: raystack.guardian.v1beta1.ListActivitiesRequest + (*ListActivitiesResponse)(nil), // 23: raystack.guardian.v1beta1.ListActivitiesResponse + (*ListPoliciesRequest)(nil), // 24: raystack.guardian.v1beta1.ListPoliciesRequest + (*ListPoliciesResponse)(nil), // 25: raystack.guardian.v1beta1.ListPoliciesResponse + (*GetPolicyRequest)(nil), // 26: raystack.guardian.v1beta1.GetPolicyRequest + (*GetPolicyPreferencesRequest)(nil), // 27: raystack.guardian.v1beta1.GetPolicyPreferencesRequest + (*GetPolicyPreferencesResponse)(nil), // 28: raystack.guardian.v1beta1.GetPolicyPreferencesResponse + (*GetPolicyResponse)(nil), // 29: raystack.guardian.v1beta1.GetPolicyResponse + (*CreatePolicyRequest)(nil), // 30: raystack.guardian.v1beta1.CreatePolicyRequest + (*CreatePolicyResponse)(nil), // 31: raystack.guardian.v1beta1.CreatePolicyResponse + (*UpdatePolicyRequest)(nil), // 32: raystack.guardian.v1beta1.UpdatePolicyRequest + (*UpdatePolicyResponse)(nil), // 33: raystack.guardian.v1beta1.UpdatePolicyResponse + (*ListResourcesRequest)(nil), // 34: raystack.guardian.v1beta1.ListResourcesRequest + (*ListResourcesResponse)(nil), // 35: raystack.guardian.v1beta1.ListResourcesResponse + (*GetResourceRequest)(nil), // 36: raystack.guardian.v1beta1.GetResourceRequest + (*GetResourceResponse)(nil), // 37: raystack.guardian.v1beta1.GetResourceResponse + (*UpdateResourceRequest)(nil), // 38: raystack.guardian.v1beta1.UpdateResourceRequest + (*UpdateResourceResponse)(nil), // 39: raystack.guardian.v1beta1.UpdateResourceResponse + (*DeleteResourceRequest)(nil), // 40: raystack.guardian.v1beta1.DeleteResourceRequest + (*DeleteResourceResponse)(nil), // 41: raystack.guardian.v1beta1.DeleteResourceResponse + (*ListUserAppealsRequest)(nil), // 42: raystack.guardian.v1beta1.ListUserAppealsRequest + (*ListUserAppealsResponse)(nil), // 43: raystack.guardian.v1beta1.ListUserAppealsResponse + (*ListAppealsRequest)(nil), // 44: raystack.guardian.v1beta1.ListAppealsRequest + (*ListAppealsResponse)(nil), // 45: raystack.guardian.v1beta1.ListAppealsResponse + (*GetAppealRequest)(nil), // 46: raystack.guardian.v1beta1.GetAppealRequest + (*GetAppealResponse)(nil), // 47: raystack.guardian.v1beta1.GetAppealResponse + (*CancelAppealRequest)(nil), // 48: raystack.guardian.v1beta1.CancelAppealRequest + (*CancelAppealResponse)(nil), // 49: raystack.guardian.v1beta1.CancelAppealResponse + (*RevokeAppealRequest)(nil), // 50: raystack.guardian.v1beta1.RevokeAppealRequest + (*RevokeAppealResponse)(nil), // 51: raystack.guardian.v1beta1.RevokeAppealResponse + (*RevokeAppealsRequest)(nil), // 52: raystack.guardian.v1beta1.RevokeAppealsRequest + (*RevokeAppealsResponse)(nil), // 53: raystack.guardian.v1beta1.RevokeAppealsResponse + (*CreateAppealRequest)(nil), // 54: raystack.guardian.v1beta1.CreateAppealRequest + (*CreateAppealResponse)(nil), // 55: raystack.guardian.v1beta1.CreateAppealResponse + (*ListUserApprovalsRequest)(nil), // 56: raystack.guardian.v1beta1.ListUserApprovalsRequest + (*ListUserApprovalsResponse)(nil), // 57: raystack.guardian.v1beta1.ListUserApprovalsResponse + (*ListApprovalsRequest)(nil), // 58: raystack.guardian.v1beta1.ListApprovalsRequest + (*ListApprovalsResponse)(nil), // 59: raystack.guardian.v1beta1.ListApprovalsResponse + (*UpdateApprovalRequest)(nil), // 60: raystack.guardian.v1beta1.UpdateApprovalRequest + (*UpdateApprovalResponse)(nil), // 61: raystack.guardian.v1beta1.UpdateApprovalResponse + (*AddApproverRequest)(nil), // 62: raystack.guardian.v1beta1.AddApproverRequest + (*AddApproverResponse)(nil), // 63: raystack.guardian.v1beta1.AddApproverResponse + (*DeleteApproverRequest)(nil), // 64: raystack.guardian.v1beta1.DeleteApproverRequest + (*DeleteApproverResponse)(nil), // 65: raystack.guardian.v1beta1.DeleteApproverResponse + (*ListGrantsRequest)(nil), // 66: raystack.guardian.v1beta1.ListGrantsRequest + (*ListGrantsResponse)(nil), // 67: raystack.guardian.v1beta1.ListGrantsResponse + (*ListUserGrantsRequest)(nil), // 68: raystack.guardian.v1beta1.ListUserGrantsRequest + (*ListUserGrantsResponse)(nil), // 69: raystack.guardian.v1beta1.ListUserGrantsResponse + (*GetGrantRequest)(nil), // 70: raystack.guardian.v1beta1.GetGrantRequest + (*GetGrantResponse)(nil), // 71: raystack.guardian.v1beta1.GetGrantResponse + (*UpdateGrantRequest)(nil), // 72: raystack.guardian.v1beta1.UpdateGrantRequest + (*UpdateGrantResponse)(nil), // 73: raystack.guardian.v1beta1.UpdateGrantResponse + (*RevokeGrantRequest)(nil), // 74: raystack.guardian.v1beta1.RevokeGrantRequest + (*RevokeGrantResponse)(nil), // 75: raystack.guardian.v1beta1.RevokeGrantResponse + (*RevokeGrantsRequest)(nil), // 76: raystack.guardian.v1beta1.RevokeGrantsRequest + (*RevokeGrantsResponse)(nil), // 77: raystack.guardian.v1beta1.RevokeGrantsResponse + (*Role)(nil), // 78: raystack.guardian.v1beta1.Role + (*PolicyConfig)(nil), // 79: raystack.guardian.v1beta1.PolicyConfig + (*ProviderConfig)(nil), // 80: raystack.guardian.v1beta1.ProviderConfig + (*Provider)(nil), // 81: raystack.guardian.v1beta1.Provider + (*ProviderType)(nil), // 82: raystack.guardian.v1beta1.ProviderType + (*Condition)(nil), // 83: raystack.guardian.v1beta1.Condition + (*PolicyAppealConfig)(nil), // 84: raystack.guardian.v1beta1.PolicyAppealConfig + (*Policy)(nil), // 85: raystack.guardian.v1beta1.Policy + (*AppealOptions)(nil), // 86: raystack.guardian.v1beta1.AppealOptions + (*Appeal)(nil), // 87: raystack.guardian.v1beta1.Appeal + (*Approval)(nil), // 88: raystack.guardian.v1beta1.Approval + (*Resource)(nil), // 89: raystack.guardian.v1beta1.Resource + (*Grant)(nil), // 90: raystack.guardian.v1beta1.Grant + (*ProviderActivity)(nil), // 91: raystack.guardian.v1beta1.ProviderActivity + (*Namespace)(nil), // 92: raystack.guardian.v1beta1.Namespace + (*CreateNamespaceRequest)(nil), // 93: raystack.guardian.v1beta1.CreateNamespaceRequest + (*CreateNamespaceResponse)(nil), // 94: raystack.guardian.v1beta1.CreateNamespaceResponse + (*GetNamespaceRequest)(nil), // 95: raystack.guardian.v1beta1.GetNamespaceRequest + (*GetNamespaceResponse)(nil), // 96: raystack.guardian.v1beta1.GetNamespaceResponse + (*ListNamespacesRequest)(nil), // 97: raystack.guardian.v1beta1.ListNamespacesRequest + (*ListNamespacesResponse)(nil), // 98: raystack.guardian.v1beta1.ListNamespacesResponse + (*UpdateNamespaceRequest)(nil), // 99: raystack.guardian.v1beta1.UpdateNamespaceRequest + (*UpdateNamespaceResponse)(nil), // 100: raystack.guardian.v1beta1.UpdateNamespaceResponse + (*RevokeAppealRequest_Reason)(nil), // 101: raystack.guardian.v1beta1.RevokeAppealRequest.Reason + (*CreateAppealRequest_Resource)(nil), // 102: raystack.guardian.v1beta1.CreateAppealRequest.Resource + (*UpdateApprovalRequest_Action)(nil), // 103: raystack.guardian.v1beta1.UpdateApprovalRequest.Action + nil, // 104: raystack.guardian.v1beta1.ProviderConfig.LabelsEntry + (*ProviderConfig_AppealConfig)(nil), // 105: raystack.guardian.v1beta1.ProviderConfig.AppealConfig + (*ProviderConfig_ResourceConfig)(nil), // 106: raystack.guardian.v1beta1.ProviderConfig.ResourceConfig + (*ProviderConfig_ProviderParameter)(nil), // 107: raystack.guardian.v1beta1.ProviderConfig.ProviderParameter + (*Condition_MatchCondition)(nil), // 108: raystack.guardian.v1beta1.Condition.MatchCondition + (*PolicyAppealConfig_DurationOptions)(nil), // 109: raystack.guardian.v1beta1.PolicyAppealConfig.DurationOptions + (*PolicyAppealConfig_Question)(nil), // 110: raystack.guardian.v1beta1.PolicyAppealConfig.Question + (*Policy_ApprovalStep)(nil), // 111: raystack.guardian.v1beta1.Policy.ApprovalStep + nil, // 112: raystack.guardian.v1beta1.Policy.LabelsEntry + (*Policy_Requirement)(nil), // 113: raystack.guardian.v1beta1.Policy.Requirement + (*Policy_IAM)(nil), // 114: raystack.guardian.v1beta1.Policy.IAM + (*Policy_Requirement_RequirementTrigger)(nil), // 115: raystack.guardian.v1beta1.Policy.Requirement.RequirementTrigger + (*Policy_Requirement_AdditionalAppeal)(nil), // 116: raystack.guardian.v1beta1.Policy.Requirement.AdditionalAppeal + (*Policy_Requirement_AdditionalAppeal_ResourceIdentifier)(nil), // 117: raystack.guardian.v1beta1.Policy.Requirement.AdditionalAppeal.ResourceIdentifier + nil, // 118: raystack.guardian.v1beta1.Policy.IAM.SchemaEntry + nil, // 119: raystack.guardian.v1beta1.Appeal.LabelsEntry + nil, // 120: raystack.guardian.v1beta1.Resource.LabelsEntry + (*timestamppb.Timestamp)(nil), // 121: google.protobuf.Timestamp + (*structpb.Value)(nil), // 122: google.protobuf.Value + (*structpb.Struct)(nil), // 123: google.protobuf.Struct } var file_raystack_guardian_v1beta1_guardian_proto_depIdxs = []int32{ - 79, // 0: raystack.guardian.v1beta1.ListProvidersResponse.providers:type_name -> raystack.guardian.v1beta1.Provider - 79, // 1: raystack.guardian.v1beta1.GetProviderResponse.provider:type_name -> raystack.guardian.v1beta1.Provider - 80, // 2: raystack.guardian.v1beta1.GetProviderTypesResponse.provider_types:type_name -> raystack.guardian.v1beta1.ProviderType - 78, // 3: raystack.guardian.v1beta1.CreateProviderRequest.config:type_name -> raystack.guardian.v1beta1.ProviderConfig - 79, // 4: raystack.guardian.v1beta1.CreateProviderResponse.provider:type_name -> raystack.guardian.v1beta1.Provider - 78, // 5: raystack.guardian.v1beta1.UpdateProviderRequest.config:type_name -> raystack.guardian.v1beta1.ProviderConfig - 79, // 6: raystack.guardian.v1beta1.UpdateProviderResponse.provider:type_name -> raystack.guardian.v1beta1.Provider - 88, // 7: raystack.guardian.v1beta1.ImportGrantsFromProviderResponse.grants:type_name -> raystack.guardian.v1beta1.Grant - 76, // 8: raystack.guardian.v1beta1.ListRolesResponse.roles:type_name -> raystack.guardian.v1beta1.Role - 119, // 9: raystack.guardian.v1beta1.ImportActivitiesRequest.timestamp_gte:type_name -> google.protobuf.Timestamp - 119, // 10: raystack.guardian.v1beta1.ImportActivitiesRequest.timestamp_lte:type_name -> google.protobuf.Timestamp - 89, // 11: raystack.guardian.v1beta1.ImportActivitiesResponse.activities:type_name -> raystack.guardian.v1beta1.ProviderActivity - 89, // 12: raystack.guardian.v1beta1.GetActivityResponse.activity:type_name -> raystack.guardian.v1beta1.ProviderActivity - 119, // 13: raystack.guardian.v1beta1.ListActivitiesRequest.timestamp_gte:type_name -> google.protobuf.Timestamp - 119, // 14: raystack.guardian.v1beta1.ListActivitiesRequest.timestamp_lte:type_name -> google.protobuf.Timestamp - 89, // 15: raystack.guardian.v1beta1.ListActivitiesResponse.activities:type_name -> raystack.guardian.v1beta1.ProviderActivity - 83, // 16: raystack.guardian.v1beta1.ListPoliciesResponse.policies:type_name -> raystack.guardian.v1beta1.Policy - 82, // 17: raystack.guardian.v1beta1.GetPolicyPreferencesResponse.appeal:type_name -> raystack.guardian.v1beta1.PolicyAppealConfig - 83, // 18: raystack.guardian.v1beta1.GetPolicyResponse.policy:type_name -> raystack.guardian.v1beta1.Policy - 83, // 19: raystack.guardian.v1beta1.CreatePolicyRequest.policy:type_name -> raystack.guardian.v1beta1.Policy - 83, // 20: raystack.guardian.v1beta1.CreatePolicyResponse.policy:type_name -> raystack.guardian.v1beta1.Policy - 83, // 21: raystack.guardian.v1beta1.UpdatePolicyRequest.policy:type_name -> raystack.guardian.v1beta1.Policy - 83, // 22: raystack.guardian.v1beta1.UpdatePolicyResponse.policy:type_name -> raystack.guardian.v1beta1.Policy - 87, // 23: raystack.guardian.v1beta1.ListResourcesResponse.resources:type_name -> raystack.guardian.v1beta1.Resource - 87, // 24: raystack.guardian.v1beta1.GetResourceResponse.resource:type_name -> raystack.guardian.v1beta1.Resource - 87, // 25: raystack.guardian.v1beta1.UpdateResourceRequest.resource:type_name -> raystack.guardian.v1beta1.Resource - 87, // 26: raystack.guardian.v1beta1.UpdateResourceResponse.resource:type_name -> raystack.guardian.v1beta1.Resource - 85, // 27: raystack.guardian.v1beta1.ListUserAppealsResponse.appeals:type_name -> raystack.guardian.v1beta1.Appeal - 85, // 28: raystack.guardian.v1beta1.ListAppealsResponse.appeals:type_name -> raystack.guardian.v1beta1.Appeal - 85, // 29: raystack.guardian.v1beta1.GetAppealResponse.appeal:type_name -> raystack.guardian.v1beta1.Appeal - 85, // 30: raystack.guardian.v1beta1.CancelAppealResponse.appeal:type_name -> raystack.guardian.v1beta1.Appeal - 99, // 31: raystack.guardian.v1beta1.RevokeAppealRequest.reason:type_name -> raystack.guardian.v1beta1.RevokeAppealRequest.Reason - 85, // 32: raystack.guardian.v1beta1.RevokeAppealResponse.appeal:type_name -> raystack.guardian.v1beta1.Appeal - 85, // 33: raystack.guardian.v1beta1.RevokeAppealsResponse.appeals:type_name -> raystack.guardian.v1beta1.Appeal - 100, // 34: raystack.guardian.v1beta1.CreateAppealRequest.resources:type_name -> raystack.guardian.v1beta1.CreateAppealRequest.Resource - 85, // 35: raystack.guardian.v1beta1.CreateAppealResponse.appeals:type_name -> raystack.guardian.v1beta1.Appeal - 86, // 36: raystack.guardian.v1beta1.ListUserApprovalsResponse.approvals:type_name -> raystack.guardian.v1beta1.Approval - 86, // 37: raystack.guardian.v1beta1.ListApprovalsResponse.approvals:type_name -> raystack.guardian.v1beta1.Approval - 101, // 38: raystack.guardian.v1beta1.UpdateApprovalRequest.action:type_name -> raystack.guardian.v1beta1.UpdateApprovalRequest.Action - 85, // 39: raystack.guardian.v1beta1.UpdateApprovalResponse.appeal:type_name -> raystack.guardian.v1beta1.Appeal - 85, // 40: raystack.guardian.v1beta1.AddApproverResponse.appeal:type_name -> raystack.guardian.v1beta1.Appeal - 85, // 41: raystack.guardian.v1beta1.DeleteApproverResponse.appeal:type_name -> raystack.guardian.v1beta1.Appeal - 88, // 42: raystack.guardian.v1beta1.ListGrantsResponse.grants:type_name -> raystack.guardian.v1beta1.Grant - 88, // 43: raystack.guardian.v1beta1.ListUserGrantsResponse.grants:type_name -> raystack.guardian.v1beta1.Grant - 88, // 44: raystack.guardian.v1beta1.GetGrantResponse.grant:type_name -> raystack.guardian.v1beta1.Grant - 88, // 45: raystack.guardian.v1beta1.UpdateGrantResponse.grant:type_name -> raystack.guardian.v1beta1.Grant - 88, // 46: raystack.guardian.v1beta1.RevokeGrantResponse.grant:type_name -> raystack.guardian.v1beta1.Grant - 88, // 47: raystack.guardian.v1beta1.RevokeGrantsResponse.grants:type_name -> raystack.guardian.v1beta1.Grant - 120, // 48: raystack.guardian.v1beta1.Role.permissions:type_name -> google.protobuf.Value - 102, // 49: raystack.guardian.v1beta1.ProviderConfig.labels:type_name -> raystack.guardian.v1beta1.ProviderConfig.LabelsEntry - 120, // 50: raystack.guardian.v1beta1.ProviderConfig.credentials:type_name -> google.protobuf.Value - 103, // 51: raystack.guardian.v1beta1.ProviderConfig.appeal:type_name -> raystack.guardian.v1beta1.ProviderConfig.AppealConfig - 104, // 52: raystack.guardian.v1beta1.ProviderConfig.resources:type_name -> raystack.guardian.v1beta1.ProviderConfig.ResourceConfig - 105, // 53: raystack.guardian.v1beta1.ProviderConfig.parameters:type_name -> raystack.guardian.v1beta1.ProviderConfig.ProviderParameter - 78, // 54: raystack.guardian.v1beta1.Provider.config:type_name -> raystack.guardian.v1beta1.ProviderConfig - 119, // 55: raystack.guardian.v1beta1.Provider.created_at:type_name -> google.protobuf.Timestamp - 119, // 56: raystack.guardian.v1beta1.Provider.updated_at:type_name -> google.protobuf.Timestamp - 106, // 57: raystack.guardian.v1beta1.Condition.match:type_name -> raystack.guardian.v1beta1.Condition.MatchCondition - 107, // 58: raystack.guardian.v1beta1.PolicyAppealConfig.duration_options:type_name -> raystack.guardian.v1beta1.PolicyAppealConfig.DurationOptions - 108, // 59: raystack.guardian.v1beta1.PolicyAppealConfig.questions:type_name -> raystack.guardian.v1beta1.PolicyAppealConfig.Question - 109, // 60: raystack.guardian.v1beta1.Policy.steps:type_name -> raystack.guardian.v1beta1.Policy.ApprovalStep - 110, // 61: raystack.guardian.v1beta1.Policy.labels:type_name -> raystack.guardian.v1beta1.Policy.LabelsEntry - 119, // 62: raystack.guardian.v1beta1.Policy.created_at:type_name -> google.protobuf.Timestamp - 119, // 63: raystack.guardian.v1beta1.Policy.updated_at:type_name -> google.protobuf.Timestamp - 111, // 64: raystack.guardian.v1beta1.Policy.requirements:type_name -> raystack.guardian.v1beta1.Policy.Requirement - 112, // 65: raystack.guardian.v1beta1.Policy.iam:type_name -> raystack.guardian.v1beta1.Policy.IAM - 82, // 66: raystack.guardian.v1beta1.Policy.appeal:type_name -> raystack.guardian.v1beta1.PolicyAppealConfig - 119, // 67: raystack.guardian.v1beta1.AppealOptions.expiration_date:type_name -> google.protobuf.Timestamp - 84, // 68: raystack.guardian.v1beta1.Appeal.options:type_name -> raystack.guardian.v1beta1.AppealOptions - 117, // 69: raystack.guardian.v1beta1.Appeal.labels:type_name -> raystack.guardian.v1beta1.Appeal.LabelsEntry - 87, // 70: raystack.guardian.v1beta1.Appeal.resource:type_name -> raystack.guardian.v1beta1.Resource - 86, // 71: raystack.guardian.v1beta1.Appeal.approvals:type_name -> raystack.guardian.v1beta1.Approval - 119, // 72: raystack.guardian.v1beta1.Appeal.created_at:type_name -> google.protobuf.Timestamp - 119, // 73: raystack.guardian.v1beta1.Appeal.updated_at:type_name -> google.protobuf.Timestamp - 121, // 74: raystack.guardian.v1beta1.Appeal.details:type_name -> google.protobuf.Struct - 120, // 75: raystack.guardian.v1beta1.Appeal.creator:type_name -> google.protobuf.Value - 88, // 76: raystack.guardian.v1beta1.Appeal.grant:type_name -> raystack.guardian.v1beta1.Grant - 85, // 77: raystack.guardian.v1beta1.Approval.appeal:type_name -> raystack.guardian.v1beta1.Appeal - 119, // 78: raystack.guardian.v1beta1.Approval.created_at:type_name -> google.protobuf.Timestamp - 119, // 79: raystack.guardian.v1beta1.Approval.updated_at:type_name -> google.protobuf.Timestamp - 121, // 80: raystack.guardian.v1beta1.Resource.details:type_name -> google.protobuf.Struct - 118, // 81: raystack.guardian.v1beta1.Resource.labels:type_name -> raystack.guardian.v1beta1.Resource.LabelsEntry - 119, // 82: raystack.guardian.v1beta1.Resource.created_at:type_name -> google.protobuf.Timestamp - 119, // 83: raystack.guardian.v1beta1.Resource.updated_at:type_name -> google.protobuf.Timestamp - 87, // 84: raystack.guardian.v1beta1.Resource.children:type_name -> raystack.guardian.v1beta1.Resource - 119, // 85: raystack.guardian.v1beta1.Grant.expiration_date:type_name -> google.protobuf.Timestamp - 119, // 86: raystack.guardian.v1beta1.Grant.revoked_at:type_name -> google.protobuf.Timestamp - 119, // 87: raystack.guardian.v1beta1.Grant.created_at:type_name -> google.protobuf.Timestamp - 119, // 88: raystack.guardian.v1beta1.Grant.updated_at:type_name -> google.protobuf.Timestamp - 87, // 89: raystack.guardian.v1beta1.Grant.resource:type_name -> raystack.guardian.v1beta1.Resource - 85, // 90: raystack.guardian.v1beta1.Grant.appeal:type_name -> raystack.guardian.v1beta1.Appeal - 119, // 91: raystack.guardian.v1beta1.ProviderActivity.timestamp:type_name -> google.protobuf.Timestamp - 121, // 92: raystack.guardian.v1beta1.ProviderActivity.metadata:type_name -> google.protobuf.Struct - 119, // 93: raystack.guardian.v1beta1.ProviderActivity.created_at:type_name -> google.protobuf.Timestamp - 79, // 94: raystack.guardian.v1beta1.ProviderActivity.provider:type_name -> raystack.guardian.v1beta1.Provider - 87, // 95: raystack.guardian.v1beta1.ProviderActivity.resource:type_name -> raystack.guardian.v1beta1.Resource - 121, // 96: raystack.guardian.v1beta1.Namespace.metadata:type_name -> google.protobuf.Struct - 119, // 97: raystack.guardian.v1beta1.Namespace.created_at:type_name -> google.protobuf.Timestamp - 119, // 98: raystack.guardian.v1beta1.Namespace.updated_at:type_name -> google.protobuf.Timestamp - 90, // 99: raystack.guardian.v1beta1.CreateNamespaceRequest.namespace:type_name -> raystack.guardian.v1beta1.Namespace - 90, // 100: raystack.guardian.v1beta1.GetNamespaceResponse.namespace:type_name -> raystack.guardian.v1beta1.Namespace - 90, // 101: raystack.guardian.v1beta1.ListNamespacesResponse.namespaces:type_name -> raystack.guardian.v1beta1.Namespace - 90, // 102: raystack.guardian.v1beta1.UpdateNamespaceRequest.namespace:type_name -> raystack.guardian.v1beta1.Namespace - 121, // 103: raystack.guardian.v1beta1.CreateAppealRequest.Resource.options:type_name -> google.protobuf.Struct - 121, // 104: raystack.guardian.v1beta1.CreateAppealRequest.Resource.details:type_name -> google.protobuf.Struct - 77, // 105: raystack.guardian.v1beta1.ProviderConfig.ResourceConfig.policy:type_name -> raystack.guardian.v1beta1.PolicyConfig - 76, // 106: raystack.guardian.v1beta1.ProviderConfig.ResourceConfig.roles:type_name -> raystack.guardian.v1beta1.Role - 120, // 107: raystack.guardian.v1beta1.Condition.MatchCondition.eq:type_name -> google.protobuf.Value - 113, // 108: raystack.guardian.v1beta1.Policy.Requirement.on:type_name -> raystack.guardian.v1beta1.Policy.Requirement.RequirementTrigger - 114, // 109: raystack.guardian.v1beta1.Policy.Requirement.appeals:type_name -> raystack.guardian.v1beta1.Policy.Requirement.AdditionalAppeal - 120, // 110: raystack.guardian.v1beta1.Policy.IAM.config:type_name -> google.protobuf.Value - 116, // 111: raystack.guardian.v1beta1.Policy.IAM.schema:type_name -> raystack.guardian.v1beta1.Policy.IAM.SchemaEntry - 81, // 112: raystack.guardian.v1beta1.Policy.Requirement.RequirementTrigger.conditions:type_name -> raystack.guardian.v1beta1.Condition - 115, // 113: raystack.guardian.v1beta1.Policy.Requirement.AdditionalAppeal.resource:type_name -> raystack.guardian.v1beta1.Policy.Requirement.AdditionalAppeal.ResourceIdentifier - 84, // 114: raystack.guardian.v1beta1.Policy.Requirement.AdditionalAppeal.options:type_name -> raystack.guardian.v1beta1.AppealOptions - 77, // 115: raystack.guardian.v1beta1.Policy.Requirement.AdditionalAppeal.policy:type_name -> raystack.guardian.v1beta1.PolicyConfig + 81, // 0: raystack.guardian.v1beta1.ListProvidersResponse.providers:type_name -> raystack.guardian.v1beta1.Provider + 81, // 1: raystack.guardian.v1beta1.GetProviderResponse.provider:type_name -> raystack.guardian.v1beta1.Provider + 82, // 2: raystack.guardian.v1beta1.GetProviderTypesResponse.provider_types:type_name -> raystack.guardian.v1beta1.ProviderType + 80, // 3: raystack.guardian.v1beta1.CreateProviderRequest.config:type_name -> raystack.guardian.v1beta1.ProviderConfig + 81, // 4: raystack.guardian.v1beta1.CreateProviderResponse.provider:type_name -> raystack.guardian.v1beta1.Provider + 80, // 5: raystack.guardian.v1beta1.UpdateProviderRequest.config:type_name -> raystack.guardian.v1beta1.ProviderConfig + 81, // 6: raystack.guardian.v1beta1.UpdateProviderResponse.provider:type_name -> raystack.guardian.v1beta1.Provider + 90, // 7: raystack.guardian.v1beta1.ImportGrantsFromProviderResponse.grants:type_name -> raystack.guardian.v1beta1.Grant + 78, // 8: raystack.guardian.v1beta1.ListRolesResponse.roles:type_name -> raystack.guardian.v1beta1.Role + 121, // 9: raystack.guardian.v1beta1.ImportActivitiesRequest.timestamp_gte:type_name -> google.protobuf.Timestamp + 121, // 10: raystack.guardian.v1beta1.ImportActivitiesRequest.timestamp_lte:type_name -> google.protobuf.Timestamp + 91, // 11: raystack.guardian.v1beta1.ImportActivitiesResponse.activities:type_name -> raystack.guardian.v1beta1.ProviderActivity + 91, // 12: raystack.guardian.v1beta1.GetActivityResponse.activity:type_name -> raystack.guardian.v1beta1.ProviderActivity + 121, // 13: raystack.guardian.v1beta1.ListActivitiesRequest.timestamp_gte:type_name -> google.protobuf.Timestamp + 121, // 14: raystack.guardian.v1beta1.ListActivitiesRequest.timestamp_lte:type_name -> google.protobuf.Timestamp + 91, // 15: raystack.guardian.v1beta1.ListActivitiesResponse.activities:type_name -> raystack.guardian.v1beta1.ProviderActivity + 85, // 16: raystack.guardian.v1beta1.ListPoliciesResponse.policies:type_name -> raystack.guardian.v1beta1.Policy + 84, // 17: raystack.guardian.v1beta1.GetPolicyPreferencesResponse.appeal:type_name -> raystack.guardian.v1beta1.PolicyAppealConfig + 85, // 18: raystack.guardian.v1beta1.GetPolicyResponse.policy:type_name -> raystack.guardian.v1beta1.Policy + 85, // 19: raystack.guardian.v1beta1.CreatePolicyRequest.policy:type_name -> raystack.guardian.v1beta1.Policy + 85, // 20: raystack.guardian.v1beta1.CreatePolicyResponse.policy:type_name -> raystack.guardian.v1beta1.Policy + 85, // 21: raystack.guardian.v1beta1.UpdatePolicyRequest.policy:type_name -> raystack.guardian.v1beta1.Policy + 85, // 22: raystack.guardian.v1beta1.UpdatePolicyResponse.policy:type_name -> raystack.guardian.v1beta1.Policy + 89, // 23: raystack.guardian.v1beta1.ListResourcesResponse.resources:type_name -> raystack.guardian.v1beta1.Resource + 89, // 24: raystack.guardian.v1beta1.GetResourceResponse.resource:type_name -> raystack.guardian.v1beta1.Resource + 89, // 25: raystack.guardian.v1beta1.UpdateResourceRequest.resource:type_name -> raystack.guardian.v1beta1.Resource + 89, // 26: raystack.guardian.v1beta1.UpdateResourceResponse.resource:type_name -> raystack.guardian.v1beta1.Resource + 87, // 27: raystack.guardian.v1beta1.ListUserAppealsResponse.appeals:type_name -> raystack.guardian.v1beta1.Appeal + 87, // 28: raystack.guardian.v1beta1.ListAppealsResponse.appeals:type_name -> raystack.guardian.v1beta1.Appeal + 87, // 29: raystack.guardian.v1beta1.GetAppealResponse.appeal:type_name -> raystack.guardian.v1beta1.Appeal + 87, // 30: raystack.guardian.v1beta1.CancelAppealResponse.appeal:type_name -> raystack.guardian.v1beta1.Appeal + 101, // 31: raystack.guardian.v1beta1.RevokeAppealRequest.reason:type_name -> raystack.guardian.v1beta1.RevokeAppealRequest.Reason + 87, // 32: raystack.guardian.v1beta1.RevokeAppealResponse.appeal:type_name -> raystack.guardian.v1beta1.Appeal + 87, // 33: raystack.guardian.v1beta1.RevokeAppealsResponse.appeals:type_name -> raystack.guardian.v1beta1.Appeal + 102, // 34: raystack.guardian.v1beta1.CreateAppealRequest.resources:type_name -> raystack.guardian.v1beta1.CreateAppealRequest.Resource + 87, // 35: raystack.guardian.v1beta1.CreateAppealResponse.appeals:type_name -> raystack.guardian.v1beta1.Appeal + 88, // 36: raystack.guardian.v1beta1.ListUserApprovalsResponse.approvals:type_name -> raystack.guardian.v1beta1.Approval + 88, // 37: raystack.guardian.v1beta1.ListApprovalsResponse.approvals:type_name -> raystack.guardian.v1beta1.Approval + 103, // 38: raystack.guardian.v1beta1.UpdateApprovalRequest.action:type_name -> raystack.guardian.v1beta1.UpdateApprovalRequest.Action + 87, // 39: raystack.guardian.v1beta1.UpdateApprovalResponse.appeal:type_name -> raystack.guardian.v1beta1.Appeal + 87, // 40: raystack.guardian.v1beta1.AddApproverResponse.appeal:type_name -> raystack.guardian.v1beta1.Appeal + 87, // 41: raystack.guardian.v1beta1.DeleteApproverResponse.appeal:type_name -> raystack.guardian.v1beta1.Appeal + 90, // 42: raystack.guardian.v1beta1.ListGrantsResponse.grants:type_name -> raystack.guardian.v1beta1.Grant + 90, // 43: raystack.guardian.v1beta1.ListUserGrantsResponse.grants:type_name -> raystack.guardian.v1beta1.Grant + 90, // 44: raystack.guardian.v1beta1.GetGrantResponse.grant:type_name -> raystack.guardian.v1beta1.Grant + 90, // 45: raystack.guardian.v1beta1.UpdateGrantResponse.grant:type_name -> raystack.guardian.v1beta1.Grant + 90, // 46: raystack.guardian.v1beta1.RevokeGrantResponse.grant:type_name -> raystack.guardian.v1beta1.Grant + 90, // 47: raystack.guardian.v1beta1.RevokeGrantsResponse.grants:type_name -> raystack.guardian.v1beta1.Grant + 122, // 48: raystack.guardian.v1beta1.Role.permissions:type_name -> google.protobuf.Value + 104, // 49: raystack.guardian.v1beta1.ProviderConfig.labels:type_name -> raystack.guardian.v1beta1.ProviderConfig.LabelsEntry + 122, // 50: raystack.guardian.v1beta1.ProviderConfig.credentials:type_name -> google.protobuf.Value + 105, // 51: raystack.guardian.v1beta1.ProviderConfig.appeal:type_name -> raystack.guardian.v1beta1.ProviderConfig.AppealConfig + 106, // 52: raystack.guardian.v1beta1.ProviderConfig.resources:type_name -> raystack.guardian.v1beta1.ProviderConfig.ResourceConfig + 107, // 53: raystack.guardian.v1beta1.ProviderConfig.parameters:type_name -> raystack.guardian.v1beta1.ProviderConfig.ProviderParameter + 80, // 54: raystack.guardian.v1beta1.Provider.config:type_name -> raystack.guardian.v1beta1.ProviderConfig + 121, // 55: raystack.guardian.v1beta1.Provider.created_at:type_name -> google.protobuf.Timestamp + 121, // 56: raystack.guardian.v1beta1.Provider.updated_at:type_name -> google.protobuf.Timestamp + 108, // 57: raystack.guardian.v1beta1.Condition.match:type_name -> raystack.guardian.v1beta1.Condition.MatchCondition + 109, // 58: raystack.guardian.v1beta1.PolicyAppealConfig.duration_options:type_name -> raystack.guardian.v1beta1.PolicyAppealConfig.DurationOptions + 110, // 59: raystack.guardian.v1beta1.PolicyAppealConfig.questions:type_name -> raystack.guardian.v1beta1.PolicyAppealConfig.Question + 111, // 60: raystack.guardian.v1beta1.Policy.steps:type_name -> raystack.guardian.v1beta1.Policy.ApprovalStep + 112, // 61: raystack.guardian.v1beta1.Policy.labels:type_name -> raystack.guardian.v1beta1.Policy.LabelsEntry + 121, // 62: raystack.guardian.v1beta1.Policy.created_at:type_name -> google.protobuf.Timestamp + 121, // 63: raystack.guardian.v1beta1.Policy.updated_at:type_name -> google.protobuf.Timestamp + 113, // 64: raystack.guardian.v1beta1.Policy.requirements:type_name -> raystack.guardian.v1beta1.Policy.Requirement + 114, // 65: raystack.guardian.v1beta1.Policy.iam:type_name -> raystack.guardian.v1beta1.Policy.IAM + 84, // 66: raystack.guardian.v1beta1.Policy.appeal:type_name -> raystack.guardian.v1beta1.PolicyAppealConfig + 121, // 67: raystack.guardian.v1beta1.AppealOptions.expiration_date:type_name -> google.protobuf.Timestamp + 86, // 68: raystack.guardian.v1beta1.Appeal.options:type_name -> raystack.guardian.v1beta1.AppealOptions + 119, // 69: raystack.guardian.v1beta1.Appeal.labels:type_name -> raystack.guardian.v1beta1.Appeal.LabelsEntry + 89, // 70: raystack.guardian.v1beta1.Appeal.resource:type_name -> raystack.guardian.v1beta1.Resource + 88, // 71: raystack.guardian.v1beta1.Appeal.approvals:type_name -> raystack.guardian.v1beta1.Approval + 121, // 72: raystack.guardian.v1beta1.Appeal.created_at:type_name -> google.protobuf.Timestamp + 121, // 73: raystack.guardian.v1beta1.Appeal.updated_at:type_name -> google.protobuf.Timestamp + 123, // 74: raystack.guardian.v1beta1.Appeal.details:type_name -> google.protobuf.Struct + 122, // 75: raystack.guardian.v1beta1.Appeal.creator:type_name -> google.protobuf.Value + 90, // 76: raystack.guardian.v1beta1.Appeal.grant:type_name -> raystack.guardian.v1beta1.Grant + 87, // 77: raystack.guardian.v1beta1.Approval.appeal:type_name -> raystack.guardian.v1beta1.Appeal + 121, // 78: raystack.guardian.v1beta1.Approval.created_at:type_name -> google.protobuf.Timestamp + 121, // 79: raystack.guardian.v1beta1.Approval.updated_at:type_name -> google.protobuf.Timestamp + 123, // 80: raystack.guardian.v1beta1.Resource.details:type_name -> google.protobuf.Struct + 120, // 81: raystack.guardian.v1beta1.Resource.labels:type_name -> raystack.guardian.v1beta1.Resource.LabelsEntry + 121, // 82: raystack.guardian.v1beta1.Resource.created_at:type_name -> google.protobuf.Timestamp + 121, // 83: raystack.guardian.v1beta1.Resource.updated_at:type_name -> google.protobuf.Timestamp + 89, // 84: raystack.guardian.v1beta1.Resource.children:type_name -> raystack.guardian.v1beta1.Resource + 121, // 85: raystack.guardian.v1beta1.Grant.expiration_date:type_name -> google.protobuf.Timestamp + 121, // 86: raystack.guardian.v1beta1.Grant.revoked_at:type_name -> google.protobuf.Timestamp + 121, // 87: raystack.guardian.v1beta1.Grant.created_at:type_name -> google.protobuf.Timestamp + 121, // 88: raystack.guardian.v1beta1.Grant.updated_at:type_name -> google.protobuf.Timestamp + 89, // 89: raystack.guardian.v1beta1.Grant.resource:type_name -> raystack.guardian.v1beta1.Resource + 87, // 90: raystack.guardian.v1beta1.Grant.appeal:type_name -> raystack.guardian.v1beta1.Appeal + 121, // 91: raystack.guardian.v1beta1.ProviderActivity.timestamp:type_name -> google.protobuf.Timestamp + 123, // 92: raystack.guardian.v1beta1.ProviderActivity.metadata:type_name -> google.protobuf.Struct + 121, // 93: raystack.guardian.v1beta1.ProviderActivity.created_at:type_name -> google.protobuf.Timestamp + 81, // 94: raystack.guardian.v1beta1.ProviderActivity.provider:type_name -> raystack.guardian.v1beta1.Provider + 89, // 95: raystack.guardian.v1beta1.ProviderActivity.resource:type_name -> raystack.guardian.v1beta1.Resource + 123, // 96: raystack.guardian.v1beta1.Namespace.metadata:type_name -> google.protobuf.Struct + 121, // 97: raystack.guardian.v1beta1.Namespace.created_at:type_name -> google.protobuf.Timestamp + 121, // 98: raystack.guardian.v1beta1.Namespace.updated_at:type_name -> google.protobuf.Timestamp + 92, // 99: raystack.guardian.v1beta1.CreateNamespaceRequest.namespace:type_name -> raystack.guardian.v1beta1.Namespace + 92, // 100: raystack.guardian.v1beta1.GetNamespaceResponse.namespace:type_name -> raystack.guardian.v1beta1.Namespace + 92, // 101: raystack.guardian.v1beta1.ListNamespacesResponse.namespaces:type_name -> raystack.guardian.v1beta1.Namespace + 92, // 102: raystack.guardian.v1beta1.UpdateNamespaceRequest.namespace:type_name -> raystack.guardian.v1beta1.Namespace + 123, // 103: raystack.guardian.v1beta1.CreateAppealRequest.Resource.options:type_name -> google.protobuf.Struct + 123, // 104: raystack.guardian.v1beta1.CreateAppealRequest.Resource.details:type_name -> google.protobuf.Struct + 79, // 105: raystack.guardian.v1beta1.ProviderConfig.ResourceConfig.policy:type_name -> raystack.guardian.v1beta1.PolicyConfig + 78, // 106: raystack.guardian.v1beta1.ProviderConfig.ResourceConfig.roles:type_name -> raystack.guardian.v1beta1.Role + 122, // 107: raystack.guardian.v1beta1.Condition.MatchCondition.eq:type_name -> google.protobuf.Value + 115, // 108: raystack.guardian.v1beta1.Policy.Requirement.on:type_name -> raystack.guardian.v1beta1.Policy.Requirement.RequirementTrigger + 116, // 109: raystack.guardian.v1beta1.Policy.Requirement.appeals:type_name -> raystack.guardian.v1beta1.Policy.Requirement.AdditionalAppeal + 122, // 110: raystack.guardian.v1beta1.Policy.IAM.config:type_name -> google.protobuf.Value + 118, // 111: raystack.guardian.v1beta1.Policy.IAM.schema:type_name -> raystack.guardian.v1beta1.Policy.IAM.SchemaEntry + 83, // 112: raystack.guardian.v1beta1.Policy.Requirement.RequirementTrigger.conditions:type_name -> raystack.guardian.v1beta1.Condition + 117, // 113: raystack.guardian.v1beta1.Policy.Requirement.AdditionalAppeal.resource:type_name -> raystack.guardian.v1beta1.Policy.Requirement.AdditionalAppeal.ResourceIdentifier + 86, // 114: raystack.guardian.v1beta1.Policy.Requirement.AdditionalAppeal.options:type_name -> raystack.guardian.v1beta1.AppealOptions + 79, // 115: raystack.guardian.v1beta1.Policy.Requirement.AdditionalAppeal.policy:type_name -> raystack.guardian.v1beta1.PolicyConfig 0, // 116: raystack.guardian.v1beta1.GuardianService.ListProviders:input_type -> raystack.guardian.v1beta1.ListProvidersRequest 2, // 117: raystack.guardian.v1beta1.GuardianService.GetProvider:input_type -> raystack.guardian.v1beta1.GetProviderRequest 4, // 118: raystack.guardian.v1beta1.GuardianService.GetProviderTypes:input_type -> raystack.guardian.v1beta1.GetProviderTypesRequest - 6, // 119: raystack.guardian.v1beta1.GuardianService.CreateProvider:input_type -> raystack.guardian.v1beta1.CreateProviderRequest - 8, // 120: raystack.guardian.v1beta1.GuardianService.UpdateProvider:input_type -> raystack.guardian.v1beta1.UpdateProviderRequest - 10, // 121: raystack.guardian.v1beta1.GuardianService.DeleteProvider:input_type -> raystack.guardian.v1beta1.DeleteProviderRequest - 14, // 122: raystack.guardian.v1beta1.GuardianService.ListRoles:input_type -> raystack.guardian.v1beta1.ListRolesRequest - 16, // 123: raystack.guardian.v1beta1.GuardianService.ImportActivities:input_type -> raystack.guardian.v1beta1.ImportActivitiesRequest - 18, // 124: raystack.guardian.v1beta1.GuardianService.GetActivity:input_type -> raystack.guardian.v1beta1.GetActivityRequest - 20, // 125: raystack.guardian.v1beta1.GuardianService.ListActivities:input_type -> raystack.guardian.v1beta1.ListActivitiesRequest - 22, // 126: raystack.guardian.v1beta1.GuardianService.ListPolicies:input_type -> raystack.guardian.v1beta1.ListPoliciesRequest - 24, // 127: raystack.guardian.v1beta1.GuardianService.GetPolicy:input_type -> raystack.guardian.v1beta1.GetPolicyRequest - 28, // 128: raystack.guardian.v1beta1.GuardianService.CreatePolicy:input_type -> raystack.guardian.v1beta1.CreatePolicyRequest - 30, // 129: raystack.guardian.v1beta1.GuardianService.UpdatePolicy:input_type -> raystack.guardian.v1beta1.UpdatePolicyRequest - 25, // 130: raystack.guardian.v1beta1.GuardianService.GetPolicyPreferences:input_type -> raystack.guardian.v1beta1.GetPolicyPreferencesRequest - 32, // 131: raystack.guardian.v1beta1.GuardianService.ListResources:input_type -> raystack.guardian.v1beta1.ListResourcesRequest - 34, // 132: raystack.guardian.v1beta1.GuardianService.GetResource:input_type -> raystack.guardian.v1beta1.GetResourceRequest - 36, // 133: raystack.guardian.v1beta1.GuardianService.UpdateResource:input_type -> raystack.guardian.v1beta1.UpdateResourceRequest - 38, // 134: raystack.guardian.v1beta1.GuardianService.DeleteResource:input_type -> raystack.guardian.v1beta1.DeleteResourceRequest - 40, // 135: raystack.guardian.v1beta1.GuardianService.ListUserAppeals:input_type -> raystack.guardian.v1beta1.ListUserAppealsRequest - 42, // 136: raystack.guardian.v1beta1.GuardianService.ListAppeals:input_type -> raystack.guardian.v1beta1.ListAppealsRequest - 44, // 137: raystack.guardian.v1beta1.GuardianService.GetAppeal:input_type -> raystack.guardian.v1beta1.GetAppealRequest - 46, // 138: raystack.guardian.v1beta1.GuardianService.CancelAppeal:input_type -> raystack.guardian.v1beta1.CancelAppealRequest - 52, // 139: raystack.guardian.v1beta1.GuardianService.CreateAppeal:input_type -> raystack.guardian.v1beta1.CreateAppealRequest - 54, // 140: raystack.guardian.v1beta1.GuardianService.ListUserApprovals:input_type -> raystack.guardian.v1beta1.ListUserApprovalsRequest - 56, // 141: raystack.guardian.v1beta1.GuardianService.ListApprovals:input_type -> raystack.guardian.v1beta1.ListApprovalsRequest - 58, // 142: raystack.guardian.v1beta1.GuardianService.UpdateApproval:input_type -> raystack.guardian.v1beta1.UpdateApprovalRequest - 60, // 143: raystack.guardian.v1beta1.GuardianService.AddApprover:input_type -> raystack.guardian.v1beta1.AddApproverRequest - 62, // 144: raystack.guardian.v1beta1.GuardianService.DeleteApprover:input_type -> raystack.guardian.v1beta1.DeleteApproverRequest - 64, // 145: raystack.guardian.v1beta1.GuardianService.ListGrants:input_type -> raystack.guardian.v1beta1.ListGrantsRequest - 66, // 146: raystack.guardian.v1beta1.GuardianService.ListUserGrants:input_type -> raystack.guardian.v1beta1.ListUserGrantsRequest - 68, // 147: raystack.guardian.v1beta1.GuardianService.GetGrant:input_type -> raystack.guardian.v1beta1.GetGrantRequest - 70, // 148: raystack.guardian.v1beta1.GuardianService.UpdateGrant:input_type -> raystack.guardian.v1beta1.UpdateGrantRequest - 72, // 149: raystack.guardian.v1beta1.GuardianService.RevokeGrant:input_type -> raystack.guardian.v1beta1.RevokeGrantRequest - 74, // 150: raystack.guardian.v1beta1.GuardianService.RevokeGrants:input_type -> raystack.guardian.v1beta1.RevokeGrantsRequest - 12, // 151: raystack.guardian.v1beta1.GuardianService.ImportGrantsFromProvider:input_type -> raystack.guardian.v1beta1.ImportGrantsFromProviderRequest - 91, // 152: raystack.guardian.v1beta1.GuardianService.CreateNamespace:input_type -> raystack.guardian.v1beta1.CreateNamespaceRequest - 93, // 153: raystack.guardian.v1beta1.GuardianService.GetNamespace:input_type -> raystack.guardian.v1beta1.GetNamespaceRequest - 95, // 154: raystack.guardian.v1beta1.GuardianService.ListNamespaces:input_type -> raystack.guardian.v1beta1.ListNamespacesRequest - 97, // 155: raystack.guardian.v1beta1.GuardianService.UpdateNamespace:input_type -> raystack.guardian.v1beta1.UpdateNamespaceRequest - 1, // 156: raystack.guardian.v1beta1.GuardianService.ListProviders:output_type -> raystack.guardian.v1beta1.ListProvidersResponse - 3, // 157: raystack.guardian.v1beta1.GuardianService.GetProvider:output_type -> raystack.guardian.v1beta1.GetProviderResponse - 5, // 158: raystack.guardian.v1beta1.GuardianService.GetProviderTypes:output_type -> raystack.guardian.v1beta1.GetProviderTypesResponse - 7, // 159: raystack.guardian.v1beta1.GuardianService.CreateProvider:output_type -> raystack.guardian.v1beta1.CreateProviderResponse - 9, // 160: raystack.guardian.v1beta1.GuardianService.UpdateProvider:output_type -> raystack.guardian.v1beta1.UpdateProviderResponse - 11, // 161: raystack.guardian.v1beta1.GuardianService.DeleteProvider:output_type -> raystack.guardian.v1beta1.DeleteProviderResponse - 15, // 162: raystack.guardian.v1beta1.GuardianService.ListRoles:output_type -> raystack.guardian.v1beta1.ListRolesResponse - 17, // 163: raystack.guardian.v1beta1.GuardianService.ImportActivities:output_type -> raystack.guardian.v1beta1.ImportActivitiesResponse - 19, // 164: raystack.guardian.v1beta1.GuardianService.GetActivity:output_type -> raystack.guardian.v1beta1.GetActivityResponse - 21, // 165: raystack.guardian.v1beta1.GuardianService.ListActivities:output_type -> raystack.guardian.v1beta1.ListActivitiesResponse - 23, // 166: raystack.guardian.v1beta1.GuardianService.ListPolicies:output_type -> raystack.guardian.v1beta1.ListPoliciesResponse - 27, // 167: raystack.guardian.v1beta1.GuardianService.GetPolicy:output_type -> raystack.guardian.v1beta1.GetPolicyResponse - 29, // 168: raystack.guardian.v1beta1.GuardianService.CreatePolicy:output_type -> raystack.guardian.v1beta1.CreatePolicyResponse - 31, // 169: raystack.guardian.v1beta1.GuardianService.UpdatePolicy:output_type -> raystack.guardian.v1beta1.UpdatePolicyResponse - 26, // 170: raystack.guardian.v1beta1.GuardianService.GetPolicyPreferences:output_type -> raystack.guardian.v1beta1.GetPolicyPreferencesResponse - 33, // 171: raystack.guardian.v1beta1.GuardianService.ListResources:output_type -> raystack.guardian.v1beta1.ListResourcesResponse - 35, // 172: raystack.guardian.v1beta1.GuardianService.GetResource:output_type -> raystack.guardian.v1beta1.GetResourceResponse - 37, // 173: raystack.guardian.v1beta1.GuardianService.UpdateResource:output_type -> raystack.guardian.v1beta1.UpdateResourceResponse - 39, // 174: raystack.guardian.v1beta1.GuardianService.DeleteResource:output_type -> raystack.guardian.v1beta1.DeleteResourceResponse - 41, // 175: raystack.guardian.v1beta1.GuardianService.ListUserAppeals:output_type -> raystack.guardian.v1beta1.ListUserAppealsResponse - 43, // 176: raystack.guardian.v1beta1.GuardianService.ListAppeals:output_type -> raystack.guardian.v1beta1.ListAppealsResponse - 45, // 177: raystack.guardian.v1beta1.GuardianService.GetAppeal:output_type -> raystack.guardian.v1beta1.GetAppealResponse - 47, // 178: raystack.guardian.v1beta1.GuardianService.CancelAppeal:output_type -> raystack.guardian.v1beta1.CancelAppealResponse - 53, // 179: raystack.guardian.v1beta1.GuardianService.CreateAppeal:output_type -> raystack.guardian.v1beta1.CreateAppealResponse - 55, // 180: raystack.guardian.v1beta1.GuardianService.ListUserApprovals:output_type -> raystack.guardian.v1beta1.ListUserApprovalsResponse - 57, // 181: raystack.guardian.v1beta1.GuardianService.ListApprovals:output_type -> raystack.guardian.v1beta1.ListApprovalsResponse - 59, // 182: raystack.guardian.v1beta1.GuardianService.UpdateApproval:output_type -> raystack.guardian.v1beta1.UpdateApprovalResponse - 61, // 183: raystack.guardian.v1beta1.GuardianService.AddApprover:output_type -> raystack.guardian.v1beta1.AddApproverResponse - 63, // 184: raystack.guardian.v1beta1.GuardianService.DeleteApprover:output_type -> raystack.guardian.v1beta1.DeleteApproverResponse - 65, // 185: raystack.guardian.v1beta1.GuardianService.ListGrants:output_type -> raystack.guardian.v1beta1.ListGrantsResponse - 67, // 186: raystack.guardian.v1beta1.GuardianService.ListUserGrants:output_type -> raystack.guardian.v1beta1.ListUserGrantsResponse - 69, // 187: raystack.guardian.v1beta1.GuardianService.GetGrant:output_type -> raystack.guardian.v1beta1.GetGrantResponse - 71, // 188: raystack.guardian.v1beta1.GuardianService.UpdateGrant:output_type -> raystack.guardian.v1beta1.UpdateGrantResponse - 73, // 189: raystack.guardian.v1beta1.GuardianService.RevokeGrant:output_type -> raystack.guardian.v1beta1.RevokeGrantResponse - 75, // 190: raystack.guardian.v1beta1.GuardianService.RevokeGrants:output_type -> raystack.guardian.v1beta1.RevokeGrantsResponse - 13, // 191: raystack.guardian.v1beta1.GuardianService.ImportGrantsFromProvider:output_type -> raystack.guardian.v1beta1.ImportGrantsFromProviderResponse - 92, // 192: raystack.guardian.v1beta1.GuardianService.CreateNamespace:output_type -> raystack.guardian.v1beta1.CreateNamespaceResponse - 94, // 193: raystack.guardian.v1beta1.GuardianService.GetNamespace:output_type -> raystack.guardian.v1beta1.GetNamespaceResponse - 96, // 194: raystack.guardian.v1beta1.GuardianService.ListNamespaces:output_type -> raystack.guardian.v1beta1.ListNamespacesResponse - 98, // 195: raystack.guardian.v1beta1.GuardianService.UpdateNamespace:output_type -> raystack.guardian.v1beta1.UpdateNamespaceResponse - 156, // [156:196] is the sub-list for method output_type - 116, // [116:156] is the sub-list for method input_type + 6, // 119: raystack.guardian.v1beta1.GuardianService.GetProviderRoles:input_type -> raystack.guardian.v1beta1.GetProviderRolesRequest + 8, // 120: raystack.guardian.v1beta1.GuardianService.CreateProvider:input_type -> raystack.guardian.v1beta1.CreateProviderRequest + 10, // 121: raystack.guardian.v1beta1.GuardianService.UpdateProvider:input_type -> raystack.guardian.v1beta1.UpdateProviderRequest + 12, // 122: raystack.guardian.v1beta1.GuardianService.DeleteProvider:input_type -> raystack.guardian.v1beta1.DeleteProviderRequest + 16, // 123: raystack.guardian.v1beta1.GuardianService.ListRoles:input_type -> raystack.guardian.v1beta1.ListRolesRequest + 18, // 124: raystack.guardian.v1beta1.GuardianService.ImportActivities:input_type -> raystack.guardian.v1beta1.ImportActivitiesRequest + 20, // 125: raystack.guardian.v1beta1.GuardianService.GetActivity:input_type -> raystack.guardian.v1beta1.GetActivityRequest + 22, // 126: raystack.guardian.v1beta1.GuardianService.ListActivities:input_type -> raystack.guardian.v1beta1.ListActivitiesRequest + 24, // 127: raystack.guardian.v1beta1.GuardianService.ListPolicies:input_type -> raystack.guardian.v1beta1.ListPoliciesRequest + 26, // 128: raystack.guardian.v1beta1.GuardianService.GetPolicy:input_type -> raystack.guardian.v1beta1.GetPolicyRequest + 30, // 129: raystack.guardian.v1beta1.GuardianService.CreatePolicy:input_type -> raystack.guardian.v1beta1.CreatePolicyRequest + 32, // 130: raystack.guardian.v1beta1.GuardianService.UpdatePolicy:input_type -> raystack.guardian.v1beta1.UpdatePolicyRequest + 27, // 131: raystack.guardian.v1beta1.GuardianService.GetPolicyPreferences:input_type -> raystack.guardian.v1beta1.GetPolicyPreferencesRequest + 34, // 132: raystack.guardian.v1beta1.GuardianService.ListResources:input_type -> raystack.guardian.v1beta1.ListResourcesRequest + 36, // 133: raystack.guardian.v1beta1.GuardianService.GetResource:input_type -> raystack.guardian.v1beta1.GetResourceRequest + 38, // 134: raystack.guardian.v1beta1.GuardianService.UpdateResource:input_type -> raystack.guardian.v1beta1.UpdateResourceRequest + 40, // 135: raystack.guardian.v1beta1.GuardianService.DeleteResource:input_type -> raystack.guardian.v1beta1.DeleteResourceRequest + 42, // 136: raystack.guardian.v1beta1.GuardianService.ListUserAppeals:input_type -> raystack.guardian.v1beta1.ListUserAppealsRequest + 44, // 137: raystack.guardian.v1beta1.GuardianService.ListAppeals:input_type -> raystack.guardian.v1beta1.ListAppealsRequest + 46, // 138: raystack.guardian.v1beta1.GuardianService.GetAppeal:input_type -> raystack.guardian.v1beta1.GetAppealRequest + 48, // 139: raystack.guardian.v1beta1.GuardianService.CancelAppeal:input_type -> raystack.guardian.v1beta1.CancelAppealRequest + 54, // 140: raystack.guardian.v1beta1.GuardianService.CreateAppeal:input_type -> raystack.guardian.v1beta1.CreateAppealRequest + 56, // 141: raystack.guardian.v1beta1.GuardianService.ListUserApprovals:input_type -> raystack.guardian.v1beta1.ListUserApprovalsRequest + 58, // 142: raystack.guardian.v1beta1.GuardianService.ListApprovals:input_type -> raystack.guardian.v1beta1.ListApprovalsRequest + 60, // 143: raystack.guardian.v1beta1.GuardianService.UpdateApproval:input_type -> raystack.guardian.v1beta1.UpdateApprovalRequest + 62, // 144: raystack.guardian.v1beta1.GuardianService.AddApprover:input_type -> raystack.guardian.v1beta1.AddApproverRequest + 64, // 145: raystack.guardian.v1beta1.GuardianService.DeleteApprover:input_type -> raystack.guardian.v1beta1.DeleteApproverRequest + 66, // 146: raystack.guardian.v1beta1.GuardianService.ListGrants:input_type -> raystack.guardian.v1beta1.ListGrantsRequest + 68, // 147: raystack.guardian.v1beta1.GuardianService.ListUserGrants:input_type -> raystack.guardian.v1beta1.ListUserGrantsRequest + 70, // 148: raystack.guardian.v1beta1.GuardianService.GetGrant:input_type -> raystack.guardian.v1beta1.GetGrantRequest + 72, // 149: raystack.guardian.v1beta1.GuardianService.UpdateGrant:input_type -> raystack.guardian.v1beta1.UpdateGrantRequest + 74, // 150: raystack.guardian.v1beta1.GuardianService.RevokeGrant:input_type -> raystack.guardian.v1beta1.RevokeGrantRequest + 76, // 151: raystack.guardian.v1beta1.GuardianService.RevokeGrants:input_type -> raystack.guardian.v1beta1.RevokeGrantsRequest + 14, // 152: raystack.guardian.v1beta1.GuardianService.ImportGrantsFromProvider:input_type -> raystack.guardian.v1beta1.ImportGrantsFromProviderRequest + 93, // 153: raystack.guardian.v1beta1.GuardianService.CreateNamespace:input_type -> raystack.guardian.v1beta1.CreateNamespaceRequest + 95, // 154: raystack.guardian.v1beta1.GuardianService.GetNamespace:input_type -> raystack.guardian.v1beta1.GetNamespaceRequest + 97, // 155: raystack.guardian.v1beta1.GuardianService.ListNamespaces:input_type -> raystack.guardian.v1beta1.ListNamespacesRequest + 99, // 156: raystack.guardian.v1beta1.GuardianService.UpdateNamespace:input_type -> raystack.guardian.v1beta1.UpdateNamespaceRequest + 1, // 157: raystack.guardian.v1beta1.GuardianService.ListProviders:output_type -> raystack.guardian.v1beta1.ListProvidersResponse + 3, // 158: raystack.guardian.v1beta1.GuardianService.GetProvider:output_type -> raystack.guardian.v1beta1.GetProviderResponse + 5, // 159: raystack.guardian.v1beta1.GuardianService.GetProviderTypes:output_type -> raystack.guardian.v1beta1.GetProviderTypesResponse + 7, // 160: raystack.guardian.v1beta1.GuardianService.GetProviderRoles:output_type -> raystack.guardian.v1beta1.GetProviderRolesResponse + 9, // 161: raystack.guardian.v1beta1.GuardianService.CreateProvider:output_type -> raystack.guardian.v1beta1.CreateProviderResponse + 11, // 162: raystack.guardian.v1beta1.GuardianService.UpdateProvider:output_type -> raystack.guardian.v1beta1.UpdateProviderResponse + 13, // 163: raystack.guardian.v1beta1.GuardianService.DeleteProvider:output_type -> raystack.guardian.v1beta1.DeleteProviderResponse + 17, // 164: raystack.guardian.v1beta1.GuardianService.ListRoles:output_type -> raystack.guardian.v1beta1.ListRolesResponse + 19, // 165: raystack.guardian.v1beta1.GuardianService.ImportActivities:output_type -> raystack.guardian.v1beta1.ImportActivitiesResponse + 21, // 166: raystack.guardian.v1beta1.GuardianService.GetActivity:output_type -> raystack.guardian.v1beta1.GetActivityResponse + 23, // 167: raystack.guardian.v1beta1.GuardianService.ListActivities:output_type -> raystack.guardian.v1beta1.ListActivitiesResponse + 25, // 168: raystack.guardian.v1beta1.GuardianService.ListPolicies:output_type -> raystack.guardian.v1beta1.ListPoliciesResponse + 29, // 169: raystack.guardian.v1beta1.GuardianService.GetPolicy:output_type -> raystack.guardian.v1beta1.GetPolicyResponse + 31, // 170: raystack.guardian.v1beta1.GuardianService.CreatePolicy:output_type -> raystack.guardian.v1beta1.CreatePolicyResponse + 33, // 171: raystack.guardian.v1beta1.GuardianService.UpdatePolicy:output_type -> raystack.guardian.v1beta1.UpdatePolicyResponse + 28, // 172: raystack.guardian.v1beta1.GuardianService.GetPolicyPreferences:output_type -> raystack.guardian.v1beta1.GetPolicyPreferencesResponse + 35, // 173: raystack.guardian.v1beta1.GuardianService.ListResources:output_type -> raystack.guardian.v1beta1.ListResourcesResponse + 37, // 174: raystack.guardian.v1beta1.GuardianService.GetResource:output_type -> raystack.guardian.v1beta1.GetResourceResponse + 39, // 175: raystack.guardian.v1beta1.GuardianService.UpdateResource:output_type -> raystack.guardian.v1beta1.UpdateResourceResponse + 41, // 176: raystack.guardian.v1beta1.GuardianService.DeleteResource:output_type -> raystack.guardian.v1beta1.DeleteResourceResponse + 43, // 177: raystack.guardian.v1beta1.GuardianService.ListUserAppeals:output_type -> raystack.guardian.v1beta1.ListUserAppealsResponse + 45, // 178: raystack.guardian.v1beta1.GuardianService.ListAppeals:output_type -> raystack.guardian.v1beta1.ListAppealsResponse + 47, // 179: raystack.guardian.v1beta1.GuardianService.GetAppeal:output_type -> raystack.guardian.v1beta1.GetAppealResponse + 49, // 180: raystack.guardian.v1beta1.GuardianService.CancelAppeal:output_type -> raystack.guardian.v1beta1.CancelAppealResponse + 55, // 181: raystack.guardian.v1beta1.GuardianService.CreateAppeal:output_type -> raystack.guardian.v1beta1.CreateAppealResponse + 57, // 182: raystack.guardian.v1beta1.GuardianService.ListUserApprovals:output_type -> raystack.guardian.v1beta1.ListUserApprovalsResponse + 59, // 183: raystack.guardian.v1beta1.GuardianService.ListApprovals:output_type -> raystack.guardian.v1beta1.ListApprovalsResponse + 61, // 184: raystack.guardian.v1beta1.GuardianService.UpdateApproval:output_type -> raystack.guardian.v1beta1.UpdateApprovalResponse + 63, // 185: raystack.guardian.v1beta1.GuardianService.AddApprover:output_type -> raystack.guardian.v1beta1.AddApproverResponse + 65, // 186: raystack.guardian.v1beta1.GuardianService.DeleteApprover:output_type -> raystack.guardian.v1beta1.DeleteApproverResponse + 67, // 187: raystack.guardian.v1beta1.GuardianService.ListGrants:output_type -> raystack.guardian.v1beta1.ListGrantsResponse + 69, // 188: raystack.guardian.v1beta1.GuardianService.ListUserGrants:output_type -> raystack.guardian.v1beta1.ListUserGrantsResponse + 71, // 189: raystack.guardian.v1beta1.GuardianService.GetGrant:output_type -> raystack.guardian.v1beta1.GetGrantResponse + 73, // 190: raystack.guardian.v1beta1.GuardianService.UpdateGrant:output_type -> raystack.guardian.v1beta1.UpdateGrantResponse + 75, // 191: raystack.guardian.v1beta1.GuardianService.RevokeGrant:output_type -> raystack.guardian.v1beta1.RevokeGrantResponse + 77, // 192: raystack.guardian.v1beta1.GuardianService.RevokeGrants:output_type -> raystack.guardian.v1beta1.RevokeGrantsResponse + 15, // 193: raystack.guardian.v1beta1.GuardianService.ImportGrantsFromProvider:output_type -> raystack.guardian.v1beta1.ImportGrantsFromProviderResponse + 94, // 194: raystack.guardian.v1beta1.GuardianService.CreateNamespace:output_type -> raystack.guardian.v1beta1.CreateNamespaceResponse + 96, // 195: raystack.guardian.v1beta1.GuardianService.GetNamespace:output_type -> raystack.guardian.v1beta1.GetNamespaceResponse + 98, // 196: raystack.guardian.v1beta1.GuardianService.ListNamespaces:output_type -> raystack.guardian.v1beta1.ListNamespacesResponse + 100, // 197: raystack.guardian.v1beta1.GuardianService.UpdateNamespace:output_type -> raystack.guardian.v1beta1.UpdateNamespaceResponse + 157, // [157:198] is the sub-list for method output_type + 116, // [116:157] is the sub-list for method input_type 116, // [116:116] is the sub-list for extension type_name 116, // [116:116] is the sub-list for extension extendee 0, // [0:116] is the sub-list for field type_name @@ -10109,7 +10251,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateProviderRequest); i { + switch v := v.(*GetProviderRolesRequest); i { case 0: return &v.state case 1: @@ -10121,7 +10263,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateProviderResponse); i { + switch v := v.(*GetProviderRolesResponse); i { case 0: return &v.state case 1: @@ -10133,7 +10275,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateProviderRequest); i { + switch v := v.(*CreateProviderRequest); i { case 0: return &v.state case 1: @@ -10145,7 +10287,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateProviderResponse); i { + switch v := v.(*CreateProviderResponse); i { case 0: return &v.state case 1: @@ -10157,7 +10299,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteProviderRequest); i { + switch v := v.(*UpdateProviderRequest); i { case 0: return &v.state case 1: @@ -10169,7 +10311,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteProviderResponse); i { + switch v := v.(*UpdateProviderResponse); i { case 0: return &v.state case 1: @@ -10181,7 +10323,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ImportGrantsFromProviderRequest); i { + switch v := v.(*DeleteProviderRequest); i { case 0: return &v.state case 1: @@ -10193,7 +10335,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ImportGrantsFromProviderResponse); i { + switch v := v.(*DeleteProviderResponse); i { case 0: return &v.state case 1: @@ -10205,7 +10347,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListRolesRequest); i { + switch v := v.(*ImportGrantsFromProviderRequest); i { case 0: return &v.state case 1: @@ -10217,7 +10359,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListRolesResponse); i { + switch v := v.(*ImportGrantsFromProviderResponse); i { case 0: return &v.state case 1: @@ -10229,7 +10371,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ImportActivitiesRequest); i { + switch v := v.(*ListRolesRequest); i { case 0: return &v.state case 1: @@ -10241,7 +10383,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ImportActivitiesResponse); i { + switch v := v.(*ListRolesResponse); i { case 0: return &v.state case 1: @@ -10253,7 +10395,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetActivityRequest); i { + switch v := v.(*ImportActivitiesRequest); i { case 0: return &v.state case 1: @@ -10265,7 +10407,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetActivityResponse); i { + switch v := v.(*ImportActivitiesResponse); i { case 0: return &v.state case 1: @@ -10277,7 +10419,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListActivitiesRequest); i { + switch v := v.(*GetActivityRequest); i { case 0: return &v.state case 1: @@ -10289,7 +10431,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListActivitiesResponse); i { + switch v := v.(*GetActivityResponse); i { case 0: return &v.state case 1: @@ -10301,7 +10443,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPoliciesRequest); i { + switch v := v.(*ListActivitiesRequest); i { case 0: return &v.state case 1: @@ -10313,7 +10455,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPoliciesResponse); i { + switch v := v.(*ListActivitiesResponse); i { case 0: return &v.state case 1: @@ -10325,7 +10467,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPolicyRequest); i { + switch v := v.(*ListPoliciesRequest); i { case 0: return &v.state case 1: @@ -10337,7 +10479,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPolicyPreferencesRequest); i { + switch v := v.(*ListPoliciesResponse); i { case 0: return &v.state case 1: @@ -10349,7 +10491,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPolicyPreferencesResponse); i { + switch v := v.(*GetPolicyRequest); i { case 0: return &v.state case 1: @@ -10361,7 +10503,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPolicyResponse); i { + switch v := v.(*GetPolicyPreferencesRequest); i { case 0: return &v.state case 1: @@ -10373,7 +10515,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreatePolicyRequest); i { + switch v := v.(*GetPolicyPreferencesResponse); i { case 0: return &v.state case 1: @@ -10385,7 +10527,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreatePolicyResponse); i { + switch v := v.(*GetPolicyResponse); i { case 0: return &v.state case 1: @@ -10397,7 +10539,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdatePolicyRequest); i { + switch v := v.(*CreatePolicyRequest); i { case 0: return &v.state case 1: @@ -10409,7 +10551,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdatePolicyResponse); i { + switch v := v.(*CreatePolicyResponse); i { case 0: return &v.state case 1: @@ -10421,7 +10563,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListResourcesRequest); i { + switch v := v.(*UpdatePolicyRequest); i { case 0: return &v.state case 1: @@ -10433,7 +10575,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListResourcesResponse); i { + switch v := v.(*UpdatePolicyResponse); i { case 0: return &v.state case 1: @@ -10445,7 +10587,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetResourceRequest); i { + switch v := v.(*ListResourcesRequest); i { case 0: return &v.state case 1: @@ -10457,7 +10599,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetResourceResponse); i { + switch v := v.(*ListResourcesResponse); i { case 0: return &v.state case 1: @@ -10469,7 +10611,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateResourceRequest); i { + switch v := v.(*GetResourceRequest); i { case 0: return &v.state case 1: @@ -10481,7 +10623,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateResourceResponse); i { + switch v := v.(*GetResourceResponse); i { case 0: return &v.state case 1: @@ -10493,7 +10635,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteResourceRequest); i { + switch v := v.(*UpdateResourceRequest); i { case 0: return &v.state case 1: @@ -10505,7 +10647,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteResourceResponse); i { + switch v := v.(*UpdateResourceResponse); i { case 0: return &v.state case 1: @@ -10517,7 +10659,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListUserAppealsRequest); i { + switch v := v.(*DeleteResourceRequest); i { case 0: return &v.state case 1: @@ -10529,7 +10671,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListUserAppealsResponse); i { + switch v := v.(*DeleteResourceResponse); i { case 0: return &v.state case 1: @@ -10541,7 +10683,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAppealsRequest); i { + switch v := v.(*ListUserAppealsRequest); i { case 0: return &v.state case 1: @@ -10553,7 +10695,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAppealsResponse); i { + switch v := v.(*ListUserAppealsResponse); i { case 0: return &v.state case 1: @@ -10565,7 +10707,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAppealRequest); i { + switch v := v.(*ListAppealsRequest); i { case 0: return &v.state case 1: @@ -10577,7 +10719,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAppealResponse); i { + switch v := v.(*ListAppealsResponse); i { case 0: return &v.state case 1: @@ -10589,7 +10731,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelAppealRequest); i { + switch v := v.(*GetAppealRequest); i { case 0: return &v.state case 1: @@ -10601,7 +10743,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelAppealResponse); i { + switch v := v.(*GetAppealResponse); i { case 0: return &v.state case 1: @@ -10613,7 +10755,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RevokeAppealRequest); i { + switch v := v.(*CancelAppealRequest); i { case 0: return &v.state case 1: @@ -10625,7 +10767,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RevokeAppealResponse); i { + switch v := v.(*CancelAppealResponse); i { case 0: return &v.state case 1: @@ -10637,7 +10779,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RevokeAppealsRequest); i { + switch v := v.(*RevokeAppealRequest); i { case 0: return &v.state case 1: @@ -10649,7 +10791,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RevokeAppealsResponse); i { + switch v := v.(*RevokeAppealResponse); i { case 0: return &v.state case 1: @@ -10661,7 +10803,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateAppealRequest); i { + switch v := v.(*RevokeAppealsRequest); i { case 0: return &v.state case 1: @@ -10673,7 +10815,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateAppealResponse); i { + switch v := v.(*RevokeAppealsResponse); i { case 0: return &v.state case 1: @@ -10685,7 +10827,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListUserApprovalsRequest); i { + switch v := v.(*CreateAppealRequest); i { case 0: return &v.state case 1: @@ -10697,7 +10839,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListUserApprovalsResponse); i { + switch v := v.(*CreateAppealResponse); i { case 0: return &v.state case 1: @@ -10709,7 +10851,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListApprovalsRequest); i { + switch v := v.(*ListUserApprovalsRequest); i { case 0: return &v.state case 1: @@ -10721,7 +10863,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListApprovalsResponse); i { + switch v := v.(*ListUserApprovalsResponse); i { case 0: return &v.state case 1: @@ -10733,7 +10875,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateApprovalRequest); i { + switch v := v.(*ListApprovalsRequest); i { case 0: return &v.state case 1: @@ -10745,7 +10887,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateApprovalResponse); i { + switch v := v.(*ListApprovalsResponse); i { case 0: return &v.state case 1: @@ -10757,7 +10899,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddApproverRequest); i { + switch v := v.(*UpdateApprovalRequest); i { case 0: return &v.state case 1: @@ -10769,7 +10911,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddApproverResponse); i { + switch v := v.(*UpdateApprovalResponse); i { case 0: return &v.state case 1: @@ -10781,7 +10923,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteApproverRequest); i { + switch v := v.(*AddApproverRequest); i { case 0: return &v.state case 1: @@ -10793,7 +10935,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteApproverResponse); i { + switch v := v.(*AddApproverResponse); i { case 0: return &v.state case 1: @@ -10805,7 +10947,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListGrantsRequest); i { + switch v := v.(*DeleteApproverRequest); i { case 0: return &v.state case 1: @@ -10817,7 +10959,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListGrantsResponse); i { + switch v := v.(*DeleteApproverResponse); i { case 0: return &v.state case 1: @@ -10829,7 +10971,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListUserGrantsRequest); i { + switch v := v.(*ListGrantsRequest); i { case 0: return &v.state case 1: @@ -10841,7 +10983,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListUserGrantsResponse); i { + switch v := v.(*ListGrantsResponse); i { case 0: return &v.state case 1: @@ -10853,7 +10995,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGrantRequest); i { + switch v := v.(*ListUserGrantsRequest); i { case 0: return &v.state case 1: @@ -10865,7 +11007,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGrantResponse); i { + switch v := v.(*ListUserGrantsResponse); i { case 0: return &v.state case 1: @@ -10877,7 +11019,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateGrantRequest); i { + switch v := v.(*GetGrantRequest); i { case 0: return &v.state case 1: @@ -10889,7 +11031,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateGrantResponse); i { + switch v := v.(*GetGrantResponse); i { case 0: return &v.state case 1: @@ -10901,7 +11043,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RevokeGrantRequest); i { + switch v := v.(*UpdateGrantRequest); i { case 0: return &v.state case 1: @@ -10913,7 +11055,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RevokeGrantResponse); i { + switch v := v.(*UpdateGrantResponse); i { case 0: return &v.state case 1: @@ -10925,7 +11067,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RevokeGrantsRequest); i { + switch v := v.(*RevokeGrantRequest); i { case 0: return &v.state case 1: @@ -10937,7 +11079,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RevokeGrantsResponse); i { + switch v := v.(*RevokeGrantResponse); i { case 0: return &v.state case 1: @@ -10949,7 +11091,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Role); i { + switch v := v.(*RevokeGrantsRequest); i { case 0: return &v.state case 1: @@ -10961,7 +11103,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PolicyConfig); i { + switch v := v.(*RevokeGrantsResponse); i { case 0: return &v.state case 1: @@ -10973,7 +11115,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProviderConfig); i { + switch v := v.(*Role); i { case 0: return &v.state case 1: @@ -10985,7 +11127,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Provider); i { + switch v := v.(*PolicyConfig); i { case 0: return &v.state case 1: @@ -10997,7 +11139,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProviderType); i { + switch v := v.(*ProviderConfig); i { case 0: return &v.state case 1: @@ -11009,7 +11151,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Condition); i { + switch v := v.(*Provider); i { case 0: return &v.state case 1: @@ -11021,7 +11163,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PolicyAppealConfig); i { + switch v := v.(*ProviderType); i { case 0: return &v.state case 1: @@ -11033,7 +11175,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Policy); i { + switch v := v.(*Condition); i { case 0: return &v.state case 1: @@ -11045,7 +11187,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AppealOptions); i { + switch v := v.(*PolicyAppealConfig); i { case 0: return &v.state case 1: @@ -11057,7 +11199,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Appeal); i { + switch v := v.(*Policy); i { case 0: return &v.state case 1: @@ -11069,7 +11211,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Approval); i { + switch v := v.(*AppealOptions); i { case 0: return &v.state case 1: @@ -11081,7 +11223,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Resource); i { + switch v := v.(*Appeal); i { case 0: return &v.state case 1: @@ -11093,7 +11235,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Grant); i { + switch v := v.(*Approval); i { case 0: return &v.state case 1: @@ -11105,7 +11247,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProviderActivity); i { + switch v := v.(*Resource); i { case 0: return &v.state case 1: @@ -11117,7 +11259,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Namespace); i { + switch v := v.(*Grant); i { case 0: return &v.state case 1: @@ -11129,7 +11271,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNamespaceRequest); i { + switch v := v.(*ProviderActivity); i { case 0: return &v.state case 1: @@ -11141,7 +11283,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNamespaceResponse); i { + switch v := v.(*Namespace); i { case 0: return &v.state case 1: @@ -11153,7 +11295,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetNamespaceRequest); i { + switch v := v.(*CreateNamespaceRequest); i { case 0: return &v.state case 1: @@ -11165,7 +11307,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetNamespaceResponse); i { + switch v := v.(*CreateNamespaceResponse); i { case 0: return &v.state case 1: @@ -11177,7 +11319,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListNamespacesRequest); i { + switch v := v.(*GetNamespaceRequest); i { case 0: return &v.state case 1: @@ -11189,7 +11331,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListNamespacesResponse); i { + switch v := v.(*GetNamespaceResponse); i { case 0: return &v.state case 1: @@ -11201,7 +11343,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateNamespaceRequest); i { + switch v := v.(*ListNamespacesRequest); i { case 0: return &v.state case 1: @@ -11213,7 +11355,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateNamespaceResponse); i { + switch v := v.(*ListNamespacesResponse); i { case 0: return &v.state case 1: @@ -11225,7 +11367,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RevokeAppealRequest_Reason); i { + switch v := v.(*UpdateNamespaceRequest); i { case 0: return &v.state case 1: @@ -11237,7 +11379,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateAppealRequest_Resource); i { + switch v := v.(*UpdateNamespaceResponse); i { case 0: return &v.state case 1: @@ -11249,7 +11391,19 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateApprovalRequest_Action); i { + switch v := v.(*RevokeAppealRequest_Reason); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_raystack_guardian_v1beta1_guardian_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateAppealRequest_Resource); i { case 0: return &v.state case 1: @@ -11261,6 +11415,18 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { } } file_raystack_guardian_v1beta1_guardian_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateApprovalRequest_Action); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_raystack_guardian_v1beta1_guardian_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProviderConfig_AppealConfig); i { case 0: return &v.state @@ -11272,7 +11438,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { return nil } } - file_raystack_guardian_v1beta1_guardian_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { + file_raystack_guardian_v1beta1_guardian_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProviderConfig_ResourceConfig); i { case 0: return &v.state @@ -11284,7 +11450,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { return nil } } - file_raystack_guardian_v1beta1_guardian_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { + file_raystack_guardian_v1beta1_guardian_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProviderConfig_ProviderParameter); i { case 0: return &v.state @@ -11296,7 +11462,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { return nil } } - file_raystack_guardian_v1beta1_guardian_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { + file_raystack_guardian_v1beta1_guardian_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Condition_MatchCondition); i { case 0: return &v.state @@ -11308,7 +11474,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { return nil } } - file_raystack_guardian_v1beta1_guardian_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { + file_raystack_guardian_v1beta1_guardian_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PolicyAppealConfig_DurationOptions); i { case 0: return &v.state @@ -11320,7 +11486,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { return nil } } - file_raystack_guardian_v1beta1_guardian_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { + file_raystack_guardian_v1beta1_guardian_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PolicyAppealConfig_Question); i { case 0: return &v.state @@ -11332,7 +11498,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { return nil } } - file_raystack_guardian_v1beta1_guardian_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { + file_raystack_guardian_v1beta1_guardian_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Policy_ApprovalStep); i { case 0: return &v.state @@ -11344,7 +11510,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { return nil } } - file_raystack_guardian_v1beta1_guardian_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { + file_raystack_guardian_v1beta1_guardian_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Policy_Requirement); i { case 0: return &v.state @@ -11356,7 +11522,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { return nil } } - file_raystack_guardian_v1beta1_guardian_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { + file_raystack_guardian_v1beta1_guardian_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Policy_IAM); i { case 0: return &v.state @@ -11368,7 +11534,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { return nil } } - file_raystack_guardian_v1beta1_guardian_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { + file_raystack_guardian_v1beta1_guardian_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Policy_Requirement_RequirementTrigger); i { case 0: return &v.state @@ -11380,7 +11546,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { return nil } } - file_raystack_guardian_v1beta1_guardian_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { + file_raystack_guardian_v1beta1_guardian_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Policy_Requirement_AdditionalAppeal); i { case 0: return &v.state @@ -11392,7 +11558,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { return nil } } - file_raystack_guardian_v1beta1_guardian_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { + file_raystack_guardian_v1beta1_guardian_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Policy_Requirement_AdditionalAppeal_ResourceIdentifier); i { case 0: return &v.state @@ -11411,7 +11577,7 @@ func file_raystack_guardian_v1beta1_guardian_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_raystack_guardian_v1beta1_guardian_proto_rawDesc, NumEnums: 0, - NumMessages: 119, + NumMessages: 121, NumExtensions: 0, NumServices: 1, }, diff --git a/api/proto/raystack/guardian/v1beta1/guardian.pb.gw.go b/api/proto/raystack/guardian/v1beta1/guardian.pb.gw.go index 0be1cb02e..605b50459 100644 --- a/api/proto/raystack/guardian/v1beta1/guardian.pb.gw.go +++ b/api/proto/raystack/guardian/v1beta1/guardian.pb.gw.go @@ -138,7 +138,77 @@ func local_request_GuardianService_GetProviderTypes_0(ctx context.Context, marsh } var ( - filter_GuardianService_CreateProvider_0 = &utilities.DoubleArray{Encoding: map[string]int{"config": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + filter_GuardianService_GetProviderRoles_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 2, 0, 0}, Check: []int{0, 1, 2, 2}} +) + +func request_GuardianService_GetProviderRoles_0(ctx context.Context, marshaler runtime.Marshaler, client GuardianServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetProviderRolesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_GuardianService_GetProviderRoles_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetProviderRoles(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_GuardianService_GetProviderRoles_0(ctx context.Context, marshaler runtime.Marshaler, server GuardianServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetProviderRolesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_GuardianService_GetProviderRoles_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetProviderRoles(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_GuardianService_CreateProvider_0 = &utilities.DoubleArray{Encoding: map[string]int{"config": 0}, Base: []int{1, 2, 0, 0}, Check: []int{0, 1, 2, 2}} ) func request_GuardianService_CreateProvider_0(ctx context.Context, marshaler runtime.Marshaler, client GuardianServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { @@ -190,7 +260,7 @@ func local_request_GuardianService_CreateProvider_0(ctx context.Context, marshal } var ( - filter_GuardianService_UpdateProvider_0 = &utilities.DoubleArray{Encoding: map[string]int{"config": 0, "id": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} + filter_GuardianService_UpdateProvider_0 = &utilities.DoubleArray{Encoding: map[string]int{"config": 0, "id": 1}, Base: []int{1, 2, 4, 0, 0, 0, 0}, Check: []int{0, 1, 1, 2, 2, 3, 3}} ) func request_GuardianService_UpdateProvider_0(ctx context.Context, marshaler runtime.Marshaler, client GuardianServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { @@ -276,7 +346,7 @@ func local_request_GuardianService_UpdateProvider_0(ctx context.Context, marshal } var ( - filter_GuardianService_UpdateProvider_1 = &utilities.DoubleArray{Encoding: map[string]int{"config": 0, "type": 1, "urn": 2}, Base: []int{1, 3, 1, 2, 0, 0, 0}, Check: []int{0, 1, 2, 2, 3, 4, 2}} + filter_GuardianService_UpdateProvider_1 = &utilities.DoubleArray{Encoding: map[string]int{"config": 0, "type": 1, "urn": 2}, Base: []int{1, 6, 7, 8, 2, 0, 4, 0, 0, 0, 0, 0}, Check: []int{0, 1, 1, 1, 2, 5, 2, 7, 2, 2, 3, 4}} ) func request_GuardianService_UpdateProvider_1(ctx context.Context, marshaler runtime.Marshaler, client GuardianServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { @@ -718,7 +788,7 @@ func local_request_GuardianService_GetPolicy_0(ctx context.Context, marshaler ru } var ( - filter_GuardianService_CreatePolicy_0 = &utilities.DoubleArray{Encoding: map[string]int{"policy": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + filter_GuardianService_CreatePolicy_0 = &utilities.DoubleArray{Encoding: map[string]int{"policy": 0}, Base: []int{1, 2, 0, 0}, Check: []int{0, 1, 2, 2}} ) func request_GuardianService_CreatePolicy_0(ctx context.Context, marshaler runtime.Marshaler, client GuardianServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { @@ -770,7 +840,7 @@ func local_request_GuardianService_CreatePolicy_0(ctx context.Context, marshaler } var ( - filter_GuardianService_UpdatePolicy_0 = &utilities.DoubleArray{Encoding: map[string]int{"policy": 0, "id": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} + filter_GuardianService_UpdatePolicy_0 = &utilities.DoubleArray{Encoding: map[string]int{"policy": 0, "id": 1}, Base: []int{1, 2, 4, 0, 0, 0, 0}, Check: []int{0, 1, 1, 2, 2, 3, 3}} ) func request_GuardianService_UpdatePolicy_0(ctx context.Context, marshaler runtime.Marshaler, client GuardianServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { @@ -2197,20 +2267,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListProviders") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListProviders", runtime.WithHTTPPathPattern("/v1beta1/providers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_ListProviders_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_ListProviders_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListProviders_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListProviders_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2220,20 +2292,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetProvider") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetProvider", runtime.WithHTTPPathPattern("/v1beta1/providers/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_GetProvider_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_GetProvider_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_GetProvider_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_GetProvider_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2243,20 +2317,47 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetProviderTypes") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetProviderTypes", runtime.WithHTTPPathPattern("/v1beta1/providers/types")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_GetProviderTypes_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_GetProviderTypes_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_GuardianService_GetProviderTypes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_GuardianService_GetProviderRoles_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) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetProviderRoles", runtime.WithHTTPPathPattern("/v1beta1/providers/{name}/roles")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } + resp, md, err := local_request_GuardianService_GetProviderRoles_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } - forward_GuardianService_GetProviderTypes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_GetProviderRoles_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2266,20 +2367,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/CreateProvider") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/CreateProvider", runtime.WithHTTPPathPattern("/v1beta1/providers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_CreateProvider_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_CreateProvider_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_CreateProvider_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_CreateProvider_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2289,20 +2392,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateProvider") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateProvider", runtime.WithHTTPPathPattern("/v1beta1/providers/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_UpdateProvider_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_UpdateProvider_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_UpdateProvider_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_UpdateProvider_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2312,20 +2417,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateProvider") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateProvider", runtime.WithHTTPPathPattern("/v1beta1/providers/{config.type}/{config.urn}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_UpdateProvider_1(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_UpdateProvider_1(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_UpdateProvider_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_UpdateProvider_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2335,20 +2442,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/DeleteProvider") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/DeleteProvider", runtime.WithHTTPPathPattern("/v1beta1/providers/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_DeleteProvider_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_DeleteProvider_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_DeleteProvider_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_DeleteProvider_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2358,20 +2467,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListRoles") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListRoles", runtime.WithHTTPPathPattern("/v1beta1/providers/{id}/resources/{resource_type}/roles")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_ListRoles_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_ListRoles_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListRoles_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListRoles_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2381,20 +2492,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ImportActivities") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ImportActivities", runtime.WithHTTPPathPattern("/v1beta1/activities/import")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_ImportActivities_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_ImportActivities_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ImportActivities_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ImportActivities_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2404,20 +2517,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetActivity") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetActivity", runtime.WithHTTPPathPattern("/v1beta1/activities/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_GetActivity_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_GetActivity_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_GetActivity_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_GetActivity_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2427,20 +2542,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListActivities") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListActivities", runtime.WithHTTPPathPattern("/v1beta1/activities")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_ListActivities_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_ListActivities_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListActivities_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListActivities_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2450,20 +2567,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListPolicies") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListPolicies", runtime.WithHTTPPathPattern("/v1beta1/policies")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_ListPolicies_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_ListPolicies_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListPolicies_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListPolicies_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2473,20 +2592,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetPolicy") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetPolicy", runtime.WithHTTPPathPattern("/v1beta1/policies/{id}/versions/{version}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_GetPolicy_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_GetPolicy_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_GetPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_GetPolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2496,20 +2617,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/CreatePolicy") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/CreatePolicy", runtime.WithHTTPPathPattern("/v1beta1/policies")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_CreatePolicy_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_CreatePolicy_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_CreatePolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_CreatePolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2519,20 +2642,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdatePolicy") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdatePolicy", runtime.WithHTTPPathPattern("/v1beta1/policies/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_UpdatePolicy_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_UpdatePolicy_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_UpdatePolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_UpdatePolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2542,20 +2667,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetPolicyPreferences") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetPolicyPreferences", runtime.WithHTTPPathPattern("/v1beta1/policies/{id}/versions/{version}/preferences")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_GetPolicyPreferences_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_GetPolicyPreferences_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_GetPolicyPreferences_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_GetPolicyPreferences_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2565,20 +2692,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListResources") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListResources", runtime.WithHTTPPathPattern("/v1beta1/resources")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_ListResources_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_ListResources_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListResources_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListResources_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2588,20 +2717,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetResource") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetResource", runtime.WithHTTPPathPattern("/v1beta1/resources/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_GetResource_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_GetResource_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_GetResource_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_GetResource_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2611,20 +2742,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateResource") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateResource", runtime.WithHTTPPathPattern("/v1beta1/resources/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_UpdateResource_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_UpdateResource_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_UpdateResource_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_UpdateResource_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2634,20 +2767,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/DeleteResource") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/DeleteResource", runtime.WithHTTPPathPattern("/v1beta1/resources/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_DeleteResource_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_DeleteResource_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_DeleteResource_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_DeleteResource_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2657,20 +2792,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListUserAppeals") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListUserAppeals", runtime.WithHTTPPathPattern("/v1beta1/me/appeals")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_ListUserAppeals_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_ListUserAppeals_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListUserAppeals_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListUserAppeals_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2680,20 +2817,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListAppeals") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListAppeals", runtime.WithHTTPPathPattern("/v1beta1/appeals")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_ListAppeals_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_ListAppeals_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListAppeals_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListAppeals_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2703,20 +2842,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetAppeal") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetAppeal", runtime.WithHTTPPathPattern("/v1beta1/appeals/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_GetAppeal_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_GetAppeal_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_GetAppeal_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_GetAppeal_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2726,20 +2867,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/CancelAppeal") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/CancelAppeal", runtime.WithHTTPPathPattern("/v1beta1/appeals/{id}/cancel")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_CancelAppeal_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_CancelAppeal_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_CancelAppeal_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_CancelAppeal_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2749,20 +2892,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/CreateAppeal") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/CreateAppeal", runtime.WithHTTPPathPattern("/v1beta1/appeals")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_CreateAppeal_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_CreateAppeal_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_CreateAppeal_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_CreateAppeal_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2772,20 +2917,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListUserApprovals") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListUserApprovals", runtime.WithHTTPPathPattern("/v1beta1/me/approvals")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_ListUserApprovals_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_ListUserApprovals_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListUserApprovals_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListUserApprovals_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2795,20 +2942,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListApprovals") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListApprovals", runtime.WithHTTPPathPattern("/v1beta1/approvals")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_ListApprovals_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_ListApprovals_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListApprovals_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListApprovals_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2818,20 +2967,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateApproval") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateApproval", runtime.WithHTTPPathPattern("/v1beta1/appeals/{id}/approvals/{approval_name}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_UpdateApproval_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_UpdateApproval_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_UpdateApproval_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_UpdateApproval_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2841,20 +2992,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/AddApprover") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/AddApprover", runtime.WithHTTPPathPattern("/v1beta1/appeals/{appeal_id}/approvals/{approval_id}/approvers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_AddApprover_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_AddApprover_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_AddApprover_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_AddApprover_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2864,20 +3017,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/DeleteApprover") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/DeleteApprover", runtime.WithHTTPPathPattern("/v1beta1/appeals/{appeal_id}/approvals/{approval_id}/approvers/{email}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_DeleteApprover_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_DeleteApprover_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_DeleteApprover_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_DeleteApprover_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2887,20 +3042,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListGrants") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListGrants", runtime.WithHTTPPathPattern("/v1beta1/grants")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_ListGrants_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_ListGrants_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListGrants_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListGrants_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2910,20 +3067,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListUserGrants") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListUserGrants", runtime.WithHTTPPathPattern("/v1beta1/me/grants")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_ListUserGrants_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_ListUserGrants_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListUserGrants_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListUserGrants_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2933,20 +3092,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetGrant") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetGrant", runtime.WithHTTPPathPattern("/v1beta1/grants/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_GetGrant_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_GetGrant_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_GetGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_GetGrant_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2956,20 +3117,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateGrant") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateGrant", runtime.WithHTTPPathPattern("/v1beta1/grants/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_UpdateGrant_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_UpdateGrant_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_UpdateGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_UpdateGrant_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -2979,20 +3142,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/RevokeGrant") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/RevokeGrant", runtime.WithHTTPPathPattern("/v1beta1/grants/{id}/revoke")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_RevokeGrant_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_RevokeGrant_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_RevokeGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_RevokeGrant_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3002,20 +3167,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/RevokeGrants") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/RevokeGrants", runtime.WithHTTPPathPattern("/v1beta1/grants/revoke")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_RevokeGrants_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_RevokeGrants_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_RevokeGrants_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_RevokeGrants_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3025,20 +3192,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ImportGrantsFromProvider") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ImportGrantsFromProvider", runtime.WithHTTPPathPattern("/v1beta1/grants/import")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_ImportGrantsFromProvider_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_ImportGrantsFromProvider_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ImportGrantsFromProvider_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ImportGrantsFromProvider_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3048,20 +3217,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/CreateNamespace") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/CreateNamespace", runtime.WithHTTPPathPattern("/v1beta1/namespaces")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_CreateNamespace_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_CreateNamespace_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_CreateNamespace_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_CreateNamespace_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3071,20 +3242,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetNamespace") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetNamespace", runtime.WithHTTPPathPattern("/v1beta1/namespaces/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_GetNamespace_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_GetNamespace_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_GetNamespace_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_GetNamespace_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3094,20 +3267,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListNamespaces") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListNamespaces", runtime.WithHTTPPathPattern("/v1beta1/namespaces")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_ListNamespaces_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_ListNamespaces_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListNamespaces_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListNamespaces_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3117,20 +3292,22 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv var stream runtime.ServerTransportStream ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateNamespace") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateNamespace", runtime.WithHTTPPathPattern("/v1beta1/namespaces/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_GuardianService_UpdateNamespace_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_GuardianService_UpdateNamespace_0(annotatedContext, 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) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_UpdateNamespace_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_UpdateNamespace_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3140,7 +3317,7 @@ func RegisterGuardianServiceHandlerServer(ctx context.Context, mux *runtime.Serv // RegisterGuardianServiceHandlerFromEndpoint is same as RegisterGuardianServiceHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterGuardianServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) + conn, err := grpc.DialContext(ctx, endpoint, opts...) if err != nil { return err } @@ -3179,19 +3356,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListProviders") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListProviders", runtime.WithHTTPPathPattern("/v1beta1/providers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_ListProviders_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_ListProviders_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListProviders_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListProviders_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3199,19 +3378,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetProvider") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetProvider", runtime.WithHTTPPathPattern("/v1beta1/providers/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_GetProvider_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_GetProvider_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_GetProvider_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_GetProvider_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3219,19 +3400,43 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetProviderTypes") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetProviderTypes", runtime.WithHTTPPathPattern("/v1beta1/providers/types")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_GetProviderTypes_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_GetProviderTypes_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_GuardianService_GetProviderTypes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_GuardianService_GetProviderRoles_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetProviderRoles", runtime.WithHTTPPathPattern("/v1beta1/providers/{name}/roles")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } + resp, md, err := request_GuardianService_GetProviderRoles_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } - forward_GuardianService_GetProviderTypes_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_GetProviderRoles_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3239,19 +3444,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/CreateProvider") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/CreateProvider", runtime.WithHTTPPathPattern("/v1beta1/providers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_CreateProvider_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_CreateProvider_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_CreateProvider_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_CreateProvider_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3259,19 +3466,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateProvider") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateProvider", runtime.WithHTTPPathPattern("/v1beta1/providers/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_UpdateProvider_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_UpdateProvider_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_UpdateProvider_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_UpdateProvider_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3279,19 +3488,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateProvider") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateProvider", runtime.WithHTTPPathPattern("/v1beta1/providers/{config.type}/{config.urn}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_UpdateProvider_1(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_UpdateProvider_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_UpdateProvider_1(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_UpdateProvider_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3299,19 +3510,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/DeleteProvider") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/DeleteProvider", runtime.WithHTTPPathPattern("/v1beta1/providers/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_DeleteProvider_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_DeleteProvider_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_DeleteProvider_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_DeleteProvider_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3319,19 +3532,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListRoles") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListRoles", runtime.WithHTTPPathPattern("/v1beta1/providers/{id}/resources/{resource_type}/roles")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_ListRoles_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_ListRoles_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListRoles_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListRoles_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3339,19 +3554,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ImportActivities") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ImportActivities", runtime.WithHTTPPathPattern("/v1beta1/activities/import")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_ImportActivities_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_ImportActivities_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ImportActivities_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ImportActivities_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3359,19 +3576,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetActivity") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetActivity", runtime.WithHTTPPathPattern("/v1beta1/activities/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_GetActivity_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_GetActivity_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_GetActivity_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_GetActivity_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3379,19 +3598,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListActivities") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListActivities", runtime.WithHTTPPathPattern("/v1beta1/activities")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_ListActivities_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_ListActivities_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListActivities_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListActivities_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3399,19 +3620,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListPolicies") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListPolicies", runtime.WithHTTPPathPattern("/v1beta1/policies")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_ListPolicies_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_ListPolicies_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListPolicies_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListPolicies_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3419,19 +3642,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetPolicy") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetPolicy", runtime.WithHTTPPathPattern("/v1beta1/policies/{id}/versions/{version}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_GetPolicy_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_GetPolicy_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_GetPolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_GetPolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3439,19 +3664,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/CreatePolicy") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/CreatePolicy", runtime.WithHTTPPathPattern("/v1beta1/policies")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_CreatePolicy_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_CreatePolicy_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_CreatePolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_CreatePolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3459,19 +3686,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdatePolicy") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdatePolicy", runtime.WithHTTPPathPattern("/v1beta1/policies/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_UpdatePolicy_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_UpdatePolicy_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_UpdatePolicy_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_UpdatePolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3479,19 +3708,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetPolicyPreferences") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetPolicyPreferences", runtime.WithHTTPPathPattern("/v1beta1/policies/{id}/versions/{version}/preferences")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_GetPolicyPreferences_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_GetPolicyPreferences_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_GetPolicyPreferences_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_GetPolicyPreferences_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3499,19 +3730,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListResources") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListResources", runtime.WithHTTPPathPattern("/v1beta1/resources")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_ListResources_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_ListResources_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListResources_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListResources_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3519,19 +3752,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetResource") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetResource", runtime.WithHTTPPathPattern("/v1beta1/resources/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_GetResource_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_GetResource_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_GetResource_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_GetResource_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3539,19 +3774,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateResource") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateResource", runtime.WithHTTPPathPattern("/v1beta1/resources/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_UpdateResource_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_UpdateResource_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_UpdateResource_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_UpdateResource_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3559,19 +3796,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/DeleteResource") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/DeleteResource", runtime.WithHTTPPathPattern("/v1beta1/resources/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_DeleteResource_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_DeleteResource_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_DeleteResource_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_DeleteResource_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3579,19 +3818,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListUserAppeals") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListUserAppeals", runtime.WithHTTPPathPattern("/v1beta1/me/appeals")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_ListUserAppeals_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_ListUserAppeals_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListUserAppeals_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListUserAppeals_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3599,19 +3840,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListAppeals") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListAppeals", runtime.WithHTTPPathPattern("/v1beta1/appeals")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_ListAppeals_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_ListAppeals_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListAppeals_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListAppeals_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3619,19 +3862,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetAppeal") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetAppeal", runtime.WithHTTPPathPattern("/v1beta1/appeals/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_GetAppeal_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_GetAppeal_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_GetAppeal_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_GetAppeal_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3639,19 +3884,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/CancelAppeal") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/CancelAppeal", runtime.WithHTTPPathPattern("/v1beta1/appeals/{id}/cancel")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_CancelAppeal_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_CancelAppeal_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_CancelAppeal_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_CancelAppeal_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3659,19 +3906,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/CreateAppeal") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/CreateAppeal", runtime.WithHTTPPathPattern("/v1beta1/appeals")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_CreateAppeal_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_CreateAppeal_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_CreateAppeal_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_CreateAppeal_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3679,19 +3928,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListUserApprovals") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListUserApprovals", runtime.WithHTTPPathPattern("/v1beta1/me/approvals")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_ListUserApprovals_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_ListUserApprovals_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListUserApprovals_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListUserApprovals_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3699,19 +3950,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListApprovals") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListApprovals", runtime.WithHTTPPathPattern("/v1beta1/approvals")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_ListApprovals_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_ListApprovals_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListApprovals_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListApprovals_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3719,19 +3972,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateApproval") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateApproval", runtime.WithHTTPPathPattern("/v1beta1/appeals/{id}/approvals/{approval_name}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_UpdateApproval_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_UpdateApproval_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_UpdateApproval_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_UpdateApproval_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3739,19 +3994,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/AddApprover") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/AddApprover", runtime.WithHTTPPathPattern("/v1beta1/appeals/{appeal_id}/approvals/{approval_id}/approvers")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_AddApprover_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_AddApprover_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_AddApprover_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_AddApprover_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3759,19 +4016,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/DeleteApprover") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/DeleteApprover", runtime.WithHTTPPathPattern("/v1beta1/appeals/{appeal_id}/approvals/{approval_id}/approvers/{email}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_DeleteApprover_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_DeleteApprover_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_DeleteApprover_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_DeleteApprover_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3779,19 +4038,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListGrants") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListGrants", runtime.WithHTTPPathPattern("/v1beta1/grants")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_ListGrants_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_ListGrants_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListGrants_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListGrants_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3799,19 +4060,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListUserGrants") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListUserGrants", runtime.WithHTTPPathPattern("/v1beta1/me/grants")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_ListUserGrants_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_ListUserGrants_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListUserGrants_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListUserGrants_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3819,19 +4082,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetGrant") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetGrant", runtime.WithHTTPPathPattern("/v1beta1/grants/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_GetGrant_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_GetGrant_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_GetGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_GetGrant_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3839,19 +4104,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateGrant") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateGrant", runtime.WithHTTPPathPattern("/v1beta1/grants/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_UpdateGrant_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_UpdateGrant_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_UpdateGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_UpdateGrant_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3859,19 +4126,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/RevokeGrant") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/RevokeGrant", runtime.WithHTTPPathPattern("/v1beta1/grants/{id}/revoke")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_RevokeGrant_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_RevokeGrant_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_RevokeGrant_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_RevokeGrant_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3879,19 +4148,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/RevokeGrants") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/RevokeGrants", runtime.WithHTTPPathPattern("/v1beta1/grants/revoke")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_RevokeGrants_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_RevokeGrants_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_RevokeGrants_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_RevokeGrants_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3899,19 +4170,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ImportGrantsFromProvider") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ImportGrantsFromProvider", runtime.WithHTTPPathPattern("/v1beta1/grants/import")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_ImportGrantsFromProvider_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_ImportGrantsFromProvider_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ImportGrantsFromProvider_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ImportGrantsFromProvider_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3919,19 +4192,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/CreateNamespace") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/CreateNamespace", runtime.WithHTTPPathPattern("/v1beta1/namespaces")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_CreateNamespace_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_CreateNamespace_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_CreateNamespace_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_CreateNamespace_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3939,19 +4214,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetNamespace") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/GetNamespace", runtime.WithHTTPPathPattern("/v1beta1/namespaces/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_GetNamespace_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_GetNamespace_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_GetNamespace_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_GetNamespace_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3959,19 +4236,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListNamespaces") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/ListNamespaces", runtime.WithHTTPPathPattern("/v1beta1/namespaces")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_ListNamespaces_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_ListNamespaces_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_ListNamespaces_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_ListNamespaces_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -3979,19 +4258,21 @@ func RegisterGuardianServiceHandlerClient(ctx context.Context, mux *runtime.Serv ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateNamespace") + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.guardian.v1beta1.GuardianService/UpdateNamespace", runtime.WithHTTPPathPattern("/v1beta1/namespaces/{id}")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_GuardianService_UpdateNamespace_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) + resp, md, err := request_GuardianService_UpdateNamespace_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) return } - forward_GuardianService_UpdateNamespace_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_GuardianService_UpdateNamespace_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -4005,6 +4286,8 @@ var ( pattern_GuardianService_GetProviderTypes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1beta1", "providers", "types"}, "")) + pattern_GuardianService_GetProviderRoles_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"v1beta1", "providers", "name", "roles"}, "")) + pattern_GuardianService_CreateProvider_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1beta1", "providers"}, "")) pattern_GuardianService_UpdateProvider_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v1beta1", "providers", "id"}, "")) @@ -4089,6 +4372,8 @@ var ( forward_GuardianService_GetProviderTypes_0 = runtime.ForwardResponseMessage + forward_GuardianService_GetProviderRoles_0 = runtime.ForwardResponseMessage + forward_GuardianService_CreateProvider_0 = runtime.ForwardResponseMessage forward_GuardianService_UpdateProvider_0 = runtime.ForwardResponseMessage diff --git a/api/proto/raystack/guardian/v1beta1/guardian.swagger.json b/api/proto/raystack/guardian/v1beta1/guardian.swagger.json index cf12e4b1b..4857ee973 100644 --- a/api/proto/raystack/guardian/v1beta1/guardian.swagger.json +++ b/api/proto/raystack/guardian/v1beta1/guardian.swagger.json @@ -5,6 +5,38 @@ "version": "0.1.0" }, "tags": [ + { + "name": "Providers", + "description": "Providers API" + }, + { + "name": "Resources", + "description": "Resources API" + }, + { + "name": "Policies", + "description": "Policies API" + }, + { + "name": "Activities", + "description": "Activities API" + }, + { + "name": "Appeals", + "description": "An appeal is essentially a request created by users to give them access to resources. In order to grant the access, an appeal has to be approved by approvers which is assigned based on the applied policy. Appeal contains information about the requested account, the creator, the selected resources, the specific role for accessing the resource, and options to determine the behaviour of the access e.g. permanent or temporary access." + }, + { + "name": "Approvals", + "description": "Approvals API" + }, + { + "name": "Grants", + "description": "Grants API" + }, + { + "name": "Namespaces", + "description": "Namespaces API" + }, { "name": "GuardianService" } @@ -550,7 +582,17 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1AddApproverRequest" + "type": "object", + "properties": { + "email": { + "type": "string", + "example": "john@raystack.org", + "description": "Email of the approver" + } + }, + "required": [ + "email" + ] } } ], @@ -759,7 +801,7 @@ "type": "string" }, { - "name": "body", + "name": "action", "in": "body", "required": true, "schema": { @@ -1408,7 +1450,12 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1UpdateGrantRequest" + "type": "object", + "properties": { + "owner": { + "type": "string" + } + } } } ], @@ -1478,7 +1525,12 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1RevokeGrantRequest" + "type": "object", + "properties": { + "reason": { + "type": "string" + } + } } } ], @@ -2182,7 +2234,12 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1UpdateNamespaceRequest" + "type": "object", + "properties": { + "namespace": { + "$ref": "#/definitions/v1beta1Namespace" + } + } } } ], @@ -2294,7 +2351,7 @@ }, "parameters": [ { - "name": "body", + "name": "policy", "in": "body", "required": true, "schema": { @@ -2370,7 +2427,7 @@ "type": "string" }, { - "name": "body", + "name": "policy", "in": "body", "required": true, "schema": { @@ -2644,7 +2701,7 @@ }, "parameters": [ { - "name": "body", + "name": "config", "in": "body", "required": true, "schema": { @@ -2780,11 +2837,43 @@ "type": "string" }, { - "name": "body", + "name": "config", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1beta1ProviderConfig" + "type": "object", + "properties": { + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "credentials": {}, + "appeal": { + "$ref": "#/definitions/ProviderConfigAppealConfig" + }, + "resources": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/ProviderConfigResourceConfig" + } + }, + "allowedAccountTypes": { + "type": "array", + "items": { + "type": "string" + } + }, + "parameters": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/ProviderConfigProviderParameter" + } + } + } } }, { @@ -2982,7 +3071,7 @@ "type": "string" }, { - "name": "body", + "name": "config", "in": "body", "required": true, "schema": { @@ -3069,6 +3158,76 @@ ] } }, + "/v1beta1/providers/{name}/roles": { + "get": { + "summary": "Get Provider Default Roles", + "description": "Get Provider Roles returns a list of roles supported by a provider while creating a new provider", + "operationId": "GuardianService_GetProviderRoles", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1beta1GetProviderRolesResponse" + } + }, + "400": { + "description": "Bad Request - The request was malformed or contained invalid parameters.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + }, + "401": { + "description": "Unauthorized - Authentication is required", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + }, + "403": { + "description": "Forbidden - User does not have permission to access the resource", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + }, + "404": { + "description": "Not Found - The requested resource was not found", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + }, + "500": { + "description": "Internal Server Error. Returned when theres is something wrong with Frontier server.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "name", + "description": "Name of the provider", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "description": "Resource type for which the roles are to be fetched", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Providers" + ] + } + }, "/v1beta1/resources": { "get": { "summary": "List Resources", @@ -3348,7 +3507,7 @@ "type": "string" }, { - "name": "body", + "name": "resource", "in": "body", "required": true, "schema": { @@ -3386,9 +3545,7 @@ "ConditionMatchCondition": { "type": "object", "properties": { - "eq": { - "type": "object" - } + "eq": {} } }, "PolicyAppealConfigDurationOptions": { @@ -3396,17 +3553,11 @@ "properties": { "name": { "type": "string", - "description": "Name of the duration option", - "required": [ - "name" - ] + "description": "Name of the duration option" }, "value": { "type": "string", - "description": "Actual value of duration such as 24h, 72h. value will be 0h in case of permanent duration. Valid time units are ns, us (or µs). Reference: [ParseDuration](https://pkg.go.dev/time#ParseDuration)", - "required": [ - "value" - ] + "description": "Actual value of duration such as 24h, 72h. value will be 0h in case of permanent duration. Valid time units are ns, us (or µs). Reference: [ParseDuration](https://pkg.go.dev/time#ParseDuration)" } }, "required": [ @@ -3419,24 +3570,15 @@ "properties": { "key": { "type": "string", - "description": "Unique key of the question", - "required": [ - "key" - ] + "description": "Unique key of the question" }, "question": { "type": "string", - "description": "Question to be asked to the appeal creator", - "required": [ - "question" - ] + "description": "Question to be asked to the appeal creator" }, "required": { "type": "boolean", - "description": "Whether the question is required or not", - "required": [ - "required" - ] + "description": "Whether the question is required or not" }, "description": { "type": "string", @@ -3455,10 +3597,7 @@ "name": { "type": "string", "example": "Step 1", - "description": "Approval step identifier", - "required": [ - "name" - ] + "description": "Approval step identifier" }, "description": { "type": "string", @@ -3477,10 +3616,7 @@ "strategy": { "type": "string", "example": "auto", - "description": "Execution behaviour of the step. Possible values are `auto` or `manual`", - "required": [ - "strategy" - ] + "description": "Execution behaviour of the step. Possible values are `auto` or `manual`" }, "approveIf": { "type": "string", @@ -3509,17 +3645,10 @@ "provider": { "type": "string", "example": "bigquery", - "description": "Identity manager type. Supported types are http and frontier", - "required": [ - "provider" - ] + "description": "Identity manager type. Supported types are http and frontier" }, "config": { - "type": "object", - "description": "Client configuration according to the provider type", - "required": [ - "config" - ] + "description": "Client configuration according to the provider type" }, "schema": { "type": "object", @@ -3544,10 +3673,14 @@ "appeals": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/RequirementAdditionalAppeal" } } - } + }, + "required": [ + "on" + ] }, "ProviderConfigAppealConfig": { "type": "object", @@ -3589,6 +3722,7 @@ "roles": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1beta1Role" } }, @@ -3640,6 +3774,7 @@ "conditions": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1beta1Condition" } }, @@ -3725,6 +3860,7 @@ "children": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/guardianv1beta1Resource" }, "description": "List of child resources" @@ -3735,14 +3871,11 @@ "protobufAny": { "type": "object", "properties": { - "typeUrl": { + "@type": { "type": "string" - }, - "value": { - "type": "string", - "format": "byte" } - } + }, + "additionalProperties": {} }, "protobufNullValue": { "type": "string", @@ -3750,7 +3883,7 @@ "NULL_VALUE" ], "default": "NULL_VALUE", - "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." + "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\nThe JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." }, "rpcStatus": { "type": "object", @@ -3765,45 +3898,12 @@ "details": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/protobufAny" } } } }, - "v1beta1AddApproverRequest": { - "type": "object", - "properties": { - "appealId": { - "type": "string", - "example": "f1b9a9a0-1f0b-4b7a-8b0a-9b0a9b0a9b0a", - "description": "UUID of the appeal", - "required": [ - "appeal_id" - ] - }, - "approvalId": { - "type": "string", - "example": "f1b9a9a0-1f0b-4b7a-8b0a-9b0a9b0a9b0a", - "description": "Unique identifier or name of the approval", - "required": [ - "approval_id" - ] - }, - "email": { - "type": "string", - "example": "john@raystack.org", - "description": "Email of the approver", - "required": [ - "email" - ] - } - }, - "required": [ - "appealId", - "approvalId", - "email" - ] - }, "v1beta1AddApproverResponse": { "type": "object", "properties": { @@ -3838,7 +3938,8 @@ "type": "string" }, "options": { - "$ref": "#/definitions/v1beta1AppealOptions" + "$ref": "#/definitions/v1beta1AppealOptions", + "title": "optional" }, "labels": { "type": "object", @@ -3847,11 +3948,13 @@ } }, "resource": { - "$ref": "#/definitions/guardianv1beta1Resource" + "$ref": "#/definitions/guardianv1beta1Resource", + "title": "optional" }, "approvals": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1beta1Approval" } }, @@ -3876,9 +3979,7 @@ "createdBy": { "type": "string" }, - "creator": { - "type": "object" - }, + "creator": {}, "permissions": { "type": "array", "items": { @@ -3899,7 +4000,8 @@ "properties": { "expirationDate": { "type": "string", - "format": "date-time" + "format": "date-time", + "title": "optional" }, "duration": { "type": "string" @@ -3987,6 +4089,7 @@ "resources": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1beta1CreateAppealRequestResource" }, "description": "List of resources that the user is requesting access to" @@ -4023,6 +4126,7 @@ "appeals": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1beta1Appeal" } } @@ -4125,12 +4229,25 @@ } } }, + "v1beta1GetProviderRolesResponse": { + "type": "object", + "properties": { + "roles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of roles supported by the provider" + } + } + }, "v1beta1GetProviderTypesResponse": { "type": "object", "properties": { "providerTypes": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1beta1ProviderType" } } @@ -4259,6 +4376,7 @@ "activities": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1beta1ProviderActivity" } } @@ -4296,6 +4414,7 @@ "grants": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1beta1Grant" } } @@ -4307,6 +4426,7 @@ "activities": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1beta1ProviderActivity" } } @@ -4318,6 +4438,7 @@ "appeals": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1beta1Appeal" } }, @@ -4333,6 +4454,7 @@ "approvals": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1beta1Approval" } }, @@ -4348,6 +4470,7 @@ "grants": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1beta1Grant" } }, @@ -4363,6 +4486,7 @@ "namespaces": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1beta1Namespace" } } @@ -4374,6 +4498,7 @@ "policies": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1beta1Policy" } } @@ -4385,6 +4510,7 @@ "providers": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1beta1Provider" } } @@ -4396,6 +4522,7 @@ "resources": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/guardianv1beta1Resource" } } @@ -4407,6 +4534,7 @@ "roles": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1beta1Role" } } @@ -4418,6 +4546,7 @@ "appeals": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1beta1Appeal" } }, @@ -4433,6 +4562,7 @@ "approvals": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1beta1Approval" } }, @@ -4448,6 +4578,7 @@ "grants": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1beta1Grant" } }, @@ -4506,6 +4637,7 @@ "steps": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/PolicyApprovalStep" }, "description": "Sequence of approval steps. Each step can have different approval strategy and approvers", @@ -4532,6 +4664,7 @@ "requirements": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/PolicyRequirement" } }, @@ -4556,6 +4689,7 @@ "durationOptions": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/PolicyAppealConfigDurationOptions" }, "description": "List of duration options" @@ -4574,6 +4708,7 @@ "questions": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/PolicyAppealConfigQuestion" }, "description": "List of questions to be asked to the appeal creator" @@ -4697,15 +4832,14 @@ "type": "string" } }, - "credentials": { - "type": "object" - }, + "credentials": {}, "appeal": { "$ref": "#/definitions/ProviderConfigAppealConfig" }, "resources": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/ProviderConfigResourceConfig" } }, @@ -4718,6 +4852,7 @@ "parameters": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/ProviderConfigProviderParameter" } } @@ -4737,17 +4872,6 @@ } } }, - "v1beta1RevokeGrantRequest": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "reason": { - "type": "string" - } - } - }, "v1beta1RevokeGrantResponse": { "type": "object", "properties": { @@ -4800,6 +4924,7 @@ "grants": { "type": "array", "items": { + "type": "object", "$ref": "#/definitions/v1beta1Grant" } } @@ -4819,9 +4944,7 @@ }, "permissions": { "type": "array", - "items": { - "type": "object" - } + "items": {} } } }, @@ -4833,17 +4956,6 @@ } } }, - "v1beta1UpdateGrantRequest": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "owner": { - "type": "string" - } - } - }, "v1beta1UpdateGrantResponse": { "type": "object", "properties": { @@ -4852,17 +4964,6 @@ } } }, - "v1beta1UpdateNamespaceRequest": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "namespace": { - "$ref": "#/definitions/v1beta1Namespace" - } - } - }, "v1beta1UpdateNamespaceResponse": { "type": "object" }, diff --git a/api/proto/raystack/guardian/v1beta1/guardian_grpc.pb.go b/api/proto/raystack/guardian/v1beta1/guardian_grpc.pb.go index f3ac628ca..55d7143e2 100644 --- a/api/proto/raystack/guardian/v1beta1/guardian_grpc.pb.go +++ b/api/proto/raystack/guardian/v1beta1/guardian_grpc.pb.go @@ -1,4 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc (unknown) +// source: raystack/guardian/v1beta1/guardian.proto package guardianv1beta1 @@ -14,6 +18,50 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 +const ( + GuardianService_ListProviders_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/ListProviders" + GuardianService_GetProvider_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/GetProvider" + GuardianService_GetProviderTypes_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/GetProviderTypes" + GuardianService_GetProviderRoles_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/GetProviderRoles" + GuardianService_CreateProvider_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/CreateProvider" + GuardianService_UpdateProvider_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/UpdateProvider" + GuardianService_DeleteProvider_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/DeleteProvider" + GuardianService_ListRoles_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/ListRoles" + GuardianService_ImportActivities_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/ImportActivities" + GuardianService_GetActivity_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/GetActivity" + GuardianService_ListActivities_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/ListActivities" + GuardianService_ListPolicies_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/ListPolicies" + GuardianService_GetPolicy_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/GetPolicy" + GuardianService_CreatePolicy_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/CreatePolicy" + GuardianService_UpdatePolicy_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/UpdatePolicy" + GuardianService_GetPolicyPreferences_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/GetPolicyPreferences" + GuardianService_ListResources_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/ListResources" + GuardianService_GetResource_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/GetResource" + GuardianService_UpdateResource_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/UpdateResource" + GuardianService_DeleteResource_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/DeleteResource" + GuardianService_ListUserAppeals_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/ListUserAppeals" + GuardianService_ListAppeals_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/ListAppeals" + GuardianService_GetAppeal_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/GetAppeal" + GuardianService_CancelAppeal_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/CancelAppeal" + GuardianService_CreateAppeal_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/CreateAppeal" + GuardianService_ListUserApprovals_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/ListUserApprovals" + GuardianService_ListApprovals_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/ListApprovals" + GuardianService_UpdateApproval_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/UpdateApproval" + GuardianService_AddApprover_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/AddApprover" + GuardianService_DeleteApprover_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/DeleteApprover" + GuardianService_ListGrants_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/ListGrants" + GuardianService_ListUserGrants_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/ListUserGrants" + GuardianService_GetGrant_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/GetGrant" + GuardianService_UpdateGrant_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/UpdateGrant" + GuardianService_RevokeGrant_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/RevokeGrant" + GuardianService_RevokeGrants_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/RevokeGrants" + GuardianService_ImportGrantsFromProvider_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/ImportGrantsFromProvider" + GuardianService_CreateNamespace_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/CreateNamespace" + GuardianService_GetNamespace_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/GetNamespace" + GuardianService_ListNamespaces_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/ListNamespaces" + GuardianService_UpdateNamespace_FullMethodName = "/raystack.guardian.v1beta1.GuardianService/UpdateNamespace" +) + // GuardianServiceClient is the client API for GuardianService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -21,6 +69,7 @@ type GuardianServiceClient interface { ListProviders(ctx context.Context, in *ListProvidersRequest, opts ...grpc.CallOption) (*ListProvidersResponse, error) GetProvider(ctx context.Context, in *GetProviderRequest, opts ...grpc.CallOption) (*GetProviderResponse, error) GetProviderTypes(ctx context.Context, in *GetProviderTypesRequest, opts ...grpc.CallOption) (*GetProviderTypesResponse, error) + GetProviderRoles(ctx context.Context, in *GetProviderRolesRequest, opts ...grpc.CallOption) (*GetProviderRolesResponse, error) CreateProvider(ctx context.Context, in *CreateProviderRequest, opts ...grpc.CallOption) (*CreateProviderResponse, error) UpdateProvider(ctx context.Context, in *UpdateProviderRequest, opts ...grpc.CallOption) (*UpdateProviderResponse, error) DeleteProvider(ctx context.Context, in *DeleteProviderRequest, opts ...grpc.CallOption) (*DeleteProviderResponse, error) @@ -71,7 +120,7 @@ func NewGuardianServiceClient(cc grpc.ClientConnInterface) GuardianServiceClient func (c *guardianServiceClient) ListProviders(ctx context.Context, in *ListProvidersRequest, opts ...grpc.CallOption) (*ListProvidersResponse, error) { out := new(ListProvidersResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/ListProviders", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_ListProviders_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -80,7 +129,7 @@ func (c *guardianServiceClient) ListProviders(ctx context.Context, in *ListProvi func (c *guardianServiceClient) GetProvider(ctx context.Context, in *GetProviderRequest, opts ...grpc.CallOption) (*GetProviderResponse, error) { out := new(GetProviderResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/GetProvider", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_GetProvider_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -89,7 +138,16 @@ func (c *guardianServiceClient) GetProvider(ctx context.Context, in *GetProvider func (c *guardianServiceClient) GetProviderTypes(ctx context.Context, in *GetProviderTypesRequest, opts ...grpc.CallOption) (*GetProviderTypesResponse, error) { out := new(GetProviderTypesResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/GetProviderTypes", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_GetProviderTypes_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *guardianServiceClient) GetProviderRoles(ctx context.Context, in *GetProviderRolesRequest, opts ...grpc.CallOption) (*GetProviderRolesResponse, error) { + out := new(GetProviderRolesResponse) + err := c.cc.Invoke(ctx, GuardianService_GetProviderRoles_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -98,7 +156,7 @@ func (c *guardianServiceClient) GetProviderTypes(ctx context.Context, in *GetPro func (c *guardianServiceClient) CreateProvider(ctx context.Context, in *CreateProviderRequest, opts ...grpc.CallOption) (*CreateProviderResponse, error) { out := new(CreateProviderResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/CreateProvider", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_CreateProvider_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -107,7 +165,7 @@ func (c *guardianServiceClient) CreateProvider(ctx context.Context, in *CreatePr func (c *guardianServiceClient) UpdateProvider(ctx context.Context, in *UpdateProviderRequest, opts ...grpc.CallOption) (*UpdateProviderResponse, error) { out := new(UpdateProviderResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/UpdateProvider", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_UpdateProvider_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -116,7 +174,7 @@ func (c *guardianServiceClient) UpdateProvider(ctx context.Context, in *UpdatePr func (c *guardianServiceClient) DeleteProvider(ctx context.Context, in *DeleteProviderRequest, opts ...grpc.CallOption) (*DeleteProviderResponse, error) { out := new(DeleteProviderResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/DeleteProvider", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_DeleteProvider_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -125,7 +183,7 @@ func (c *guardianServiceClient) DeleteProvider(ctx context.Context, in *DeletePr func (c *guardianServiceClient) ListRoles(ctx context.Context, in *ListRolesRequest, opts ...grpc.CallOption) (*ListRolesResponse, error) { out := new(ListRolesResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/ListRoles", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_ListRoles_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -134,7 +192,7 @@ func (c *guardianServiceClient) ListRoles(ctx context.Context, in *ListRolesRequ func (c *guardianServiceClient) ImportActivities(ctx context.Context, in *ImportActivitiesRequest, opts ...grpc.CallOption) (*ImportActivitiesResponse, error) { out := new(ImportActivitiesResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/ImportActivities", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_ImportActivities_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -143,7 +201,7 @@ func (c *guardianServiceClient) ImportActivities(ctx context.Context, in *Import func (c *guardianServiceClient) GetActivity(ctx context.Context, in *GetActivityRequest, opts ...grpc.CallOption) (*GetActivityResponse, error) { out := new(GetActivityResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/GetActivity", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_GetActivity_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -152,7 +210,7 @@ func (c *guardianServiceClient) GetActivity(ctx context.Context, in *GetActivity func (c *guardianServiceClient) ListActivities(ctx context.Context, in *ListActivitiesRequest, opts ...grpc.CallOption) (*ListActivitiesResponse, error) { out := new(ListActivitiesResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/ListActivities", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_ListActivities_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -161,7 +219,7 @@ func (c *guardianServiceClient) ListActivities(ctx context.Context, in *ListActi func (c *guardianServiceClient) ListPolicies(ctx context.Context, in *ListPoliciesRequest, opts ...grpc.CallOption) (*ListPoliciesResponse, error) { out := new(ListPoliciesResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/ListPolicies", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_ListPolicies_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -170,7 +228,7 @@ func (c *guardianServiceClient) ListPolicies(ctx context.Context, in *ListPolici func (c *guardianServiceClient) GetPolicy(ctx context.Context, in *GetPolicyRequest, opts ...grpc.CallOption) (*GetPolicyResponse, error) { out := new(GetPolicyResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/GetPolicy", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_GetPolicy_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -179,7 +237,7 @@ func (c *guardianServiceClient) GetPolicy(ctx context.Context, in *GetPolicyRequ func (c *guardianServiceClient) CreatePolicy(ctx context.Context, in *CreatePolicyRequest, opts ...grpc.CallOption) (*CreatePolicyResponse, error) { out := new(CreatePolicyResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/CreatePolicy", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_CreatePolicy_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -188,7 +246,7 @@ func (c *guardianServiceClient) CreatePolicy(ctx context.Context, in *CreatePoli func (c *guardianServiceClient) UpdatePolicy(ctx context.Context, in *UpdatePolicyRequest, opts ...grpc.CallOption) (*UpdatePolicyResponse, error) { out := new(UpdatePolicyResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/UpdatePolicy", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_UpdatePolicy_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -197,7 +255,7 @@ func (c *guardianServiceClient) UpdatePolicy(ctx context.Context, in *UpdatePoli func (c *guardianServiceClient) GetPolicyPreferences(ctx context.Context, in *GetPolicyPreferencesRequest, opts ...grpc.CallOption) (*GetPolicyPreferencesResponse, error) { out := new(GetPolicyPreferencesResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/GetPolicyPreferences", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_GetPolicyPreferences_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -206,7 +264,7 @@ func (c *guardianServiceClient) GetPolicyPreferences(ctx context.Context, in *Ge func (c *guardianServiceClient) ListResources(ctx context.Context, in *ListResourcesRequest, opts ...grpc.CallOption) (*ListResourcesResponse, error) { out := new(ListResourcesResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/ListResources", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_ListResources_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -215,7 +273,7 @@ func (c *guardianServiceClient) ListResources(ctx context.Context, in *ListResou func (c *guardianServiceClient) GetResource(ctx context.Context, in *GetResourceRequest, opts ...grpc.CallOption) (*GetResourceResponse, error) { out := new(GetResourceResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/GetResource", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_GetResource_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -224,7 +282,7 @@ func (c *guardianServiceClient) GetResource(ctx context.Context, in *GetResource func (c *guardianServiceClient) UpdateResource(ctx context.Context, in *UpdateResourceRequest, opts ...grpc.CallOption) (*UpdateResourceResponse, error) { out := new(UpdateResourceResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/UpdateResource", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_UpdateResource_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -233,7 +291,7 @@ func (c *guardianServiceClient) UpdateResource(ctx context.Context, in *UpdateRe func (c *guardianServiceClient) DeleteResource(ctx context.Context, in *DeleteResourceRequest, opts ...grpc.CallOption) (*DeleteResourceResponse, error) { out := new(DeleteResourceResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/DeleteResource", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_DeleteResource_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -242,7 +300,7 @@ func (c *guardianServiceClient) DeleteResource(ctx context.Context, in *DeleteRe func (c *guardianServiceClient) ListUserAppeals(ctx context.Context, in *ListUserAppealsRequest, opts ...grpc.CallOption) (*ListUserAppealsResponse, error) { out := new(ListUserAppealsResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/ListUserAppeals", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_ListUserAppeals_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -251,7 +309,7 @@ func (c *guardianServiceClient) ListUserAppeals(ctx context.Context, in *ListUse func (c *guardianServiceClient) ListAppeals(ctx context.Context, in *ListAppealsRequest, opts ...grpc.CallOption) (*ListAppealsResponse, error) { out := new(ListAppealsResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/ListAppeals", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_ListAppeals_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -260,7 +318,7 @@ func (c *guardianServiceClient) ListAppeals(ctx context.Context, in *ListAppeals func (c *guardianServiceClient) GetAppeal(ctx context.Context, in *GetAppealRequest, opts ...grpc.CallOption) (*GetAppealResponse, error) { out := new(GetAppealResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/GetAppeal", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_GetAppeal_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -269,7 +327,7 @@ func (c *guardianServiceClient) GetAppeal(ctx context.Context, in *GetAppealRequ func (c *guardianServiceClient) CancelAppeal(ctx context.Context, in *CancelAppealRequest, opts ...grpc.CallOption) (*CancelAppealResponse, error) { out := new(CancelAppealResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/CancelAppeal", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_CancelAppeal_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -278,7 +336,7 @@ func (c *guardianServiceClient) CancelAppeal(ctx context.Context, in *CancelAppe func (c *guardianServiceClient) CreateAppeal(ctx context.Context, in *CreateAppealRequest, opts ...grpc.CallOption) (*CreateAppealResponse, error) { out := new(CreateAppealResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/CreateAppeal", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_CreateAppeal_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -287,7 +345,7 @@ func (c *guardianServiceClient) CreateAppeal(ctx context.Context, in *CreateAppe func (c *guardianServiceClient) ListUserApprovals(ctx context.Context, in *ListUserApprovalsRequest, opts ...grpc.CallOption) (*ListUserApprovalsResponse, error) { out := new(ListUserApprovalsResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/ListUserApprovals", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_ListUserApprovals_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -296,7 +354,7 @@ func (c *guardianServiceClient) ListUserApprovals(ctx context.Context, in *ListU func (c *guardianServiceClient) ListApprovals(ctx context.Context, in *ListApprovalsRequest, opts ...grpc.CallOption) (*ListApprovalsResponse, error) { out := new(ListApprovalsResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/ListApprovals", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_ListApprovals_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -305,7 +363,7 @@ func (c *guardianServiceClient) ListApprovals(ctx context.Context, in *ListAppro func (c *guardianServiceClient) UpdateApproval(ctx context.Context, in *UpdateApprovalRequest, opts ...grpc.CallOption) (*UpdateApprovalResponse, error) { out := new(UpdateApprovalResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/UpdateApproval", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_UpdateApproval_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -314,7 +372,7 @@ func (c *guardianServiceClient) UpdateApproval(ctx context.Context, in *UpdateAp func (c *guardianServiceClient) AddApprover(ctx context.Context, in *AddApproverRequest, opts ...grpc.CallOption) (*AddApproverResponse, error) { out := new(AddApproverResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/AddApprover", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_AddApprover_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -323,7 +381,7 @@ func (c *guardianServiceClient) AddApprover(ctx context.Context, in *AddApprover func (c *guardianServiceClient) DeleteApprover(ctx context.Context, in *DeleteApproverRequest, opts ...grpc.CallOption) (*DeleteApproverResponse, error) { out := new(DeleteApproverResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/DeleteApprover", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_DeleteApprover_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -332,7 +390,7 @@ func (c *guardianServiceClient) DeleteApprover(ctx context.Context, in *DeleteAp func (c *guardianServiceClient) ListGrants(ctx context.Context, in *ListGrantsRequest, opts ...grpc.CallOption) (*ListGrantsResponse, error) { out := new(ListGrantsResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/ListGrants", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_ListGrants_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -341,7 +399,7 @@ func (c *guardianServiceClient) ListGrants(ctx context.Context, in *ListGrantsRe func (c *guardianServiceClient) ListUserGrants(ctx context.Context, in *ListUserGrantsRequest, opts ...grpc.CallOption) (*ListUserGrantsResponse, error) { out := new(ListUserGrantsResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/ListUserGrants", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_ListUserGrants_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -350,7 +408,7 @@ func (c *guardianServiceClient) ListUserGrants(ctx context.Context, in *ListUser func (c *guardianServiceClient) GetGrant(ctx context.Context, in *GetGrantRequest, opts ...grpc.CallOption) (*GetGrantResponse, error) { out := new(GetGrantResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/GetGrant", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_GetGrant_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -359,7 +417,7 @@ func (c *guardianServiceClient) GetGrant(ctx context.Context, in *GetGrantReques func (c *guardianServiceClient) UpdateGrant(ctx context.Context, in *UpdateGrantRequest, opts ...grpc.CallOption) (*UpdateGrantResponse, error) { out := new(UpdateGrantResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/UpdateGrant", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_UpdateGrant_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -368,7 +426,7 @@ func (c *guardianServiceClient) UpdateGrant(ctx context.Context, in *UpdateGrant func (c *guardianServiceClient) RevokeGrant(ctx context.Context, in *RevokeGrantRequest, opts ...grpc.CallOption) (*RevokeGrantResponse, error) { out := new(RevokeGrantResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/RevokeGrant", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_RevokeGrant_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -377,7 +435,7 @@ func (c *guardianServiceClient) RevokeGrant(ctx context.Context, in *RevokeGrant func (c *guardianServiceClient) RevokeGrants(ctx context.Context, in *RevokeGrantsRequest, opts ...grpc.CallOption) (*RevokeGrantsResponse, error) { out := new(RevokeGrantsResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/RevokeGrants", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_RevokeGrants_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -386,7 +444,7 @@ func (c *guardianServiceClient) RevokeGrants(ctx context.Context, in *RevokeGran func (c *guardianServiceClient) ImportGrantsFromProvider(ctx context.Context, in *ImportGrantsFromProviderRequest, opts ...grpc.CallOption) (*ImportGrantsFromProviderResponse, error) { out := new(ImportGrantsFromProviderResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/ImportGrantsFromProvider", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_ImportGrantsFromProvider_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -395,7 +453,7 @@ func (c *guardianServiceClient) ImportGrantsFromProvider(ctx context.Context, in func (c *guardianServiceClient) CreateNamespace(ctx context.Context, in *CreateNamespaceRequest, opts ...grpc.CallOption) (*CreateNamespaceResponse, error) { out := new(CreateNamespaceResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/CreateNamespace", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_CreateNamespace_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -404,7 +462,7 @@ func (c *guardianServiceClient) CreateNamespace(ctx context.Context, in *CreateN func (c *guardianServiceClient) GetNamespace(ctx context.Context, in *GetNamespaceRequest, opts ...grpc.CallOption) (*GetNamespaceResponse, error) { out := new(GetNamespaceResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/GetNamespace", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_GetNamespace_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -413,7 +471,7 @@ func (c *guardianServiceClient) GetNamespace(ctx context.Context, in *GetNamespa func (c *guardianServiceClient) ListNamespaces(ctx context.Context, in *ListNamespacesRequest, opts ...grpc.CallOption) (*ListNamespacesResponse, error) { out := new(ListNamespacesResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/ListNamespaces", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_ListNamespaces_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -422,7 +480,7 @@ func (c *guardianServiceClient) ListNamespaces(ctx context.Context, in *ListName func (c *guardianServiceClient) UpdateNamespace(ctx context.Context, in *UpdateNamespaceRequest, opts ...grpc.CallOption) (*UpdateNamespaceResponse, error) { out := new(UpdateNamespaceResponse) - err := c.cc.Invoke(ctx, "/raystack.guardian.v1beta1.GuardianService/UpdateNamespace", in, out, opts...) + err := c.cc.Invoke(ctx, GuardianService_UpdateNamespace_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -436,6 +494,7 @@ type GuardianServiceServer interface { ListProviders(context.Context, *ListProvidersRequest) (*ListProvidersResponse, error) GetProvider(context.Context, *GetProviderRequest) (*GetProviderResponse, error) GetProviderTypes(context.Context, *GetProviderTypesRequest) (*GetProviderTypesResponse, error) + GetProviderRoles(context.Context, *GetProviderRolesRequest) (*GetProviderRolesResponse, error) CreateProvider(context.Context, *CreateProviderRequest) (*CreateProviderResponse, error) UpdateProvider(context.Context, *UpdateProviderRequest) (*UpdateProviderResponse, error) DeleteProvider(context.Context, *DeleteProviderRequest) (*DeleteProviderResponse, error) @@ -490,6 +549,9 @@ func (UnimplementedGuardianServiceServer) GetProvider(context.Context, *GetProvi func (UnimplementedGuardianServiceServer) GetProviderTypes(context.Context, *GetProviderTypesRequest) (*GetProviderTypesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetProviderTypes not implemented") } +func (UnimplementedGuardianServiceServer) GetProviderRoles(context.Context, *GetProviderRolesRequest) (*GetProviderRolesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetProviderRoles not implemented") +} func (UnimplementedGuardianServiceServer) CreateProvider(context.Context, *CreateProviderRequest) (*CreateProviderResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateProvider not implemented") } @@ -624,7 +686,7 @@ func _GuardianService_ListProviders_Handler(srv interface{}, ctx context.Context } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/ListProviders", + FullMethod: GuardianService_ListProviders_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).ListProviders(ctx, req.(*ListProvidersRequest)) @@ -642,7 +704,7 @@ func _GuardianService_GetProvider_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/GetProvider", + FullMethod: GuardianService_GetProvider_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).GetProvider(ctx, req.(*GetProviderRequest)) @@ -660,7 +722,7 @@ func _GuardianService_GetProviderTypes_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/GetProviderTypes", + FullMethod: GuardianService_GetProviderTypes_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).GetProviderTypes(ctx, req.(*GetProviderTypesRequest)) @@ -668,6 +730,24 @@ func _GuardianService_GetProviderTypes_Handler(srv interface{}, ctx context.Cont return interceptor(ctx, in, info, handler) } +func _GuardianService_GetProviderRoles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetProviderRolesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GuardianServiceServer).GetProviderRoles(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: GuardianService_GetProviderRoles_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GuardianServiceServer).GetProviderRoles(ctx, req.(*GetProviderRolesRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _GuardianService_CreateProvider_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CreateProviderRequest) if err := dec(in); err != nil { @@ -678,7 +758,7 @@ func _GuardianService_CreateProvider_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/CreateProvider", + FullMethod: GuardianService_CreateProvider_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).CreateProvider(ctx, req.(*CreateProviderRequest)) @@ -696,7 +776,7 @@ func _GuardianService_UpdateProvider_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/UpdateProvider", + FullMethod: GuardianService_UpdateProvider_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).UpdateProvider(ctx, req.(*UpdateProviderRequest)) @@ -714,7 +794,7 @@ func _GuardianService_DeleteProvider_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/DeleteProvider", + FullMethod: GuardianService_DeleteProvider_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).DeleteProvider(ctx, req.(*DeleteProviderRequest)) @@ -732,7 +812,7 @@ func _GuardianService_ListRoles_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/ListRoles", + FullMethod: GuardianService_ListRoles_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).ListRoles(ctx, req.(*ListRolesRequest)) @@ -750,7 +830,7 @@ func _GuardianService_ImportActivities_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/ImportActivities", + FullMethod: GuardianService_ImportActivities_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).ImportActivities(ctx, req.(*ImportActivitiesRequest)) @@ -768,7 +848,7 @@ func _GuardianService_GetActivity_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/GetActivity", + FullMethod: GuardianService_GetActivity_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).GetActivity(ctx, req.(*GetActivityRequest)) @@ -786,7 +866,7 @@ func _GuardianService_ListActivities_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/ListActivities", + FullMethod: GuardianService_ListActivities_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).ListActivities(ctx, req.(*ListActivitiesRequest)) @@ -804,7 +884,7 @@ func _GuardianService_ListPolicies_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/ListPolicies", + FullMethod: GuardianService_ListPolicies_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).ListPolicies(ctx, req.(*ListPoliciesRequest)) @@ -822,7 +902,7 @@ func _GuardianService_GetPolicy_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/GetPolicy", + FullMethod: GuardianService_GetPolicy_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).GetPolicy(ctx, req.(*GetPolicyRequest)) @@ -840,7 +920,7 @@ func _GuardianService_CreatePolicy_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/CreatePolicy", + FullMethod: GuardianService_CreatePolicy_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).CreatePolicy(ctx, req.(*CreatePolicyRequest)) @@ -858,7 +938,7 @@ func _GuardianService_UpdatePolicy_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/UpdatePolicy", + FullMethod: GuardianService_UpdatePolicy_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).UpdatePolicy(ctx, req.(*UpdatePolicyRequest)) @@ -876,7 +956,7 @@ func _GuardianService_GetPolicyPreferences_Handler(srv interface{}, ctx context. } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/GetPolicyPreferences", + FullMethod: GuardianService_GetPolicyPreferences_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).GetPolicyPreferences(ctx, req.(*GetPolicyPreferencesRequest)) @@ -894,7 +974,7 @@ func _GuardianService_ListResources_Handler(srv interface{}, ctx context.Context } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/ListResources", + FullMethod: GuardianService_ListResources_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).ListResources(ctx, req.(*ListResourcesRequest)) @@ -912,7 +992,7 @@ func _GuardianService_GetResource_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/GetResource", + FullMethod: GuardianService_GetResource_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).GetResource(ctx, req.(*GetResourceRequest)) @@ -930,7 +1010,7 @@ func _GuardianService_UpdateResource_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/UpdateResource", + FullMethod: GuardianService_UpdateResource_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).UpdateResource(ctx, req.(*UpdateResourceRequest)) @@ -948,7 +1028,7 @@ func _GuardianService_DeleteResource_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/DeleteResource", + FullMethod: GuardianService_DeleteResource_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).DeleteResource(ctx, req.(*DeleteResourceRequest)) @@ -966,7 +1046,7 @@ func _GuardianService_ListUserAppeals_Handler(srv interface{}, ctx context.Conte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/ListUserAppeals", + FullMethod: GuardianService_ListUserAppeals_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).ListUserAppeals(ctx, req.(*ListUserAppealsRequest)) @@ -984,7 +1064,7 @@ func _GuardianService_ListAppeals_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/ListAppeals", + FullMethod: GuardianService_ListAppeals_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).ListAppeals(ctx, req.(*ListAppealsRequest)) @@ -1002,7 +1082,7 @@ func _GuardianService_GetAppeal_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/GetAppeal", + FullMethod: GuardianService_GetAppeal_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).GetAppeal(ctx, req.(*GetAppealRequest)) @@ -1020,7 +1100,7 @@ func _GuardianService_CancelAppeal_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/CancelAppeal", + FullMethod: GuardianService_CancelAppeal_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).CancelAppeal(ctx, req.(*CancelAppealRequest)) @@ -1038,7 +1118,7 @@ func _GuardianService_CreateAppeal_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/CreateAppeal", + FullMethod: GuardianService_CreateAppeal_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).CreateAppeal(ctx, req.(*CreateAppealRequest)) @@ -1056,7 +1136,7 @@ func _GuardianService_ListUserApprovals_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/ListUserApprovals", + FullMethod: GuardianService_ListUserApprovals_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).ListUserApprovals(ctx, req.(*ListUserApprovalsRequest)) @@ -1074,7 +1154,7 @@ func _GuardianService_ListApprovals_Handler(srv interface{}, ctx context.Context } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/ListApprovals", + FullMethod: GuardianService_ListApprovals_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).ListApprovals(ctx, req.(*ListApprovalsRequest)) @@ -1092,7 +1172,7 @@ func _GuardianService_UpdateApproval_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/UpdateApproval", + FullMethod: GuardianService_UpdateApproval_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).UpdateApproval(ctx, req.(*UpdateApprovalRequest)) @@ -1110,7 +1190,7 @@ func _GuardianService_AddApprover_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/AddApprover", + FullMethod: GuardianService_AddApprover_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).AddApprover(ctx, req.(*AddApproverRequest)) @@ -1128,7 +1208,7 @@ func _GuardianService_DeleteApprover_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/DeleteApprover", + FullMethod: GuardianService_DeleteApprover_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).DeleteApprover(ctx, req.(*DeleteApproverRequest)) @@ -1146,7 +1226,7 @@ func _GuardianService_ListGrants_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/ListGrants", + FullMethod: GuardianService_ListGrants_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).ListGrants(ctx, req.(*ListGrantsRequest)) @@ -1164,7 +1244,7 @@ func _GuardianService_ListUserGrants_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/ListUserGrants", + FullMethod: GuardianService_ListUserGrants_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).ListUserGrants(ctx, req.(*ListUserGrantsRequest)) @@ -1182,7 +1262,7 @@ func _GuardianService_GetGrant_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/GetGrant", + FullMethod: GuardianService_GetGrant_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).GetGrant(ctx, req.(*GetGrantRequest)) @@ -1200,7 +1280,7 @@ func _GuardianService_UpdateGrant_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/UpdateGrant", + FullMethod: GuardianService_UpdateGrant_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).UpdateGrant(ctx, req.(*UpdateGrantRequest)) @@ -1218,7 +1298,7 @@ func _GuardianService_RevokeGrant_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/RevokeGrant", + FullMethod: GuardianService_RevokeGrant_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).RevokeGrant(ctx, req.(*RevokeGrantRequest)) @@ -1236,7 +1316,7 @@ func _GuardianService_RevokeGrants_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/RevokeGrants", + FullMethod: GuardianService_RevokeGrants_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).RevokeGrants(ctx, req.(*RevokeGrantsRequest)) @@ -1254,7 +1334,7 @@ func _GuardianService_ImportGrantsFromProvider_Handler(srv interface{}, ctx cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/ImportGrantsFromProvider", + FullMethod: GuardianService_ImportGrantsFromProvider_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).ImportGrantsFromProvider(ctx, req.(*ImportGrantsFromProviderRequest)) @@ -1272,7 +1352,7 @@ func _GuardianService_CreateNamespace_Handler(srv interface{}, ctx context.Conte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/CreateNamespace", + FullMethod: GuardianService_CreateNamespace_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).CreateNamespace(ctx, req.(*CreateNamespaceRequest)) @@ -1290,7 +1370,7 @@ func _GuardianService_GetNamespace_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/GetNamespace", + FullMethod: GuardianService_GetNamespace_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).GetNamespace(ctx, req.(*GetNamespaceRequest)) @@ -1308,7 +1388,7 @@ func _GuardianService_ListNamespaces_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/ListNamespaces", + FullMethod: GuardianService_ListNamespaces_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).ListNamespaces(ctx, req.(*ListNamespacesRequest)) @@ -1326,7 +1406,7 @@ func _GuardianService_UpdateNamespace_Handler(srv interface{}, ctx context.Conte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.guardian.v1beta1.GuardianService/UpdateNamespace", + FullMethod: GuardianService_UpdateNamespace_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GuardianServiceServer).UpdateNamespace(ctx, req.(*UpdateNamespaceRequest)) @@ -1353,6 +1433,10 @@ var GuardianService_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetProviderTypes", Handler: _GuardianService_GetProviderTypes_Handler, }, + { + MethodName: "GetProviderRoles", + Handler: _GuardianService_GetProviderRoles_Handler, + }, { MethodName: "CreateProvider", Handler: _GuardianService_CreateProvider_Handler, diff --git a/core/provider/mocks/client.go b/core/provider/mocks/Client.go similarity index 88% rename from core/provider/mocks/client.go rename to core/provider/mocks/Client.go index de94fce67..70578a869 100644 --- a/core/provider/mocks/client.go +++ b/core/provider/mocks/Client.go @@ -115,6 +115,66 @@ func (_c *Client_GetAccountTypes_Call) RunAndReturn(run func() []string) *Client return _c } +// GetDefaultRoles provides a mock function with given fields: ctx, name, resourceType +func (_m *Client) GetDefaultRoles(ctx context.Context, name string, resourceType string) ([]string, error) { + ret := _m.Called(ctx, name, resourceType) + + if len(ret) == 0 { + panic("no return value specified for GetDefaultRoles") + } + + var r0 []string + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, string, string) ([]string, error)); ok { + return rf(ctx, name, resourceType) + } + if rf, ok := ret.Get(0).(func(context.Context, string, string) []string); ok { + r0 = rf(ctx, name, resourceType) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).([]string) + } + } + + if rf, ok := ret.Get(1).(func(context.Context, string, string) error); ok { + r1 = rf(ctx, name, resourceType) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// Client_GetDefaultRoles_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetDefaultRoles' +type Client_GetDefaultRoles_Call struct { + *mock.Call +} + +// GetDefaultRoles is a helper method to define mock.On call +// - ctx context.Context +// - name string +// - resourceType string +func (_e *Client_Expecter) GetDefaultRoles(ctx interface{}, name interface{}, resourceType interface{}) *Client_GetDefaultRoles_Call { + return &Client_GetDefaultRoles_Call{Call: _e.mock.On("GetDefaultRoles", ctx, name, resourceType)} +} + +func (_c *Client_GetDefaultRoles_Call) Run(run func(ctx context.Context, name string, resourceType string)) *Client_GetDefaultRoles_Call { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(context.Context), args[1].(string), args[2].(string)) + }) + return _c +} + +func (_c *Client_GetDefaultRoles_Call) Return(_a0 []string, _a1 error) *Client_GetDefaultRoles_Call { + _c.Call.Return(_a0, _a1) + return _c +} + +func (_c *Client_GetDefaultRoles_Call) RunAndReturn(run func(context.Context, string, string) ([]string, error)) *Client_GetDefaultRoles_Call { + _c.Call.Return(run) + return _c +} + // GetPermissions provides a mock function with given fields: p, resourceType, role func (_m *Client) GetPermissions(p *domain.ProviderConfig, resourceType string, role string) ([]interface{}, error) { ret := _m.Called(p, resourceType, role) diff --git a/core/provider/service.go b/core/provider/service.go index cf69eb12b..9b1abc7c5 100644 --- a/core/provider/service.go +++ b/core/provider/service.go @@ -183,6 +183,15 @@ func (s *Service) GetOne(ctx context.Context, pType, urn string) (*domain.Provid return s.repository.GetOne(ctx, pType, urn) } +func (s *Service) GetDefaultRoles(ctx context.Context, name string, resourceType string) ([]string, error) { + c := s.getClient(name) + if c == nil { + return nil, ErrInvalidProviderType + } + + return c.GetDefaultRoles(ctx, name, resourceType) +} + // Update updates the non-zero value(s) only func (s *Service) Update(ctx context.Context, p *domain.Provider) error { c := s.getClient(p.Type) diff --git a/docs/docs/apis/guardian-service-get-provider-roles.api.mdx b/docs/docs/apis/guardian-service-get-provider-roles.api.mdx new file mode 100644 index 000000000..ce8ba6837 --- /dev/null +++ b/docs/docs/apis/guardian-service-get-provider-roles.api.mdx @@ -0,0 +1,58 @@ +--- +id: guardian-service-get-provider-roles +title: "Get Provider Default Roles" +description: "Get Provider Roles returns a list of roles supported by a provider while creating a new provider" +sidebar_label: "Get Provider Default Roles" +hide_title: true +hide_table_of_contents: true +api: {"description":"Get Provider Roles returns a list of roles supported by a provider while creating a new provider","operationId":"GuardianService_GetProviderRoles","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"roles":{"type":"array","items":{"type":"string"},"description":"List of roles supported by the provider"}}}}}},"400":{"description":"Bad Request - The request was malformed or contained invalid parameters.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}}}}}}}},"401":{"description":"Unauthorized - Authentication is required","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}}}}}}}},"403":{"description":"Forbidden - User does not have permission to access the resource","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}}}}}}}},"404":{"description":"Not Found - The requested resource was not found","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}}}}}}}},"500":{"description":"Internal Server Error. Returned when theres is something wrong with Frontier server.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}}}}}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}}}}}}}}},"parameters":[{"name":"name","description":"Name of the provider","in":"path","required":true,"schema":{"type":"string"}},{"name":"resourceType","description":"Resource type for which the roles are to be fetched","in":"query","required":false,"schema":{"type":"string"}}],"tags":["Providers"],"method":"get","path":"/v1beta1/providers/{name}/roles","servers":[{"url":"http://127.0.0.1:7400"}],"security":[{"apiKey":[]}],"securitySchemes":{"apiKey":{"type":"apiKey","description":"Email address of the user","name":"X-Auth-Email","in":"header"}},"info":{"title":"Guardian APIs","version":"0.1.0"},"postman":{"name":"Get Provider Default Roles","description":{"content":"Get Provider Roles returns a list of roles supported by a provider while creating a new provider","type":"text/plain"},"url":{"path":["v1beta1","providers",":name","roles"],"host":["{{baseUrl}}"],"query":[{"disabled":false,"description":{"content":"Resource type for which the roles are to be fetched","type":"text/plain"},"key":"resourceType","value":""}],"variable":[{"disabled":false,"description":{"content":"(Required) Name of the provider","type":"text/plain"},"type":"any","value":"","key":"name"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs/apis/guardian-apis +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## Get Provider Default Roles + + + +Get Provider Roles returns a list of roles supported by a provider while creating a new provider + +
Path Parameters
Query Parameters
+ +A successful response. + +
Schema
+ +Bad Request - The request was malformed or contained invalid parameters. + +
Schema
    details object[]
  • Array [
  • ]
+ +Unauthorized - Authentication is required + +
Schema
    details object[]
  • Array [
  • ]
+ +Forbidden - User does not have permission to access the resource + +
Schema
    details object[]
  • Array [
  • ]
+ +Not Found - The requested resource was not found + +
Schema
    details object[]
  • Array [
  • ]
+ +Internal Server Error. Returned when theres is something wrong with Frontier server. + +
Schema
    details object[]
  • Array [
  • ]
+ +An unexpected error response. + +
Schema
    details object[]
  • Array [
  • ]
+ \ No newline at end of file diff --git a/docs/docs/apis/sidebar.js b/docs/docs/apis/sidebar.js index bc678026e..ecb8c754d 100644 --- a/docs/docs/apis/sidebar.js +++ b/docs/docs/apis/sidebar.js @@ -1 +1 @@ -module.exports = [{"type":"doc","id":"apis/guardian-apis"},{"type":"category","label":"Providers","link":{"type":"generated-index","title":"Providers","slug":"/category/apis/providers"},"items":[{"type":"doc","id":"apis/guardian-service-list-providers","label":"List Providers","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-create-provider","label":"Create Provider","className":"api-method post"},{"type":"doc","id":"apis/guardian-service-get-provider-types","label":"Get Provider Types","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-update-provider-2","label":"Update Provider","className":"api-method put"},{"type":"doc","id":"apis/guardian-service-get-provider","label":"Get Provider","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-delete-provider","label":"Delete Provider","className":"api-method delete"},{"type":"doc","id":"apis/guardian-service-update-provider","label":"Update Provider","className":"api-method put"},{"type":"doc","id":"apis/guardian-service-list-roles","label":"List Roles","className":"api-method get"}]},{"type":"category","label":"Resources","link":{"type":"generated-index","title":"Resources","slug":"/category/apis/resources"},"items":[{"type":"doc","id":"apis/guardian-service-list-resources","label":"List Resources","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-get-resource","label":"Get Resource","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-delete-resource","label":"Delete Resource","className":"api-method delete"},{"type":"doc","id":"apis/guardian-service-update-resource","label":"Update Resource","className":"api-method put"}]},{"type":"category","label":"Policies","link":{"type":"generated-index","title":"Policies","slug":"/category/apis/policies"},"items":[{"type":"doc","id":"apis/guardian-service-list-policies","label":"List Policies","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-create-policy","label":"Create Policy","className":"api-method post"},{"type":"doc","id":"apis/guardian-service-update-policy","label":"Update Policy","className":"api-method put"},{"type":"doc","id":"apis/guardian-service-get-policy","label":"Get Policy","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-get-policy-preferences","label":"Get Policy Preferences","className":"api-method get"}]},{"type":"category","label":"Activities","link":{"type":"generated-index","title":"Activities","slug":"/category/apis/activities"},"items":[{"type":"doc","id":"apis/guardian-service-list-activities","label":"List Activities","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-import-activities","label":"Import Activities","className":"api-method post"},{"type":"doc","id":"apis/guardian-service-get-activity","label":"Get Activity","className":"api-method get"}]},{"type":"category","label":"Appeals","link":{"type":"generated-index","title":"Appeals","slug":"/category/apis/appeals"},"items":[{"type":"doc","id":"apis/guardian-service-list-appeals","label":"List Appeals","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-create-appeal","label":"Create Appeal","className":"api-method post"},{"type":"doc","id":"apis/guardian-service-get-appeal","label":"Get Appeal","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-cancel-appeal","label":"Cancel Appeal","className":"api-method put"},{"type":"doc","id":"apis/guardian-service-list-user-appeals","label":"List User Appeals","className":"api-method get"}]},{"type":"category","label":"Approvals","link":{"type":"generated-index","title":"Approvals","slug":"/category/apis/approvals"},"items":[{"type":"doc","id":"apis/guardian-service-add-approver","label":"Add Approver","className":"api-method post"},{"type":"doc","id":"apis/guardian-service-delete-approver","label":"Delete Approver","className":"api-method delete"},{"type":"doc","id":"apis/guardian-service-update-approval","label":"Update Approval","className":"api-method post"},{"type":"doc","id":"apis/guardian-service-list-approvals","label":"List Approvals","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-list-user-approvals","label":"List User Approvals","className":"api-method get"}]},{"type":"category","label":"Grants","link":{"type":"generated-index","title":"Grants","slug":"/category/apis/grants"},"items":[{"type":"doc","id":"apis/guardian-service-list-grants","label":"List Grants","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-import-grants-from-provider","label":"Import Grants From Provider","className":"api-method post"},{"type":"doc","id":"apis/guardian-service-revoke-grants","label":"Revoke Grants","className":"api-method put"},{"type":"doc","id":"apis/guardian-service-get-grant","label":"Get Grant","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-update-grant","label":"Update Grant","className":"api-method patch"},{"type":"doc","id":"apis/guardian-service-revoke-grant","label":"Revoke Grant","className":"api-method put"},{"type":"doc","id":"apis/guardian-service-list-user-grants","label":"List User Grants","className":"api-method get"}]},{"type":"category","label":"Namespaces","link":{"type":"generated-index","title":"Namespaces","slug":"/category/apis/namespaces"},"items":[{"type":"doc","id":"apis/guardian-service-list-namespaces","label":"List Namespaces","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-create-namespace","label":"Create Namespace","className":"api-method post"},{"type":"doc","id":"apis/guardian-service-get-namespace","label":"Get Namespace","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-update-namespace","label":"Update Namespace","className":"api-method put"}]}]; \ No newline at end of file +module.exports = [{"type":"doc","id":"apis/guardian-apis"},{"type":"category","label":"Providers","link":{"type":"generated-index","title":"Providers","slug":"/category/apis/providers"},"items":[{"type":"doc","id":"apis/guardian-service-list-providers","label":"List Providers","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-create-provider","label":"Create Provider","className":"api-method post"},{"type":"doc","id":"apis/guardian-service-get-provider-types","label":"Get Provider Types","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-update-provider-2","label":"Update Provider","className":"api-method put"},{"type":"doc","id":"apis/guardian-service-get-provider","label":"Get Provider","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-delete-provider","label":"Delete Provider","className":"api-method delete"},{"type":"doc","id":"apis/guardian-service-update-provider","label":"Update Provider","className":"api-method put"},{"type":"doc","id":"apis/guardian-service-list-roles","label":"List Roles","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-get-provider-roles","label":"Get Provider Default Roles","className":"api-method get"}]},{"type":"category","label":"Resources","link":{"type":"generated-index","title":"Resources","slug":"/category/apis/resources"},"items":[{"type":"doc","id":"apis/guardian-service-list-resources","label":"List Resources","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-get-resource","label":"Get Resource","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-delete-resource","label":"Delete Resource","className":"api-method delete"},{"type":"doc","id":"apis/guardian-service-update-resource","label":"Update Resource","className":"api-method put"}]},{"type":"category","label":"Policies","link":{"type":"generated-index","title":"Policies","slug":"/category/apis/policies"},"items":[{"type":"doc","id":"apis/guardian-service-list-policies","label":"List Policies","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-create-policy","label":"Create Policy","className":"api-method post"},{"type":"doc","id":"apis/guardian-service-update-policy","label":"Update Policy","className":"api-method put"},{"type":"doc","id":"apis/guardian-service-get-policy","label":"Get Policy","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-get-policy-preferences","label":"Get Policy Preferences","className":"api-method get"}]},{"type":"category","label":"Activities","link":{"type":"generated-index","title":"Activities","slug":"/category/apis/activities"},"items":[{"type":"doc","id":"apis/guardian-service-list-activities","label":"List Activities","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-import-activities","label":"Import Activities","className":"api-method post"},{"type":"doc","id":"apis/guardian-service-get-activity","label":"Get Activity","className":"api-method get"}]},{"type":"category","label":"Appeals","link":{"type":"generated-index","title":"Appeals","slug":"/category/apis/appeals"},"items":[{"type":"doc","id":"apis/guardian-service-list-appeals","label":"List Appeals","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-create-appeal","label":"Create Appeal","className":"api-method post"},{"type":"doc","id":"apis/guardian-service-get-appeal","label":"Get Appeal","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-cancel-appeal","label":"Cancel Appeal","className":"api-method put"},{"type":"doc","id":"apis/guardian-service-list-user-appeals","label":"List User Appeals","className":"api-method get"}]},{"type":"category","label":"Approvals","link":{"type":"generated-index","title":"Approvals","slug":"/category/apis/approvals"},"items":[{"type":"doc","id":"apis/guardian-service-add-approver","label":"Add Approver","className":"api-method post"},{"type":"doc","id":"apis/guardian-service-delete-approver","label":"Delete Approver","className":"api-method delete"},{"type":"doc","id":"apis/guardian-service-update-approval","label":"Update Approval","className":"api-method post"},{"type":"doc","id":"apis/guardian-service-list-approvals","label":"List Approvals","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-list-user-approvals","label":"List User Approvals","className":"api-method get"}]},{"type":"category","label":"Grants","link":{"type":"generated-index","title":"Grants","slug":"/category/apis/grants"},"items":[{"type":"doc","id":"apis/guardian-service-list-grants","label":"List Grants","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-import-grants-from-provider","label":"Import Grants From Provider","className":"api-method post"},{"type":"doc","id":"apis/guardian-service-revoke-grants","label":"Revoke Grants","className":"api-method put"},{"type":"doc","id":"apis/guardian-service-get-grant","label":"Get Grant","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-update-grant","label":"Update Grant","className":"api-method patch"},{"type":"doc","id":"apis/guardian-service-revoke-grant","label":"Revoke Grant","className":"api-method put"},{"type":"doc","id":"apis/guardian-service-list-user-grants","label":"List User Grants","className":"api-method get"}]},{"type":"category","label":"Namespaces","link":{"type":"generated-index","title":"Namespaces","slug":"/category/apis/namespaces"},"items":[{"type":"doc","id":"apis/guardian-service-list-namespaces","label":"List Namespaces","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-create-namespace","label":"Create Namespace","className":"api-method post"},{"type":"doc","id":"apis/guardian-service-get-namespace","label":"Get Namespace","className":"api-method get"},{"type":"doc","id":"apis/guardian-service-update-namespace","label":"Update Namespace","className":"api-method put"}]}]; \ No newline at end of file diff --git a/plugins/providers/bigquery/config.go b/plugins/providers/bigquery/config.go index ab77d6cb6..057d4890e 100644 --- a/plugins/providers/bigquery/config.go +++ b/plugins/providers/bigquery/config.go @@ -14,10 +14,33 @@ import ( ) const ( + // legacy roles DatasetRoleReader = "READER" DatasetRoleWriter = "WRITER" DatasetRoleOwner = "OWNER" + // new roles + BigQueryRoleAdmin = "roles/bigquery.admin" + BigQueryRoleUser = "roles/bigquery.user" + + BigQueryConnectionAdmin = "roles/bigquery.connectionAdmin" + BigQueryConnectionUser = "roles/bigquery.connectionUser" + + BigQueryRoleDataEditor = "roles/bigquery.dataEditor" + BigQueryRoleDataOwner = "roles/bigquery.dataOwner" + BigQueryRoleDataViewer = "roles/bigquery.dataViewer" + + BigQueryFilteredDataViewer = "roles/bigquery.filteredDataViewer" + BigQueryRoleJobUser = "roles/bigquery.jobUser" + BigQueryRoleMetaViewer = "roles/bigquery.metadataViewer" + + BigQueryReadSessionUser = "roles/bigquery.readSessionUser" + BigQueryResourceAdmin = "roles/bigquery.resourceAdmin" + BigQueryResourceEditor = "roles/bigquery.resourceEditor" + BigQueryResourceViewer = "roles/bigquery.resourceViewer" + + BigQueryMaskedReader = "roles/bigquerydatapolicy.maskedReader" + AccountTypeUser = "user" AccountTypeServiceAccount = "serviceAccount" ) diff --git a/plugins/providers/bigquery/provider.go b/plugins/providers/bigquery/provider.go index f7d524bf5..496f96036 100644 --- a/plugins/providers/bigquery/provider.go +++ b/plugins/providers/bigquery/provider.go @@ -102,6 +102,30 @@ func (p *Provider) GetType() string { return p.typeName } +// GetDefaultRoles returns a list of roles supported by the provider +func (p *Provider) GetDefaultRoles(ctx context.Context, name string, resourceType string) ([]string, error) { + return []string{ + DatasetRoleOwner, + DatasetRoleWriter, + DatasetRoleReader, + BigQueryRoleAdmin, + BigQueryRoleUser, + BigQueryRoleDataOwner, + BigQueryRoleDataEditor, + BigQueryRoleDataViewer, + BigQueryConnectionAdmin, + BigQueryConnectionUser, + BigQueryFilteredDataViewer, + BigQueryRoleJobUser, + BigQueryRoleMetaViewer, + BigQueryReadSessionUser, + BigQueryResourceAdmin, + BigQueryResourceEditor, + BigQueryResourceViewer, + BigQueryMaskedReader, + }, nil +} + // CreateConfig validates provider config func (p *Provider) CreateConfig(pc *domain.ProviderConfig) error { c := NewConfig(pc, p.encryptor) diff --git a/plugins/providers/client.go b/plugins/providers/client.go index 65b3ecdac..03624ac67 100644 --- a/plugins/providers/client.go +++ b/plugins/providers/client.go @@ -8,6 +8,7 @@ import ( type Client interface { GetType() string + GetDefaultRoles(ctx context.Context, name string, resourceType string) ([]string, error) CreateConfig(*domain.ProviderConfig) error GetResources(pc *domain.ProviderConfig) ([]*domain.Resource, error) GrantAccess(*domain.ProviderConfig, domain.Grant) error diff --git a/plugins/providers/dataplex/provider.go b/plugins/providers/dataplex/provider.go index 7c3f0d66b..82b73517b 100644 --- a/plugins/providers/dataplex/provider.go +++ b/plugins/providers/dataplex/provider.go @@ -43,6 +43,11 @@ func (p *Provider) GetType() string { return p.typeName } +// GetDefaultRoles returns a list of roles supported by the provider +func (p *Provider) GetDefaultRoles(ctx context.Context, name string, resourceType string) ([]string, error) { + return []string{}, nil +} + // CreateConfig validates provider config func (p *Provider) CreateConfig(pc *domain.ProviderConfig) error { c := NewConfig(pc, p.encryptor) diff --git a/plugins/providers/frontier/client.go b/plugins/providers/frontier/client.go index 719f83f49..1dcecb877 100644 --- a/plugins/providers/frontier/client.go +++ b/plugins/providers/frontier/client.go @@ -158,14 +158,6 @@ func (c *client) GetGroups(orgID string) ([]*Group, error) { } groups := response[groupsConst] - for _, group := range groups { - admins, err := c.GetAdminsOfGivenResourceType(group.ID, groupsEndpoint) - if err != nil { - return nil, err - } - group.Admins = admins - } - c.logger.Info("Fetch groups from request", "total", len(groups), "url", req.URL) return groups, err diff --git a/plugins/providers/frontier/client_test.go b/plugins/providers/frontier/client_test.go index 80077e2f9..14a350040 100644 --- a/plugins/providers/frontier/client_test.go +++ b/plugins/providers/frontier/client_test.go @@ -168,7 +168,6 @@ func (s *ClientTestSuite) TestGetGroups() { Privacy: "public", Slack: "@group_1", }, - Admins: []string{"test.admin@email.com"}, }, { ID: "group_id_2", @@ -180,37 +179,9 @@ func (s *ClientTestSuite) TestGetGroups() { Privacy: "public", Slack: "@group_2", }, - Admins: []string{"test.admin@email.com"}, }, } - testAdminsRequest1, err := s.getTestRequest(http.MethodGet, "/v1beta1/organizations/org_id_1/groups/group_id_1/admins", nil, "") - s.Require().NoError(err) - - testAdminsRequest2, err := s.getTestRequest(http.MethodGet, "/v1beta1/organizations/org_id_1/groups/group_id_2/admins", nil, "") - s.Require().NoError(err) - - groupAdminResponse := `{ - "users": [ - { - "id": "admin_id", - "name": "Test_Admin", - "title": "Test_Admin", - "email": "test.admin@email.com", - "metadata": { - "slack": "@Test_Admin" - }, - "createdAt": "2022-03-17T09:43:12.391071Z", - "updatedAt": "2022-03-17T09:43:12.391071Z" - }] - }` - - groupAdminResponse1 := http.Response{StatusCode: 200, Body: ioutil.NopCloser(bytes.NewReader([]byte(groupAdminResponse)))} - s.mockHttpClient.On("Do", testAdminsRequest1).Return(&groupAdminResponse1, nil).Once() - - groupAdminResponse2 := http.Response{StatusCode: 200, Body: ioutil.NopCloser(bytes.NewReader([]byte(groupAdminResponse)))} - s.mockHttpClient.On("Do", testAdminsRequest2).Return(&groupAdminResponse2, nil).Once() - result, err1 := s.client.GetGroups("org_id_1") var groups []frontier.Group for _, group := range result { diff --git a/plugins/providers/frontier/provider.go b/plugins/providers/frontier/provider.go index 5f33e4184..313d62599 100644 --- a/plugins/providers/frontier/provider.go +++ b/plugins/providers/frontier/provider.go @@ -1,6 +1,8 @@ package frontier import ( + "context" + "github.com/mitchellh/mapstructure" pv "github.com/raystack/guardian/core/provider" "github.com/raystack/guardian/domain" @@ -34,6 +36,42 @@ func (p *provider) GetType() string { return p.typeName } +// GetDefaultRoles returns a list of roles supported by the provider +func (p *provider) GetDefaultRoles(ctx context.Context, name string, resourceType string) ([]string, error) { + orgRoles := []string{ + RoleOrgViewer, + RoleOrgManager, + RoleOrgOwner, + RoleOrgAccessManager, + } + + projectRoles := []string{ + RoleProjectOwner, + RoleProjectManager, + RoleProjectViewer, + } + + groupRoles := []string{ + RoleGroupOwner, + RoleGroupMember, + } + + switch resourceType { + case ResourceTypeOrganization: + return orgRoles, nil + case ResourceTypeProject: + return projectRoles, nil + case ResourceTypeGroup: + return groupRoles, nil + case "": + allRoles := append(orgRoles, projectRoles...) + allRoles = append(allRoles, groupRoles...) + return allRoles, nil + default: + return nil, ErrInvalidResourceType + } +} + func (p *provider) CreateConfig(pc *domain.ProviderConfig) error { c := NewConfig(pc) return c.ParseAndValidate() diff --git a/plugins/providers/gcloudiam/provider.go b/plugins/providers/gcloudiam/provider.go index 212347f88..84dbb958e 100644 --- a/plugins/providers/gcloudiam/provider.go +++ b/plugins/providers/gcloudiam/provider.go @@ -48,6 +48,11 @@ func (p *Provider) GetType() string { return p.typeName } +// GetDefaultRoles returns a list of roles supported by the provider +func (p *Provider) GetDefaultRoles(ctx context.Context, name string, resourceType string) ([]string, error) { + return []string{}, nil +} + func (p *Provider) CreateConfig(pc *domain.ProviderConfig) error { c := NewConfig(pc, p.crypto) diff --git a/plugins/providers/gcs/provider.go b/plugins/providers/gcs/provider.go index cb8f578ad..b2a3d03a1 100644 --- a/plugins/providers/gcs/provider.go +++ b/plugins/providers/gcs/provider.go @@ -95,6 +95,27 @@ func (p *Provider) GetType() string { return p.typeName } +// GetDefaultRoles returns a list of roles supported by the provider +func (p *Provider) GetDefaultRoles(ctx context.Context, name string, resourceType string) ([]string, error) { + bucketRoles := []string{ + BucketRoleAdmin, + BucketRoleOwner, + BucketRoleReader, + BucketRoleWriter, + BucketRoleObjectAdmin, + BucketRoleObjectCreator, + BucketRoleObjectOwner, + BucketRoleObjectReader, + BucketRoleObjectViewer, + } + + if resourceType == ResourceTypeBucket || resourceType == "" { + return bucketRoles, nil + } + + return nil, ErrInvalidResourceType +} + func (p *Provider) GrantAccess(pc *domain.ProviderConfig, a domain.Grant) error { if err := validateProviderConfigAndAppealParams(pc, a); err != nil { return fmt.Errorf("invalid provider/appeal config: %w", err) diff --git a/plugins/providers/grafana/provider.go b/plugins/providers/grafana/provider.go index ddcc9a5f7..8b74cf880 100644 --- a/plugins/providers/grafana/provider.go +++ b/plugins/providers/grafana/provider.go @@ -1,6 +1,8 @@ package grafana import ( + "context" + "github.com/mitchellh/mapstructure" pv "github.com/raystack/guardian/core/provider" "github.com/raystack/guardian/domain" @@ -27,6 +29,19 @@ func (p *provider) GetType() string { return p.typeName } +// GetDefaultRoles returns a list of roles supported by the provider +func (p *provider) GetDefaultRoles(ctx context.Context, name string, resourceType string) ([]string, error) { + if resourceType == ResourceTypeDashboard || resourceType == "" { + return []string{ + DashboardRoleAdmin, + DashboardRoleEditor, + DashboardRoleViewer, + }, nil + } + + return nil, ErrInvalidResourceType +} + func (p *provider) CreateConfig(pc *domain.ProviderConfig) error { c := NewConfig(pc, p.crypto) diff --git a/plugins/providers/metabase/provider.go b/plugins/providers/metabase/provider.go index e4f994850..ac34d05ce 100644 --- a/plugins/providers/metabase/provider.go +++ b/plugins/providers/metabase/provider.go @@ -1,6 +1,7 @@ package metabase import ( + "context" "strings" "github.com/mitchellh/mapstructure" @@ -32,6 +33,36 @@ func (p *provider) GetType() string { return p.typeName } +// GetDefaultRoles returns a list of roles supported by the provider +func (p *provider) GetDefaultRoles(ctx context.Context, name string, resourceType string) ([]string, error) { + databaseRoles := []string{ + DatabaseRoleViewer, + DatabaseRoleEditor, + } + collectionRoles := []string{ + CollectionRoleViewer, + CollectionRoleCurate, + } + tableRoles := []string{ + TableRoleViewer, + } + allRoles := append(databaseRoles, collectionRoles...) + allRoles = append(allRoles, tableRoles...) + + switch resourceType { + case ResourceTypeDatabase: + return databaseRoles, nil + case ResourceTypeCollection: + return collectionRoles, nil + case ResourceTypeTable: + return tableRoles, nil + case "": + return allRoles, nil + default: + return nil, ErrInvalidResourceType + } +} + func (p *provider) CreateConfig(pc *domain.ProviderConfig) error { c := NewConfig(pc, p.crypto) diff --git a/plugins/providers/noop/provider.go b/plugins/providers/noop/provider.go index 76877f09d..e0d28a0f9 100644 --- a/plugins/providers/noop/provider.go +++ b/plugins/providers/noop/provider.go @@ -1,6 +1,7 @@ package noop import ( + "context" "errors" "github.com/raystack/guardian/core/provider" @@ -38,6 +39,11 @@ func (p *Provider) GetType() string { return p.typeName } +// GetDefaultRoles returns a list of roles supported by the provider +func (p *Provider) GetDefaultRoles(ctx context.Context, name string, resourceType string) ([]string, error) { + return []string{}, nil +} + func (p *Provider) CreateConfig(cfg *domain.ProviderConfig) error { if cfg.Type != domain.ProviderTypeNoOp { return ErrInvalidProviderType diff --git a/plugins/providers/tableau/provider.go b/plugins/providers/tableau/provider.go index 2fec7ad14..f878313a7 100644 --- a/plugins/providers/tableau/provider.go +++ b/plugins/providers/tableau/provider.go @@ -1,6 +1,8 @@ package tableau import ( + "context" + "github.com/mitchellh/mapstructure" pv "github.com/raystack/guardian/core/provider" "github.com/raystack/guardian/domain" @@ -27,6 +29,11 @@ func (p *provider) GetType() string { return p.typeName } +// GetDefaultRoles returns a list of roles supported by the provider +func (p *provider) GetDefaultRoles(ctx context.Context, name string, resourceType string) ([]string, error) { + return []string{}, nil +} + func (p *provider) CreateConfig(pc *domain.ProviderConfig) error { c := NewConfig(pc, p.crypto)