// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.20.1 // protoc v3.11.3 // source: management.proto package management import ( context "context" _ "github.com/caos/zitadel/internal/protoc/protoc-gen-authoption/authoption" message "github.com/caos/zitadel/pkg/grpc/message" _ "github.com/envoyproxy/protoc-gen-validate/validate" proto "github.com/golang/protobuf/proto" empty "github.com/golang/protobuf/ptypes/empty" _struct "github.com/golang/protobuf/ptypes/struct" timestamp "github.com/golang/protobuf/ptypes/timestamp" _ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger/options" _ "google.golang.org/genproto/googleapis/api/annotations" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // This is a compile-time assertion that a sufficiently up-to-date version // of the legacy proto package is being used. const _ = proto.ProtoPackageIsVersion4 type UserState int32 const ( UserState_USERSTATE_UNSPECIFIED UserState = 0 UserState_USERSTATE_ACTIVE UserState = 1 UserState_USERSTATE_INACTIVE UserState = 2 UserState_USERSTATE_DELETED UserState = 3 UserState_USERSTATE_LOCKED UserState = 4 UserState_USERSTATE_SUSPEND UserState = 5 UserState_USERSTATE_INITIAL UserState = 6 ) // Enum value maps for UserState. var ( UserState_name = map[int32]string{ 0: "USERSTATE_UNSPECIFIED", 1: "USERSTATE_ACTIVE", 2: "USERSTATE_INACTIVE", 3: "USERSTATE_DELETED", 4: "USERSTATE_LOCKED", 5: "USERSTATE_SUSPEND", 6: "USERSTATE_INITIAL", } UserState_value = map[string]int32{ "USERSTATE_UNSPECIFIED": 0, "USERSTATE_ACTIVE": 1, "USERSTATE_INACTIVE": 2, "USERSTATE_DELETED": 3, "USERSTATE_LOCKED": 4, "USERSTATE_SUSPEND": 5, "USERSTATE_INITIAL": 6, } ) func (x UserState) Enum() *UserState { p := new(UserState) *p = x return p } func (x UserState) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (UserState) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[0].Descriptor() } func (UserState) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[0] } func (x UserState) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use UserState.Descriptor instead. func (UserState) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{0} } type Gender int32 const ( Gender_GENDER_UNSPECIFIED Gender = 0 Gender_GENDER_FEMALE Gender = 1 Gender_GENDER_MALE Gender = 2 Gender_GENDER_DIVERSE Gender = 3 ) // Enum value maps for Gender. var ( Gender_name = map[int32]string{ 0: "GENDER_UNSPECIFIED", 1: "GENDER_FEMALE", 2: "GENDER_MALE", 3: "GENDER_DIVERSE", } Gender_value = map[string]int32{ "GENDER_UNSPECIFIED": 0, "GENDER_FEMALE": 1, "GENDER_MALE": 2, "GENDER_DIVERSE": 3, } ) func (x Gender) Enum() *Gender { p := new(Gender) *p = x return p } func (x Gender) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Gender) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[1].Descriptor() } func (Gender) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[1] } func (x Gender) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Gender.Descriptor instead. func (Gender) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{1} } type UserSearchKey int32 const ( UserSearchKey_USERSEARCHKEY_UNSPECIFIED UserSearchKey = 0 UserSearchKey_USERSEARCHKEY_USER_NAME UserSearchKey = 1 UserSearchKey_USERSEARCHKEY_FIRST_NAME UserSearchKey = 2 UserSearchKey_USERSEARCHKEY_LAST_NAME UserSearchKey = 3 UserSearchKey_USERSEARCHKEY_NICK_NAME UserSearchKey = 4 UserSearchKey_USERSEARCHKEY_DISPLAY_NAME UserSearchKey = 5 UserSearchKey_USERSEARCHKEY_EMAIL UserSearchKey = 6 UserSearchKey_USERSEARCHKEY_STATE UserSearchKey = 7 ) // Enum value maps for UserSearchKey. var ( UserSearchKey_name = map[int32]string{ 0: "USERSEARCHKEY_UNSPECIFIED", 1: "USERSEARCHKEY_USER_NAME", 2: "USERSEARCHKEY_FIRST_NAME", 3: "USERSEARCHKEY_LAST_NAME", 4: "USERSEARCHKEY_NICK_NAME", 5: "USERSEARCHKEY_DISPLAY_NAME", 6: "USERSEARCHKEY_EMAIL", 7: "USERSEARCHKEY_STATE", } UserSearchKey_value = map[string]int32{ "USERSEARCHKEY_UNSPECIFIED": 0, "USERSEARCHKEY_USER_NAME": 1, "USERSEARCHKEY_FIRST_NAME": 2, "USERSEARCHKEY_LAST_NAME": 3, "USERSEARCHKEY_NICK_NAME": 4, "USERSEARCHKEY_DISPLAY_NAME": 5, "USERSEARCHKEY_EMAIL": 6, "USERSEARCHKEY_STATE": 7, } ) func (x UserSearchKey) Enum() *UserSearchKey { p := new(UserSearchKey) *p = x return p } func (x UserSearchKey) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (UserSearchKey) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[2].Descriptor() } func (UserSearchKey) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[2] } func (x UserSearchKey) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use UserSearchKey.Descriptor instead. func (UserSearchKey) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{2} } type SearchMethod int32 const ( SearchMethod_SEARCHMETHOD_EQUALS SearchMethod = 0 SearchMethod_SEARCHMETHOD_STARTS_WITH SearchMethod = 1 SearchMethod_SEARCHMETHOD_CONTAINS SearchMethod = 2 SearchMethod_SEARCHMETHOD_EQUALS_IGNORE_CASE SearchMethod = 3 SearchMethod_SEARCHMETHOD_STARTS_WITH_IGNORE_CASE SearchMethod = 4 SearchMethod_SEARCHMETHOD_CONTAINS_IGNORE_CASE SearchMethod = 5 SearchMethod_SEARCHMETHOD_NOT_EQUALS SearchMethod = 6 SearchMethod_SEARCHMETHOD_GREATER_THAN SearchMethod = 7 SearchMethod_SEARCHMETHOD_LESS_THAN SearchMethod = 8 SearchMethod_SEARCHMETHOD_IS_ONE_OF SearchMethod = 9 SearchMethod_SEARCHMETHOD_LIST_CONTAINS SearchMethod = 10 ) // Enum value maps for SearchMethod. var ( SearchMethod_name = map[int32]string{ 0: "SEARCHMETHOD_EQUALS", 1: "SEARCHMETHOD_STARTS_WITH", 2: "SEARCHMETHOD_CONTAINS", 3: "SEARCHMETHOD_EQUALS_IGNORE_CASE", 4: "SEARCHMETHOD_STARTS_WITH_IGNORE_CASE", 5: "SEARCHMETHOD_CONTAINS_IGNORE_CASE", 6: "SEARCHMETHOD_NOT_EQUALS", 7: "SEARCHMETHOD_GREATER_THAN", 8: "SEARCHMETHOD_LESS_THAN", 9: "SEARCHMETHOD_IS_ONE_OF", 10: "SEARCHMETHOD_LIST_CONTAINS", } SearchMethod_value = map[string]int32{ "SEARCHMETHOD_EQUALS": 0, "SEARCHMETHOD_STARTS_WITH": 1, "SEARCHMETHOD_CONTAINS": 2, "SEARCHMETHOD_EQUALS_IGNORE_CASE": 3, "SEARCHMETHOD_STARTS_WITH_IGNORE_CASE": 4, "SEARCHMETHOD_CONTAINS_IGNORE_CASE": 5, "SEARCHMETHOD_NOT_EQUALS": 6, "SEARCHMETHOD_GREATER_THAN": 7, "SEARCHMETHOD_LESS_THAN": 8, "SEARCHMETHOD_IS_ONE_OF": 9, "SEARCHMETHOD_LIST_CONTAINS": 10, } ) func (x SearchMethod) Enum() *SearchMethod { p := new(SearchMethod) *p = x return p } func (x SearchMethod) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SearchMethod) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[3].Descriptor() } func (SearchMethod) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[3] } func (x SearchMethod) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use SearchMethod.Descriptor instead. func (SearchMethod) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{3} } type MfaType int32 const ( MfaType_MFATYPE_UNSPECIFIED MfaType = 0 MfaType_MFATYPE_SMS MfaType = 1 MfaType_MFATYPE_OTP MfaType = 2 ) // Enum value maps for MfaType. var ( MfaType_name = map[int32]string{ 0: "MFATYPE_UNSPECIFIED", 1: "MFATYPE_SMS", 2: "MFATYPE_OTP", } MfaType_value = map[string]int32{ "MFATYPE_UNSPECIFIED": 0, "MFATYPE_SMS": 1, "MFATYPE_OTP": 2, } ) func (x MfaType) Enum() *MfaType { p := new(MfaType) *p = x return p } func (x MfaType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (MfaType) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[4].Descriptor() } func (MfaType) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[4] } func (x MfaType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use MfaType.Descriptor instead. func (MfaType) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{4} } type MFAState int32 const ( MFAState_MFASTATE_UNSPECIFIED MFAState = 0 MFAState_MFASTATE_NOT_READY MFAState = 1 MFAState_MFASTATE_READY MFAState = 2 MFAState_MFASTATE_REMOVED MFAState = 3 ) // Enum value maps for MFAState. var ( MFAState_name = map[int32]string{ 0: "MFASTATE_UNSPECIFIED", 1: "MFASTATE_NOT_READY", 2: "MFASTATE_READY", 3: "MFASTATE_REMOVED", } MFAState_value = map[string]int32{ "MFASTATE_UNSPECIFIED": 0, "MFASTATE_NOT_READY": 1, "MFASTATE_READY": 2, "MFASTATE_REMOVED": 3, } ) func (x MFAState) Enum() *MFAState { p := new(MFAState) *p = x return p } func (x MFAState) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (MFAState) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[5].Descriptor() } func (MFAState) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[5] } func (x MFAState) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use MFAState.Descriptor instead. func (MFAState) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{5} } type NotificationType int32 const ( NotificationType_NOTIFICATIONTYPE_EMAIL NotificationType = 0 NotificationType_NOTIFICATIONTYPE_SMS NotificationType = 1 ) // Enum value maps for NotificationType. var ( NotificationType_name = map[int32]string{ 0: "NOTIFICATIONTYPE_EMAIL", 1: "NOTIFICATIONTYPE_SMS", } NotificationType_value = map[string]int32{ "NOTIFICATIONTYPE_EMAIL": 0, "NOTIFICATIONTYPE_SMS": 1, } ) func (x NotificationType) Enum() *NotificationType { p := new(NotificationType) *p = x return p } func (x NotificationType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (NotificationType) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[6].Descriptor() } func (NotificationType) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[6] } func (x NotificationType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use NotificationType.Descriptor instead. func (NotificationType) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{6} } type PolicyState int32 const ( PolicyState_POLICYSTATE_UNSPECIFIED PolicyState = 0 PolicyState_POLICYSTATE_ACTIVE PolicyState = 1 PolicyState_POLICYSTATE_INACTIVE PolicyState = 2 PolicyState_POLICYSTATE_DELETED PolicyState = 3 ) // Enum value maps for PolicyState. var ( PolicyState_name = map[int32]string{ 0: "POLICYSTATE_UNSPECIFIED", 1: "POLICYSTATE_ACTIVE", 2: "POLICYSTATE_INACTIVE", 3: "POLICYSTATE_DELETED", } PolicyState_value = map[string]int32{ "POLICYSTATE_UNSPECIFIED": 0, "POLICYSTATE_ACTIVE": 1, "POLICYSTATE_INACTIVE": 2, "POLICYSTATE_DELETED": 3, } ) func (x PolicyState) Enum() *PolicyState { p := new(PolicyState) *p = x return p } func (x PolicyState) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (PolicyState) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[7].Descriptor() } func (PolicyState) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[7] } func (x PolicyState) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use PolicyState.Descriptor instead. func (PolicyState) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{7} } type OrgState int32 const ( OrgState_ORGSTATE_UNSPECIFIED OrgState = 0 OrgState_ORGSTATE_ACTIVE OrgState = 1 OrgState_ORGSTATE_INACTIVE OrgState = 2 ) // Enum value maps for OrgState. var ( OrgState_name = map[int32]string{ 0: "ORGSTATE_UNSPECIFIED", 1: "ORGSTATE_ACTIVE", 2: "ORGSTATE_INACTIVE", } OrgState_value = map[string]int32{ "ORGSTATE_UNSPECIFIED": 0, "ORGSTATE_ACTIVE": 1, "ORGSTATE_INACTIVE": 2, } ) func (x OrgState) Enum() *OrgState { p := new(OrgState) *p = x return p } func (x OrgState) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (OrgState) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[8].Descriptor() } func (OrgState) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[8] } func (x OrgState) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use OrgState.Descriptor instead. func (OrgState) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{8} } type OrgDomainSearchKey int32 const ( OrgDomainSearchKey_ORGDOMAINSEARCHKEY_UNSPECIFIED OrgDomainSearchKey = 0 OrgDomainSearchKey_ORGDOMAINSEARCHKEY_DOMAIN OrgDomainSearchKey = 1 ) // Enum value maps for OrgDomainSearchKey. var ( OrgDomainSearchKey_name = map[int32]string{ 0: "ORGDOMAINSEARCHKEY_UNSPECIFIED", 1: "ORGDOMAINSEARCHKEY_DOMAIN", } OrgDomainSearchKey_value = map[string]int32{ "ORGDOMAINSEARCHKEY_UNSPECIFIED": 0, "ORGDOMAINSEARCHKEY_DOMAIN": 1, } ) func (x OrgDomainSearchKey) Enum() *OrgDomainSearchKey { p := new(OrgDomainSearchKey) *p = x return p } func (x OrgDomainSearchKey) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (OrgDomainSearchKey) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[9].Descriptor() } func (OrgDomainSearchKey) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[9] } func (x OrgDomainSearchKey) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use OrgDomainSearchKey.Descriptor instead. func (OrgDomainSearchKey) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{9} } type OrgMemberSearchKey int32 const ( OrgMemberSearchKey_ORGMEMBERSEARCHKEY_UNSPECIFIED OrgMemberSearchKey = 0 OrgMemberSearchKey_ORGMEMBERSEARCHKEY_FIRST_NAME OrgMemberSearchKey = 1 OrgMemberSearchKey_ORGMEMBERSEARCHKEY_LAST_NAME OrgMemberSearchKey = 2 OrgMemberSearchKey_ORGMEMBERSEARCHKEY_EMAIL OrgMemberSearchKey = 3 OrgMemberSearchKey_ORGMEMBERSEARCHKEY_USER_ID OrgMemberSearchKey = 4 ) // Enum value maps for OrgMemberSearchKey. var ( OrgMemberSearchKey_name = map[int32]string{ 0: "ORGMEMBERSEARCHKEY_UNSPECIFIED", 1: "ORGMEMBERSEARCHKEY_FIRST_NAME", 2: "ORGMEMBERSEARCHKEY_LAST_NAME", 3: "ORGMEMBERSEARCHKEY_EMAIL", 4: "ORGMEMBERSEARCHKEY_USER_ID", } OrgMemberSearchKey_value = map[string]int32{ "ORGMEMBERSEARCHKEY_UNSPECIFIED": 0, "ORGMEMBERSEARCHKEY_FIRST_NAME": 1, "ORGMEMBERSEARCHKEY_LAST_NAME": 2, "ORGMEMBERSEARCHKEY_EMAIL": 3, "ORGMEMBERSEARCHKEY_USER_ID": 4, } ) func (x OrgMemberSearchKey) Enum() *OrgMemberSearchKey { p := new(OrgMemberSearchKey) *p = x return p } func (x OrgMemberSearchKey) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (OrgMemberSearchKey) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[10].Descriptor() } func (OrgMemberSearchKey) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[10] } func (x OrgMemberSearchKey) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use OrgMemberSearchKey.Descriptor instead. func (OrgMemberSearchKey) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{10} } type ProjectSearchKey int32 const ( ProjectSearchKey_PROJECTSEARCHKEY_UNSPECIFIED ProjectSearchKey = 0 ProjectSearchKey_PROJECTSEARCHKEY_PROJECT_NAME ProjectSearchKey = 1 ) // Enum value maps for ProjectSearchKey. var ( ProjectSearchKey_name = map[int32]string{ 0: "PROJECTSEARCHKEY_UNSPECIFIED", 1: "PROJECTSEARCHKEY_PROJECT_NAME", } ProjectSearchKey_value = map[string]int32{ "PROJECTSEARCHKEY_UNSPECIFIED": 0, "PROJECTSEARCHKEY_PROJECT_NAME": 1, } ) func (x ProjectSearchKey) Enum() *ProjectSearchKey { p := new(ProjectSearchKey) *p = x return p } func (x ProjectSearchKey) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ProjectSearchKey) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[11].Descriptor() } func (ProjectSearchKey) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[11] } func (x ProjectSearchKey) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ProjectSearchKey.Descriptor instead. func (ProjectSearchKey) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{11} } type ProjectState int32 const ( ProjectState_PROJECTSTATE_UNSPECIFIED ProjectState = 0 ProjectState_PROJECTSTATE_ACTIVE ProjectState = 1 ProjectState_PROJECTSTATE_INACTIVE ProjectState = 2 ) // Enum value maps for ProjectState. var ( ProjectState_name = map[int32]string{ 0: "PROJECTSTATE_UNSPECIFIED", 1: "PROJECTSTATE_ACTIVE", 2: "PROJECTSTATE_INACTIVE", } ProjectState_value = map[string]int32{ "PROJECTSTATE_UNSPECIFIED": 0, "PROJECTSTATE_ACTIVE": 1, "PROJECTSTATE_INACTIVE": 2, } ) func (x ProjectState) Enum() *ProjectState { p := new(ProjectState) *p = x return p } func (x ProjectState) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ProjectState) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[12].Descriptor() } func (ProjectState) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[12] } func (x ProjectState) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ProjectState.Descriptor instead. func (ProjectState) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{12} } type ProjectType int32 const ( ProjectType_PROJECTTYPE_UNSPECIFIED ProjectType = 0 ProjectType_PROJECTTYPE_OWNED ProjectType = 1 ProjectType_PROJECTTYPE_GRANTED ProjectType = 2 ) // Enum value maps for ProjectType. var ( ProjectType_name = map[int32]string{ 0: "PROJECTTYPE_UNSPECIFIED", 1: "PROJECTTYPE_OWNED", 2: "PROJECTTYPE_GRANTED", } ProjectType_value = map[string]int32{ "PROJECTTYPE_UNSPECIFIED": 0, "PROJECTTYPE_OWNED": 1, "PROJECTTYPE_GRANTED": 2, } ) func (x ProjectType) Enum() *ProjectType { p := new(ProjectType) *p = x return p } func (x ProjectType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ProjectType) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[13].Descriptor() } func (ProjectType) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[13] } func (x ProjectType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ProjectType.Descriptor instead. func (ProjectType) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{13} } type ProjectRoleSearchKey int32 const ( ProjectRoleSearchKey_PROJECTROLESEARCHKEY_UNSPECIFIED ProjectRoleSearchKey = 0 ProjectRoleSearchKey_PROJECTROLESEARCHKEY_KEY ProjectRoleSearchKey = 1 ProjectRoleSearchKey_PROJECTROLESEARCHKEY_DISPLAY_NAME ProjectRoleSearchKey = 2 ) // Enum value maps for ProjectRoleSearchKey. var ( ProjectRoleSearchKey_name = map[int32]string{ 0: "PROJECTROLESEARCHKEY_UNSPECIFIED", 1: "PROJECTROLESEARCHKEY_KEY", 2: "PROJECTROLESEARCHKEY_DISPLAY_NAME", } ProjectRoleSearchKey_value = map[string]int32{ "PROJECTROLESEARCHKEY_UNSPECIFIED": 0, "PROJECTROLESEARCHKEY_KEY": 1, "PROJECTROLESEARCHKEY_DISPLAY_NAME": 2, } ) func (x ProjectRoleSearchKey) Enum() *ProjectRoleSearchKey { p := new(ProjectRoleSearchKey) *p = x return p } func (x ProjectRoleSearchKey) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ProjectRoleSearchKey) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[14].Descriptor() } func (ProjectRoleSearchKey) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[14] } func (x ProjectRoleSearchKey) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ProjectRoleSearchKey.Descriptor instead. func (ProjectRoleSearchKey) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{14} } type ProjectMemberSearchKey int32 const ( ProjectMemberSearchKey_PROJECTMEMBERSEARCHKEY_UNSPECIFIED ProjectMemberSearchKey = 0 ProjectMemberSearchKey_PROJECTMEMBERSEARCHKEY_FIRST_NAME ProjectMemberSearchKey = 1 ProjectMemberSearchKey_PROJECTMEMBERSEARCHKEY_LAST_NAME ProjectMemberSearchKey = 2 ProjectMemberSearchKey_PROJECTMEMBERSEARCHKEY_EMAIL ProjectMemberSearchKey = 3 ProjectMemberSearchKey_PROJECTMEMBERSEARCHKEY_USER_ID ProjectMemberSearchKey = 4 ProjectMemberSearchKey_PROJECTMEMBERSEARCHKEY_USER_NAME ProjectMemberSearchKey = 5 ) // Enum value maps for ProjectMemberSearchKey. var ( ProjectMemberSearchKey_name = map[int32]string{ 0: "PROJECTMEMBERSEARCHKEY_UNSPECIFIED", 1: "PROJECTMEMBERSEARCHKEY_FIRST_NAME", 2: "PROJECTMEMBERSEARCHKEY_LAST_NAME", 3: "PROJECTMEMBERSEARCHKEY_EMAIL", 4: "PROJECTMEMBERSEARCHKEY_USER_ID", 5: "PROJECTMEMBERSEARCHKEY_USER_NAME", } ProjectMemberSearchKey_value = map[string]int32{ "PROJECTMEMBERSEARCHKEY_UNSPECIFIED": 0, "PROJECTMEMBERSEARCHKEY_FIRST_NAME": 1, "PROJECTMEMBERSEARCHKEY_LAST_NAME": 2, "PROJECTMEMBERSEARCHKEY_EMAIL": 3, "PROJECTMEMBERSEARCHKEY_USER_ID": 4, "PROJECTMEMBERSEARCHKEY_USER_NAME": 5, } ) func (x ProjectMemberSearchKey) Enum() *ProjectMemberSearchKey { p := new(ProjectMemberSearchKey) *p = x return p } func (x ProjectMemberSearchKey) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ProjectMemberSearchKey) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[15].Descriptor() } func (ProjectMemberSearchKey) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[15] } func (x ProjectMemberSearchKey) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ProjectMemberSearchKey.Descriptor instead. func (ProjectMemberSearchKey) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{15} } type AppState int32 const ( AppState_APPSTATE_UNSPECIFIED AppState = 0 AppState_APPSTATE_ACTIVE AppState = 1 AppState_APPSTATE_INACTIVE AppState = 2 ) // Enum value maps for AppState. var ( AppState_name = map[int32]string{ 0: "APPSTATE_UNSPECIFIED", 1: "APPSTATE_ACTIVE", 2: "APPSTATE_INACTIVE", } AppState_value = map[string]int32{ "APPSTATE_UNSPECIFIED": 0, "APPSTATE_ACTIVE": 1, "APPSTATE_INACTIVE": 2, } ) func (x AppState) Enum() *AppState { p := new(AppState) *p = x return p } func (x AppState) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (AppState) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[16].Descriptor() } func (AppState) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[16] } func (x AppState) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use AppState.Descriptor instead. func (AppState) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{16} } type OIDCResponseType int32 const ( OIDCResponseType_OIDCRESPONSETYPE_CODE OIDCResponseType = 0 OIDCResponseType_OIDCRESPONSETYPE_ID_TOKEN OIDCResponseType = 1 OIDCResponseType_OIDCRESPONSETYPE_ID_TOKEN_TOKEN OIDCResponseType = 2 ) // Enum value maps for OIDCResponseType. var ( OIDCResponseType_name = map[int32]string{ 0: "OIDCRESPONSETYPE_CODE", 1: "OIDCRESPONSETYPE_ID_TOKEN", 2: "OIDCRESPONSETYPE_ID_TOKEN_TOKEN", } OIDCResponseType_value = map[string]int32{ "OIDCRESPONSETYPE_CODE": 0, "OIDCRESPONSETYPE_ID_TOKEN": 1, "OIDCRESPONSETYPE_ID_TOKEN_TOKEN": 2, } ) func (x OIDCResponseType) Enum() *OIDCResponseType { p := new(OIDCResponseType) *p = x return p } func (x OIDCResponseType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (OIDCResponseType) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[17].Descriptor() } func (OIDCResponseType) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[17] } func (x OIDCResponseType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use OIDCResponseType.Descriptor instead. func (OIDCResponseType) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{17} } type OIDCGrantType int32 const ( OIDCGrantType_OIDCGRANTTYPE_AUTHORIZATION_CODE OIDCGrantType = 0 OIDCGrantType_OIDCGRANTTYPE_IMPLICIT OIDCGrantType = 1 OIDCGrantType_OIDCGRANTTYPE_REFRESH_TOKEN OIDCGrantType = 2 ) // Enum value maps for OIDCGrantType. var ( OIDCGrantType_name = map[int32]string{ 0: "OIDCGRANTTYPE_AUTHORIZATION_CODE", 1: "OIDCGRANTTYPE_IMPLICIT", 2: "OIDCGRANTTYPE_REFRESH_TOKEN", } OIDCGrantType_value = map[string]int32{ "OIDCGRANTTYPE_AUTHORIZATION_CODE": 0, "OIDCGRANTTYPE_IMPLICIT": 1, "OIDCGRANTTYPE_REFRESH_TOKEN": 2, } ) func (x OIDCGrantType) Enum() *OIDCGrantType { p := new(OIDCGrantType) *p = x return p } func (x OIDCGrantType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (OIDCGrantType) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[18].Descriptor() } func (OIDCGrantType) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[18] } func (x OIDCGrantType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use OIDCGrantType.Descriptor instead. func (OIDCGrantType) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{18} } type OIDCApplicationType int32 const ( OIDCApplicationType_OIDCAPPLICATIONTYPE_WEB OIDCApplicationType = 0 OIDCApplicationType_OIDCAPPLICATIONTYPE_USER_AGENT OIDCApplicationType = 1 OIDCApplicationType_OIDCAPPLICATIONTYPE_NATIVE OIDCApplicationType = 2 ) // Enum value maps for OIDCApplicationType. var ( OIDCApplicationType_name = map[int32]string{ 0: "OIDCAPPLICATIONTYPE_WEB", 1: "OIDCAPPLICATIONTYPE_USER_AGENT", 2: "OIDCAPPLICATIONTYPE_NATIVE", } OIDCApplicationType_value = map[string]int32{ "OIDCAPPLICATIONTYPE_WEB": 0, "OIDCAPPLICATIONTYPE_USER_AGENT": 1, "OIDCAPPLICATIONTYPE_NATIVE": 2, } ) func (x OIDCApplicationType) Enum() *OIDCApplicationType { p := new(OIDCApplicationType) *p = x return p } func (x OIDCApplicationType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (OIDCApplicationType) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[19].Descriptor() } func (OIDCApplicationType) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[19] } func (x OIDCApplicationType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use OIDCApplicationType.Descriptor instead. func (OIDCApplicationType) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{19} } type OIDCAuthMethodType int32 const ( OIDCAuthMethodType_OIDCAUTHMETHODTYPE_BASIC OIDCAuthMethodType = 0 OIDCAuthMethodType_OIDCAUTHMETHODTYPE_POST OIDCAuthMethodType = 1 OIDCAuthMethodType_OIDCAUTHMETHODTYPE_NONE OIDCAuthMethodType = 2 ) // Enum value maps for OIDCAuthMethodType. var ( OIDCAuthMethodType_name = map[int32]string{ 0: "OIDCAUTHMETHODTYPE_BASIC", 1: "OIDCAUTHMETHODTYPE_POST", 2: "OIDCAUTHMETHODTYPE_NONE", } OIDCAuthMethodType_value = map[string]int32{ "OIDCAUTHMETHODTYPE_BASIC": 0, "OIDCAUTHMETHODTYPE_POST": 1, "OIDCAUTHMETHODTYPE_NONE": 2, } ) func (x OIDCAuthMethodType) Enum() *OIDCAuthMethodType { p := new(OIDCAuthMethodType) *p = x return p } func (x OIDCAuthMethodType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (OIDCAuthMethodType) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[20].Descriptor() } func (OIDCAuthMethodType) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[20] } func (x OIDCAuthMethodType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use OIDCAuthMethodType.Descriptor instead. func (OIDCAuthMethodType) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{20} } type ApplicationSearchKey int32 const ( ApplicationSearchKey_APPLICATIONSERACHKEY_UNSPECIFIED ApplicationSearchKey = 0 ApplicationSearchKey_APPLICATIONSEARCHKEY_APP_NAME ApplicationSearchKey = 1 ) // Enum value maps for ApplicationSearchKey. var ( ApplicationSearchKey_name = map[int32]string{ 0: "APPLICATIONSERACHKEY_UNSPECIFIED", 1: "APPLICATIONSEARCHKEY_APP_NAME", } ApplicationSearchKey_value = map[string]int32{ "APPLICATIONSERACHKEY_UNSPECIFIED": 0, "APPLICATIONSEARCHKEY_APP_NAME": 1, } ) func (x ApplicationSearchKey) Enum() *ApplicationSearchKey { p := new(ApplicationSearchKey) *p = x return p } func (x ApplicationSearchKey) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ApplicationSearchKey) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[21].Descriptor() } func (ApplicationSearchKey) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[21] } func (x ApplicationSearchKey) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ApplicationSearchKey.Descriptor instead. func (ApplicationSearchKey) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{21} } type ProjectGrantState int32 const ( ProjectGrantState_PROJECTGRANTSTATE_UNSPECIFIED ProjectGrantState = 0 ProjectGrantState_PROJECTGRANTSTATE_ACTIVE ProjectGrantState = 1 ProjectGrantState_PROJECTGRANTSTATE_INACTIVE ProjectGrantState = 2 ) // Enum value maps for ProjectGrantState. var ( ProjectGrantState_name = map[int32]string{ 0: "PROJECTGRANTSTATE_UNSPECIFIED", 1: "PROJECTGRANTSTATE_ACTIVE", 2: "PROJECTGRANTSTATE_INACTIVE", } ProjectGrantState_value = map[string]int32{ "PROJECTGRANTSTATE_UNSPECIFIED": 0, "PROJECTGRANTSTATE_ACTIVE": 1, "PROJECTGRANTSTATE_INACTIVE": 2, } ) func (x ProjectGrantState) Enum() *ProjectGrantState { p := new(ProjectGrantState) *p = x return p } func (x ProjectGrantState) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ProjectGrantState) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[22].Descriptor() } func (ProjectGrantState) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[22] } func (x ProjectGrantState) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ProjectGrantState.Descriptor instead. func (ProjectGrantState) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{22} } type ProjectGrantSearchKey int32 const ( ProjectGrantSearchKey_PROJECTGRANTSEARCHKEY_UNSPECIFIED ProjectGrantSearchKey = 0 ProjectGrantSearchKey_PROJECTGRANTSEARCHKEY_PROJECT_NAME ProjectGrantSearchKey = 1 ProjectGrantSearchKey_PROJECTGRANTSEARCHKEY_ROLE_KEY ProjectGrantSearchKey = 2 ) // Enum value maps for ProjectGrantSearchKey. var ( ProjectGrantSearchKey_name = map[int32]string{ 0: "PROJECTGRANTSEARCHKEY_UNSPECIFIED", 1: "PROJECTGRANTSEARCHKEY_PROJECT_NAME", 2: "PROJECTGRANTSEARCHKEY_ROLE_KEY", } ProjectGrantSearchKey_value = map[string]int32{ "PROJECTGRANTSEARCHKEY_UNSPECIFIED": 0, "PROJECTGRANTSEARCHKEY_PROJECT_NAME": 1, "PROJECTGRANTSEARCHKEY_ROLE_KEY": 2, } ) func (x ProjectGrantSearchKey) Enum() *ProjectGrantSearchKey { p := new(ProjectGrantSearchKey) *p = x return p } func (x ProjectGrantSearchKey) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ProjectGrantSearchKey) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[23].Descriptor() } func (ProjectGrantSearchKey) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[23] } func (x ProjectGrantSearchKey) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ProjectGrantSearchKey.Descriptor instead. func (ProjectGrantSearchKey) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{23} } type ProjectGrantMemberSearchKey int32 const ( ProjectGrantMemberSearchKey_PROJECTGRANTMEMBERSEARCHKEY_UNSPECIFIED ProjectGrantMemberSearchKey = 0 ProjectGrantMemberSearchKey_PROJECTGRANTMEMBERSEARCHKEY_FIRST_NAME ProjectGrantMemberSearchKey = 1 ProjectGrantMemberSearchKey_PROJECTGRANTMEMBERSEARCHKEY_LAST_NAME ProjectGrantMemberSearchKey = 2 ProjectGrantMemberSearchKey_PROJECTGRANTMEMBERSEARCHKEY_EMAIL ProjectGrantMemberSearchKey = 3 ProjectGrantMemberSearchKey_PROJECTGRANTMEMBERSEARCHKEY_USER_ID ProjectGrantMemberSearchKey = 4 ProjectGrantMemberSearchKey_PROJECTGRANTMEMBERSEARCHKEY_USER_NAME ProjectGrantMemberSearchKey = 5 ) // Enum value maps for ProjectGrantMemberSearchKey. var ( ProjectGrantMemberSearchKey_name = map[int32]string{ 0: "PROJECTGRANTMEMBERSEARCHKEY_UNSPECIFIED", 1: "PROJECTGRANTMEMBERSEARCHKEY_FIRST_NAME", 2: "PROJECTGRANTMEMBERSEARCHKEY_LAST_NAME", 3: "PROJECTGRANTMEMBERSEARCHKEY_EMAIL", 4: "PROJECTGRANTMEMBERSEARCHKEY_USER_ID", 5: "PROJECTGRANTMEMBERSEARCHKEY_USER_NAME", } ProjectGrantMemberSearchKey_value = map[string]int32{ "PROJECTGRANTMEMBERSEARCHKEY_UNSPECIFIED": 0, "PROJECTGRANTMEMBERSEARCHKEY_FIRST_NAME": 1, "PROJECTGRANTMEMBERSEARCHKEY_LAST_NAME": 2, "PROJECTGRANTMEMBERSEARCHKEY_EMAIL": 3, "PROJECTGRANTMEMBERSEARCHKEY_USER_ID": 4, "PROJECTGRANTMEMBERSEARCHKEY_USER_NAME": 5, } ) func (x ProjectGrantMemberSearchKey) Enum() *ProjectGrantMemberSearchKey { p := new(ProjectGrantMemberSearchKey) *p = x return p } func (x ProjectGrantMemberSearchKey) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ProjectGrantMemberSearchKey) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[24].Descriptor() } func (ProjectGrantMemberSearchKey) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[24] } func (x ProjectGrantMemberSearchKey) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ProjectGrantMemberSearchKey.Descriptor instead. func (ProjectGrantMemberSearchKey) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{24} } type UserGrantState int32 const ( UserGrantState_USERGRANTSTATE_UNSPECIFIED UserGrantState = 0 UserGrantState_USERGRANTSTATE_ACTIVE UserGrantState = 1 UserGrantState_USERGRANTSTATE_INACTIVE UserGrantState = 2 ) // Enum value maps for UserGrantState. var ( UserGrantState_name = map[int32]string{ 0: "USERGRANTSTATE_UNSPECIFIED", 1: "USERGRANTSTATE_ACTIVE", 2: "USERGRANTSTATE_INACTIVE", } UserGrantState_value = map[string]int32{ "USERGRANTSTATE_UNSPECIFIED": 0, "USERGRANTSTATE_ACTIVE": 1, "USERGRANTSTATE_INACTIVE": 2, } ) func (x UserGrantState) Enum() *UserGrantState { p := new(UserGrantState) *p = x return p } func (x UserGrantState) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (UserGrantState) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[25].Descriptor() } func (UserGrantState) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[25] } func (x UserGrantState) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use UserGrantState.Descriptor instead. func (UserGrantState) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{25} } type UserGrantSearchKey int32 const ( UserGrantSearchKey_USERGRANTSEARCHKEY_UNSPECIFIED UserGrantSearchKey = 0 UserGrantSearchKey_USERGRANTSEARCHKEY_PROJECT_ID UserGrantSearchKey = 1 UserGrantSearchKey_USERGRANTSEARCHKEY_USER_ID UserGrantSearchKey = 2 UserGrantSearchKey_USERGRANTSEARCHKEY_ORG_ID UserGrantSearchKey = 3 UserGrantSearchKey_USERGRANTSEARCHKEY_ROLE_KEY UserGrantSearchKey = 4 UserGrantSearchKey_USERGRANTSEARCHKEY_GRANT_ID UserGrantSearchKey = 5 ) // Enum value maps for UserGrantSearchKey. var ( UserGrantSearchKey_name = map[int32]string{ 0: "USERGRANTSEARCHKEY_UNSPECIFIED", 1: "USERGRANTSEARCHKEY_PROJECT_ID", 2: "USERGRANTSEARCHKEY_USER_ID", 3: "USERGRANTSEARCHKEY_ORG_ID", 4: "USERGRANTSEARCHKEY_ROLE_KEY", 5: "USERGRANTSEARCHKEY_GRANT_ID", } UserGrantSearchKey_value = map[string]int32{ "USERGRANTSEARCHKEY_UNSPECIFIED": 0, "USERGRANTSEARCHKEY_PROJECT_ID": 1, "USERGRANTSEARCHKEY_USER_ID": 2, "USERGRANTSEARCHKEY_ORG_ID": 3, "USERGRANTSEARCHKEY_ROLE_KEY": 4, "USERGRANTSEARCHKEY_GRANT_ID": 5, } ) func (x UserGrantSearchKey) Enum() *UserGrantSearchKey { p := new(UserGrantSearchKey) *p = x return p } func (x UserGrantSearchKey) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (UserGrantSearchKey) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[26].Descriptor() } func (UserGrantSearchKey) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[26] } func (x UserGrantSearchKey) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use UserGrantSearchKey.Descriptor instead. func (UserGrantSearchKey) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{26} } type UserMembershipSearchKey int32 const ( UserMembershipSearchKey_USERMEMBERSHIPSEARCHKEY_UNSPECIFIED UserMembershipSearchKey = 0 UserMembershipSearchKey_USERMEMBERSHIPSEARCHKEY_TYPE UserMembershipSearchKey = 1 UserMembershipSearchKey_USERMEMBERSHIPSEARCHKEY_OBJECT_ID UserMembershipSearchKey = 2 ) // Enum value maps for UserMembershipSearchKey. var ( UserMembershipSearchKey_name = map[int32]string{ 0: "USERMEMBERSHIPSEARCHKEY_UNSPECIFIED", 1: "USERMEMBERSHIPSEARCHKEY_TYPE", 2: "USERMEMBERSHIPSEARCHKEY_OBJECT_ID", } UserMembershipSearchKey_value = map[string]int32{ "USERMEMBERSHIPSEARCHKEY_UNSPECIFIED": 0, "USERMEMBERSHIPSEARCHKEY_TYPE": 1, "USERMEMBERSHIPSEARCHKEY_OBJECT_ID": 2, } ) func (x UserMembershipSearchKey) Enum() *UserMembershipSearchKey { p := new(UserMembershipSearchKey) *p = x return p } func (x UserMembershipSearchKey) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (UserMembershipSearchKey) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[27].Descriptor() } func (UserMembershipSearchKey) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[27] } func (x UserMembershipSearchKey) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use UserMembershipSearchKey.Descriptor instead. func (UserMembershipSearchKey) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{27} } type MemberType int32 const ( MemberType_MEMBERTYPE_UNSPECIFIED MemberType = 0 MemberType_MEMBERTYPE_ORGANISATION MemberType = 1 MemberType_MEMBERTYPE_PROJECT MemberType = 2 MemberType_MEMBERTYPE_PROJECT_GRANT MemberType = 3 ) // Enum value maps for MemberType. var ( MemberType_name = map[int32]string{ 0: "MEMBERTYPE_UNSPECIFIED", 1: "MEMBERTYPE_ORGANISATION", 2: "MEMBERTYPE_PROJECT", 3: "MEMBERTYPE_PROJECT_GRANT", } MemberType_value = map[string]int32{ "MEMBERTYPE_UNSPECIFIED": 0, "MEMBERTYPE_ORGANISATION": 1, "MEMBERTYPE_PROJECT": 2, "MEMBERTYPE_PROJECT_GRANT": 3, } ) func (x MemberType) Enum() *MemberType { p := new(MemberType) *p = x return p } func (x MemberType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (MemberType) Descriptor() protoreflect.EnumDescriptor { return file_management_proto_enumTypes[28].Descriptor() } func (MemberType) Type() protoreflect.EnumType { return &file_management_proto_enumTypes[28] } func (x MemberType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use MemberType.Descriptor instead. func (MemberType) EnumDescriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{28} } type ZitadelDocs struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` DiscoveryEndpoint string `protobuf:"bytes,2,opt,name=discovery_endpoint,json=discoveryEndpoint,proto3" json:"discovery_endpoint,omitempty"` } func (x *ZitadelDocs) Reset() { *x = ZitadelDocs{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ZitadelDocs) String() string { return protoimpl.X.MessageStringOf(x) } func (*ZitadelDocs) ProtoMessage() {} func (x *ZitadelDocs) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[0] 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 ZitadelDocs.ProtoReflect.Descriptor instead. func (*ZitadelDocs) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{0} } func (x *ZitadelDocs) GetIssuer() string { if x != nil { return x.Issuer } return "" } func (x *ZitadelDocs) GetDiscoveryEndpoint() string { if x != nil { return x.DiscoveryEndpoint } return "" } type Iam struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields GlobalOrgId string `protobuf:"bytes,1,opt,name=global_org_id,json=globalOrgId,proto3" json:"global_org_id,omitempty"` IamProjectId string `protobuf:"bytes,2,opt,name=iam_project_id,json=iamProjectId,proto3" json:"iam_project_id,omitempty"` SetUpDone bool `protobuf:"varint,3,opt,name=set_up_done,json=setUpDone,proto3" json:"set_up_done,omitempty"` SetUpStarted bool `protobuf:"varint,4,opt,name=set_up_started,json=setUpStarted,proto3" json:"set_up_started,omitempty"` } func (x *Iam) Reset() { *x = Iam{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Iam) String() string { return protoimpl.X.MessageStringOf(x) } func (*Iam) ProtoMessage() {} func (x *Iam) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[1] 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 Iam.ProtoReflect.Descriptor instead. func (*Iam) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{1} } func (x *Iam) GetGlobalOrgId() string { if x != nil { return x.GlobalOrgId } return "" } func (x *Iam) GetIamProjectId() string { if x != nil { return x.IamProjectId } return "" } func (x *Iam) GetSetUpDone() bool { if x != nil { return x.SetUpDone } return false } func (x *Iam) GetSetUpStarted() bool { if x != nil { return x.SetUpStarted } return false } type ChangeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` SecId string `protobuf:"bytes,2,opt,name=sec_id,json=secId,proto3" json:"sec_id,omitempty"` Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` SequenceOffset uint64 `protobuf:"varint,4,opt,name=sequence_offset,json=sequenceOffset,proto3" json:"sequence_offset,omitempty"` Asc bool `protobuf:"varint,5,opt,name=asc,proto3" json:"asc,omitempty"` } func (x *ChangeRequest) Reset() { *x = ChangeRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChangeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChangeRequest) ProtoMessage() {} func (x *ChangeRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[2] 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 ChangeRequest.ProtoReflect.Descriptor instead. func (*ChangeRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{2} } func (x *ChangeRequest) GetId() string { if x != nil { return x.Id } return "" } func (x *ChangeRequest) GetSecId() string { if x != nil { return x.SecId } return "" } func (x *ChangeRequest) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *ChangeRequest) GetSequenceOffset() uint64 { if x != nil { return x.SequenceOffset } return 0 } func (x *ChangeRequest) GetAsc() bool { if x != nil { return x.Asc } return false } type Changes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Changes []*Change `protobuf:"bytes,1,rep,name=changes,proto3" json:"changes,omitempty"` Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` } func (x *Changes) Reset() { *x = Changes{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Changes) String() string { return protoimpl.X.MessageStringOf(x) } func (*Changes) ProtoMessage() {} func (x *Changes) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[3] 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 Changes.ProtoReflect.Descriptor instead. func (*Changes) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{3} } func (x *Changes) GetChanges() []*Change { if x != nil { return x.Changes } return nil } func (x *Changes) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *Changes) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } type Change struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ChangeDate *timestamp.Timestamp `protobuf:"bytes,1,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` EventType *message.LocalizedMessage `protobuf:"bytes,2,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` Sequence uint64 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"` EditorId string `protobuf:"bytes,4,opt,name=editor_id,json=editorId,proto3" json:"editor_id,omitempty"` Editor string `protobuf:"bytes,5,opt,name=editor,proto3" json:"editor,omitempty"` Data *_struct.Struct `protobuf:"bytes,6,opt,name=data,proto3" json:"data,omitempty"` } func (x *Change) Reset() { *x = Change{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Change) String() string { return protoimpl.X.MessageStringOf(x) } func (*Change) ProtoMessage() {} func (x *Change) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[4] 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 Change.ProtoReflect.Descriptor instead. func (*Change) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{4} } func (x *Change) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *Change) GetEventType() *message.LocalizedMessage { if x != nil { return x.EventType } return nil } func (x *Change) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } func (x *Change) GetEditorId() string { if x != nil { return x.EditorId } return "" } func (x *Change) GetEditor() string { if x != nil { return x.Editor } return "" } func (x *Change) GetData() *_struct.Struct { if x != nil { return x.Data } return nil } type ApplicationID struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` } func (x *ApplicationID) Reset() { *x = ApplicationID{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ApplicationID) String() string { return protoimpl.X.MessageStringOf(x) } func (*ApplicationID) ProtoMessage() {} func (x *ApplicationID) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[5] 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 ApplicationID.ProtoReflect.Descriptor instead. func (*ApplicationID) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{5} } func (x *ApplicationID) GetId() string { if x != nil { return x.Id } return "" } func (x *ApplicationID) GetProjectId() string { if x != nil { return x.ProjectId } return "" } type ProjectID struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *ProjectID) Reset() { *x = ProjectID{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectID) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectID) ProtoMessage() {} func (x *ProjectID) ProtoReflect() protoreflect.Message { mi := &file_management_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 ProjectID.ProtoReflect.Descriptor instead. func (*ProjectID) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{6} } func (x *ProjectID) GetId() string { if x != nil { return x.Id } return "" } type UserID struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *UserID) Reset() { *x = UserID{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserID) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserID) ProtoMessage() {} func (x *UserID) ProtoReflect() protoreflect.Message { mi := &file_management_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 UserID.ProtoReflect.Descriptor instead. func (*UserID) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{7} } func (x *UserID) GetId() string { if x != nil { return x.Id } return "" } type Email struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"` } func (x *Email) Reset() { *x = Email{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Email) String() string { return protoimpl.X.MessageStringOf(x) } func (*Email) ProtoMessage() {} func (x *Email) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[8] 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 Email.ProtoReflect.Descriptor instead. func (*Email) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{8} } func (x *Email) GetEmail() string { if x != nil { return x.Email } return "" } type UniqueUserRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserName string `protobuf:"bytes,1,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` } func (x *UniqueUserRequest) Reset() { *x = UniqueUserRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UniqueUserRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UniqueUserRequest) ProtoMessage() {} func (x *UniqueUserRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[9] 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 UniqueUserRequest.ProtoReflect.Descriptor instead. func (*UniqueUserRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{9} } func (x *UniqueUserRequest) GetUserName() string { if x != nil { return x.UserName } return "" } func (x *UniqueUserRequest) GetEmail() string { if x != nil { return x.Email } return "" } type UniqueUserResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IsUnique bool `protobuf:"varint,1,opt,name=is_unique,json=isUnique,proto3" json:"is_unique,omitempty"` } func (x *UniqueUserResponse) Reset() { *x = UniqueUserResponse{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UniqueUserResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UniqueUserResponse) ProtoMessage() {} func (x *UniqueUserResponse) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[10] 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 UniqueUserResponse.ProtoReflect.Descriptor instead. func (*UniqueUserResponse) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{10} } func (x *UniqueUserResponse) GetIsUnique() bool { if x != nil { return x.IsUnique } return false } type CreateUserRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserName string `protobuf:"bytes,1,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` FirstName string `protobuf:"bytes,2,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` LastName string `protobuf:"bytes,3,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` NickName string `protobuf:"bytes,4,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` PreferredLanguage string `protobuf:"bytes,5,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` Gender Gender `protobuf:"varint,6,opt,name=gender,proto3,enum=caos.zitadel.management.api.v1.Gender" json:"gender,omitempty"` Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"` IsEmailVerified bool `protobuf:"varint,8,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` Phone string `protobuf:"bytes,9,opt,name=phone,proto3" json:"phone,omitempty"` IsPhoneVerified bool `protobuf:"varint,10,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` Country string `protobuf:"bytes,11,opt,name=country,proto3" json:"country,omitempty"` Locality string `protobuf:"bytes,12,opt,name=locality,proto3" json:"locality,omitempty"` PostalCode string `protobuf:"bytes,13,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` Region string `protobuf:"bytes,14,opt,name=region,proto3" json:"region,omitempty"` StreetAddress string `protobuf:"bytes,15,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` Password string `protobuf:"bytes,16,opt,name=password,proto3" json:"password,omitempty"` } func (x *CreateUserRequest) Reset() { *x = CreateUserRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateUserRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateUserRequest) ProtoMessage() {} func (x *CreateUserRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[11] 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 CreateUserRequest.ProtoReflect.Descriptor instead. func (*CreateUserRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{11} } func (x *CreateUserRequest) GetUserName() string { if x != nil { return x.UserName } return "" } func (x *CreateUserRequest) GetFirstName() string { if x != nil { return x.FirstName } return "" } func (x *CreateUserRequest) GetLastName() string { if x != nil { return x.LastName } return "" } func (x *CreateUserRequest) GetNickName() string { if x != nil { return x.NickName } return "" } func (x *CreateUserRequest) GetPreferredLanguage() string { if x != nil { return x.PreferredLanguage } return "" } func (x *CreateUserRequest) GetGender() Gender { if x != nil { return x.Gender } return Gender_GENDER_UNSPECIFIED } func (x *CreateUserRequest) GetEmail() string { if x != nil { return x.Email } return "" } func (x *CreateUserRequest) GetIsEmailVerified() bool { if x != nil { return x.IsEmailVerified } return false } func (x *CreateUserRequest) GetPhone() string { if x != nil { return x.Phone } return "" } func (x *CreateUserRequest) GetIsPhoneVerified() bool { if x != nil { return x.IsPhoneVerified } return false } func (x *CreateUserRequest) GetCountry() string { if x != nil { return x.Country } return "" } func (x *CreateUserRequest) GetLocality() string { if x != nil { return x.Locality } return "" } func (x *CreateUserRequest) GetPostalCode() string { if x != nil { return x.PostalCode } return "" } func (x *CreateUserRequest) GetRegion() string { if x != nil { return x.Region } return "" } func (x *CreateUserRequest) GetStreetAddress() string { if x != nil { return x.StreetAddress } return "" } func (x *CreateUserRequest) GetPassword() string { if x != nil { return x.Password } return "" } type User struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` State UserState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.UserState" json:"state,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` UserName string `protobuf:"bytes,5,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` FirstName string `protobuf:"bytes,6,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` LastName string `protobuf:"bytes,7,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` DisplayName string `protobuf:"bytes,8,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` NickName string `protobuf:"bytes,9,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` PreferredLanguage string `protobuf:"bytes,10,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` Gender Gender `protobuf:"varint,11,opt,name=gender,proto3,enum=caos.zitadel.management.api.v1.Gender" json:"gender,omitempty"` Email string `protobuf:"bytes,12,opt,name=email,proto3" json:"email,omitempty"` IsEmailVerified bool `protobuf:"varint,13,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` Phone string `protobuf:"bytes,14,opt,name=phone,proto3" json:"phone,omitempty"` IsPhoneVerified bool `protobuf:"varint,15,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` Country string `protobuf:"bytes,16,opt,name=country,proto3" json:"country,omitempty"` Locality string `protobuf:"bytes,17,opt,name=locality,proto3" json:"locality,omitempty"` PostalCode string `protobuf:"bytes,18,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` Region string `protobuf:"bytes,19,opt,name=region,proto3" json:"region,omitempty"` StreetAddress string `protobuf:"bytes,20,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` Sequence uint64 `protobuf:"varint,21,opt,name=sequence,proto3" json:"sequence,omitempty"` } func (x *User) Reset() { *x = User{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *User) String() string { return protoimpl.X.MessageStringOf(x) } func (*User) ProtoMessage() {} func (x *User) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[12] 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 User.ProtoReflect.Descriptor instead. func (*User) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{12} } func (x *User) GetId() string { if x != nil { return x.Id } return "" } func (x *User) GetState() UserState { if x != nil { return x.State } return UserState_USERSTATE_UNSPECIFIED } func (x *User) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *User) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *User) GetUserName() string { if x != nil { return x.UserName } return "" } func (x *User) GetFirstName() string { if x != nil { return x.FirstName } return "" } func (x *User) GetLastName() string { if x != nil { return x.LastName } return "" } func (x *User) GetDisplayName() string { if x != nil { return x.DisplayName } return "" } func (x *User) GetNickName() string { if x != nil { return x.NickName } return "" } func (x *User) GetPreferredLanguage() string { if x != nil { return x.PreferredLanguage } return "" } func (x *User) GetGender() Gender { if x != nil { return x.Gender } return Gender_GENDER_UNSPECIFIED } func (x *User) GetEmail() string { if x != nil { return x.Email } return "" } func (x *User) GetIsEmailVerified() bool { if x != nil { return x.IsEmailVerified } return false } func (x *User) GetPhone() string { if x != nil { return x.Phone } return "" } func (x *User) GetIsPhoneVerified() bool { if x != nil { return x.IsPhoneVerified } return false } func (x *User) GetCountry() string { if x != nil { return x.Country } return "" } func (x *User) GetLocality() string { if x != nil { return x.Locality } return "" } func (x *User) GetPostalCode() string { if x != nil { return x.PostalCode } return "" } func (x *User) GetRegion() string { if x != nil { return x.Region } return "" } func (x *User) GetStreetAddress() string { if x != nil { return x.StreetAddress } return "" } func (x *User) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } type UserView struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` State UserState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.UserState" json:"state,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` LastLogin *timestamp.Timestamp `protobuf:"bytes,5,opt,name=last_login,json=lastLogin,proto3" json:"last_login,omitempty"` PasswordChanged *timestamp.Timestamp `protobuf:"bytes,6,opt,name=password_changed,json=passwordChanged,proto3" json:"password_changed,omitempty"` UserName string `protobuf:"bytes,7,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` FirstName string `protobuf:"bytes,8,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` LastName string `protobuf:"bytes,9,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` DisplayName string `protobuf:"bytes,10,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` NickName string `protobuf:"bytes,11,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` PreferredLanguage string `protobuf:"bytes,12,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` Gender Gender `protobuf:"varint,13,opt,name=gender,proto3,enum=caos.zitadel.management.api.v1.Gender" json:"gender,omitempty"` Email string `protobuf:"bytes,14,opt,name=email,proto3" json:"email,omitempty"` IsEmailVerified bool `protobuf:"varint,15,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` Phone string `protobuf:"bytes,16,opt,name=phone,proto3" json:"phone,omitempty"` IsPhoneVerified bool `protobuf:"varint,17,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` Country string `protobuf:"bytes,18,opt,name=country,proto3" json:"country,omitempty"` Locality string `protobuf:"bytes,19,opt,name=locality,proto3" json:"locality,omitempty"` PostalCode string `protobuf:"bytes,20,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` Region string `protobuf:"bytes,21,opt,name=region,proto3" json:"region,omitempty"` StreetAddress string `protobuf:"bytes,22,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` Sequence uint64 `protobuf:"varint,23,opt,name=sequence,proto3" json:"sequence,omitempty"` ResourceOwner string `protobuf:"bytes,24,opt,name=resource_owner,json=resourceOwner,proto3" json:"resource_owner,omitempty"` LoginNames []string `protobuf:"bytes,25,rep,name=login_names,json=loginNames,proto3" json:"login_names,omitempty"` PreferredLoginName string `protobuf:"bytes,26,opt,name=preferred_login_name,json=preferredLoginName,proto3" json:"preferred_login_name,omitempty"` } func (x *UserView) Reset() { *x = UserView{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserView) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserView) ProtoMessage() {} func (x *UserView) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[13] 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 UserView.ProtoReflect.Descriptor instead. func (*UserView) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{13} } func (x *UserView) GetId() string { if x != nil { return x.Id } return "" } func (x *UserView) GetState() UserState { if x != nil { return x.State } return UserState_USERSTATE_UNSPECIFIED } func (x *UserView) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *UserView) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *UserView) GetLastLogin() *timestamp.Timestamp { if x != nil { return x.LastLogin } return nil } func (x *UserView) GetPasswordChanged() *timestamp.Timestamp { if x != nil { return x.PasswordChanged } return nil } func (x *UserView) GetUserName() string { if x != nil { return x.UserName } return "" } func (x *UserView) GetFirstName() string { if x != nil { return x.FirstName } return "" } func (x *UserView) GetLastName() string { if x != nil { return x.LastName } return "" } func (x *UserView) GetDisplayName() string { if x != nil { return x.DisplayName } return "" } func (x *UserView) GetNickName() string { if x != nil { return x.NickName } return "" } func (x *UserView) GetPreferredLanguage() string { if x != nil { return x.PreferredLanguage } return "" } func (x *UserView) GetGender() Gender { if x != nil { return x.Gender } return Gender_GENDER_UNSPECIFIED } func (x *UserView) GetEmail() string { if x != nil { return x.Email } return "" } func (x *UserView) GetIsEmailVerified() bool { if x != nil { return x.IsEmailVerified } return false } func (x *UserView) GetPhone() string { if x != nil { return x.Phone } return "" } func (x *UserView) GetIsPhoneVerified() bool { if x != nil { return x.IsPhoneVerified } return false } func (x *UserView) GetCountry() string { if x != nil { return x.Country } return "" } func (x *UserView) GetLocality() string { if x != nil { return x.Locality } return "" } func (x *UserView) GetPostalCode() string { if x != nil { return x.PostalCode } return "" } func (x *UserView) GetRegion() string { if x != nil { return x.Region } return "" } func (x *UserView) GetStreetAddress() string { if x != nil { return x.StreetAddress } return "" } func (x *UserView) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } func (x *UserView) GetResourceOwner() string { if x != nil { return x.ResourceOwner } return "" } func (x *UserView) GetLoginNames() []string { if x != nil { return x.LoginNames } return nil } func (x *UserView) GetPreferredLoginName() string { if x != nil { return x.PreferredLoginName } return "" } type UserSearchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` SortingColumn UserSearchKey `protobuf:"varint,3,opt,name=sorting_column,json=sortingColumn,proto3,enum=caos.zitadel.management.api.v1.UserSearchKey" json:"sorting_column,omitempty"` Asc bool `protobuf:"varint,4,opt,name=asc,proto3" json:"asc,omitempty"` Queries []*UserSearchQuery `protobuf:"bytes,5,rep,name=queries,proto3" json:"queries,omitempty"` } func (x *UserSearchRequest) Reset() { *x = UserSearchRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserSearchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserSearchRequest) ProtoMessage() {} func (x *UserSearchRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[14] 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 UserSearchRequest.ProtoReflect.Descriptor instead. func (*UserSearchRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{14} } func (x *UserSearchRequest) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *UserSearchRequest) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *UserSearchRequest) GetSortingColumn() UserSearchKey { if x != nil { return x.SortingColumn } return UserSearchKey_USERSEARCHKEY_UNSPECIFIED } func (x *UserSearchRequest) GetAsc() bool { if x != nil { return x.Asc } return false } func (x *UserSearchRequest) GetQueries() []*UserSearchQuery { if x != nil { return x.Queries } return nil } type UserSearchQuery struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key UserSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.UserSearchKey" json:"key,omitempty"` Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` } func (x *UserSearchQuery) Reset() { *x = UserSearchQuery{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserSearchQuery) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserSearchQuery) ProtoMessage() {} func (x *UserSearchQuery) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[15] 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 UserSearchQuery.ProtoReflect.Descriptor instead. func (*UserSearchQuery) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{15} } func (x *UserSearchQuery) GetKey() UserSearchKey { if x != nil { return x.Key } return UserSearchKey_USERSEARCHKEY_UNSPECIFIED } func (x *UserSearchQuery) GetMethod() SearchMethod { if x != nil { return x.Method } return SearchMethod_SEARCHMETHOD_EQUALS } func (x *UserSearchQuery) GetValue() string { if x != nil { return x.Value } return "" } type UserSearchResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` Result []*UserView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` } func (x *UserSearchResponse) Reset() { *x = UserSearchResponse{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserSearchResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserSearchResponse) ProtoMessage() {} func (x *UserSearchResponse) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[16] 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 UserSearchResponse.ProtoReflect.Descriptor instead. func (*UserSearchResponse) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{16} } func (x *UserSearchResponse) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *UserSearchResponse) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *UserSearchResponse) GetTotalResult() uint64 { if x != nil { return x.TotalResult } return 0 } func (x *UserSearchResponse) GetResult() []*UserView { if x != nil { return x.Result } return nil } func (x *UserSearchResponse) GetProcessedSequence() uint64 { if x != nil { return x.ProcessedSequence } return 0 } func (x *UserSearchResponse) GetViewTimestamp() *timestamp.Timestamp { if x != nil { return x.ViewTimestamp } return nil } type UserProfile struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` FirstName string `protobuf:"bytes,2,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` LastName string `protobuf:"bytes,3,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` NickName string `protobuf:"bytes,4,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` DisplayName string `protobuf:"bytes,5,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` PreferredLanguage string `protobuf:"bytes,6,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` Gender Gender `protobuf:"varint,7,opt,name=gender,proto3,enum=caos.zitadel.management.api.v1.Gender" json:"gender,omitempty"` UserName string `protobuf:"bytes,8,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,10,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,11,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` } func (x *UserProfile) Reset() { *x = UserProfile{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserProfile) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserProfile) ProtoMessage() {} func (x *UserProfile) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[17] 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 UserProfile.ProtoReflect.Descriptor instead. func (*UserProfile) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{17} } func (x *UserProfile) GetId() string { if x != nil { return x.Id } return "" } func (x *UserProfile) GetFirstName() string { if x != nil { return x.FirstName } return "" } func (x *UserProfile) GetLastName() string { if x != nil { return x.LastName } return "" } func (x *UserProfile) GetNickName() string { if x != nil { return x.NickName } return "" } func (x *UserProfile) GetDisplayName() string { if x != nil { return x.DisplayName } return "" } func (x *UserProfile) GetPreferredLanguage() string { if x != nil { return x.PreferredLanguage } return "" } func (x *UserProfile) GetGender() Gender { if x != nil { return x.Gender } return Gender_GENDER_UNSPECIFIED } func (x *UserProfile) GetUserName() string { if x != nil { return x.UserName } return "" } func (x *UserProfile) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } func (x *UserProfile) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *UserProfile) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } type UserProfileView struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` FirstName string `protobuf:"bytes,2,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` LastName string `protobuf:"bytes,3,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` NickName string `protobuf:"bytes,4,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` DisplayName string `protobuf:"bytes,5,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` PreferredLanguage string `protobuf:"bytes,6,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` Gender Gender `protobuf:"varint,7,opt,name=gender,proto3,enum=caos.zitadel.management.api.v1.Gender" json:"gender,omitempty"` UserName string `protobuf:"bytes,8,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,10,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,11,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` LoginNames []string `protobuf:"bytes,12,rep,name=login_names,json=loginNames,proto3" json:"login_names,omitempty"` PreferredLoginName string `protobuf:"bytes,27,opt,name=preferred_login_name,json=preferredLoginName,proto3" json:"preferred_login_name,omitempty"` } func (x *UserProfileView) Reset() { *x = UserProfileView{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserProfileView) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserProfileView) ProtoMessage() {} func (x *UserProfileView) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[18] 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 UserProfileView.ProtoReflect.Descriptor instead. func (*UserProfileView) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{18} } func (x *UserProfileView) GetId() string { if x != nil { return x.Id } return "" } func (x *UserProfileView) GetFirstName() string { if x != nil { return x.FirstName } return "" } func (x *UserProfileView) GetLastName() string { if x != nil { return x.LastName } return "" } func (x *UserProfileView) GetNickName() string { if x != nil { return x.NickName } return "" } func (x *UserProfileView) GetDisplayName() string { if x != nil { return x.DisplayName } return "" } func (x *UserProfileView) GetPreferredLanguage() string { if x != nil { return x.PreferredLanguage } return "" } func (x *UserProfileView) GetGender() Gender { if x != nil { return x.Gender } return Gender_GENDER_UNSPECIFIED } func (x *UserProfileView) GetUserName() string { if x != nil { return x.UserName } return "" } func (x *UserProfileView) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } func (x *UserProfileView) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *UserProfileView) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *UserProfileView) GetLoginNames() []string { if x != nil { return x.LoginNames } return nil } func (x *UserProfileView) GetPreferredLoginName() string { if x != nil { return x.PreferredLoginName } return "" } type UpdateUserProfileRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` FirstName string `protobuf:"bytes,2,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` LastName string `protobuf:"bytes,3,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` NickName string `protobuf:"bytes,4,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"` PreferredLanguage string `protobuf:"bytes,5,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"` Gender Gender `protobuf:"varint,6,opt,name=gender,proto3,enum=caos.zitadel.management.api.v1.Gender" json:"gender,omitempty"` } func (x *UpdateUserProfileRequest) Reset() { *x = UpdateUserProfileRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateUserProfileRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateUserProfileRequest) ProtoMessage() {} func (x *UpdateUserProfileRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[19] 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 UpdateUserProfileRequest.ProtoReflect.Descriptor instead. func (*UpdateUserProfileRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{19} } func (x *UpdateUserProfileRequest) GetId() string { if x != nil { return x.Id } return "" } func (x *UpdateUserProfileRequest) GetFirstName() string { if x != nil { return x.FirstName } return "" } func (x *UpdateUserProfileRequest) GetLastName() string { if x != nil { return x.LastName } return "" } func (x *UpdateUserProfileRequest) GetNickName() string { if x != nil { return x.NickName } return "" } func (x *UpdateUserProfileRequest) GetPreferredLanguage() string { if x != nil { return x.PreferredLanguage } return "" } func (x *UpdateUserProfileRequest) GetGender() Gender { if x != nil { return x.Gender } return Gender_GENDER_UNSPECIFIED } type UserEmail struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` IsEmailVerified bool `protobuf:"varint,3,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` Sequence uint64 `protobuf:"varint,4,opt,name=sequence,proto3" json:"sequence,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,6,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` } func (x *UserEmail) Reset() { *x = UserEmail{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserEmail) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserEmail) ProtoMessage() {} func (x *UserEmail) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[20] 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 UserEmail.ProtoReflect.Descriptor instead. func (*UserEmail) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{20} } func (x *UserEmail) GetId() string { if x != nil { return x.Id } return "" } func (x *UserEmail) GetEmail() string { if x != nil { return x.Email } return "" } func (x *UserEmail) GetIsEmailVerified() bool { if x != nil { return x.IsEmailVerified } return false } func (x *UserEmail) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } func (x *UserEmail) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *UserEmail) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } type UserEmailView struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` IsEmailVerified bool `protobuf:"varint,3,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` Sequence uint64 `protobuf:"varint,4,opt,name=sequence,proto3" json:"sequence,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,6,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` } func (x *UserEmailView) Reset() { *x = UserEmailView{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserEmailView) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserEmailView) ProtoMessage() {} func (x *UserEmailView) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[21] 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 UserEmailView.ProtoReflect.Descriptor instead. func (*UserEmailView) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{21} } func (x *UserEmailView) GetId() string { if x != nil { return x.Id } return "" } func (x *UserEmailView) GetEmail() string { if x != nil { return x.Email } return "" } func (x *UserEmailView) GetIsEmailVerified() bool { if x != nil { return x.IsEmailVerified } return false } func (x *UserEmailView) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } func (x *UserEmailView) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *UserEmailView) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } type UpdateUserEmailRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` IsEmailVerified bool `protobuf:"varint,3,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` } func (x *UpdateUserEmailRequest) Reset() { *x = UpdateUserEmailRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateUserEmailRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateUserEmailRequest) ProtoMessage() {} func (x *UpdateUserEmailRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[22] 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 UpdateUserEmailRequest.ProtoReflect.Descriptor instead. func (*UpdateUserEmailRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{22} } func (x *UpdateUserEmailRequest) GetId() string { if x != nil { return x.Id } return "" } func (x *UpdateUserEmailRequest) GetEmail() string { if x != nil { return x.Email } return "" } func (x *UpdateUserEmailRequest) GetIsEmailVerified() bool { if x != nil { return x.IsEmailVerified } return false } type UserPhone struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Phone string `protobuf:"bytes,2,opt,name=phone,proto3" json:"phone,omitempty"` IsPhoneVerified bool `protobuf:"varint,3,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,6,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` } func (x *UserPhone) Reset() { *x = UserPhone{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserPhone) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserPhone) ProtoMessage() {} func (x *UserPhone) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[23] 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 UserPhone.ProtoReflect.Descriptor instead. func (*UserPhone) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{23} } func (x *UserPhone) GetId() string { if x != nil { return x.Id } return "" } func (x *UserPhone) GetPhone() string { if x != nil { return x.Phone } return "" } func (x *UserPhone) GetIsPhoneVerified() bool { if x != nil { return x.IsPhoneVerified } return false } func (x *UserPhone) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } func (x *UserPhone) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *UserPhone) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } type UserPhoneView struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Phone string `protobuf:"bytes,2,opt,name=phone,proto3" json:"phone,omitempty"` IsPhoneVerified bool `protobuf:"varint,3,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,6,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` } func (x *UserPhoneView) Reset() { *x = UserPhoneView{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserPhoneView) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserPhoneView) ProtoMessage() {} func (x *UserPhoneView) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[24] 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 UserPhoneView.ProtoReflect.Descriptor instead. func (*UserPhoneView) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{24} } func (x *UserPhoneView) GetId() string { if x != nil { return x.Id } return "" } func (x *UserPhoneView) GetPhone() string { if x != nil { return x.Phone } return "" } func (x *UserPhoneView) GetIsPhoneVerified() bool { if x != nil { return x.IsPhoneVerified } return false } func (x *UserPhoneView) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } func (x *UserPhoneView) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *UserPhoneView) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } type UpdateUserPhoneRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Phone string `protobuf:"bytes,2,opt,name=phone,proto3" json:"phone,omitempty"` IsPhoneVerified bool `protobuf:"varint,3,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` } func (x *UpdateUserPhoneRequest) Reset() { *x = UpdateUserPhoneRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateUserPhoneRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateUserPhoneRequest) ProtoMessage() {} func (x *UpdateUserPhoneRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[25] 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 UpdateUserPhoneRequest.ProtoReflect.Descriptor instead. func (*UpdateUserPhoneRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{25} } func (x *UpdateUserPhoneRequest) GetId() string { if x != nil { return x.Id } return "" } func (x *UpdateUserPhoneRequest) GetPhone() string { if x != nil { return x.Phone } return "" } func (x *UpdateUserPhoneRequest) GetIsPhoneVerified() bool { if x != nil { return x.IsPhoneVerified } return false } type UserAddress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Country string `protobuf:"bytes,2,opt,name=country,proto3" json:"country,omitempty"` Locality string `protobuf:"bytes,3,opt,name=locality,proto3" json:"locality,omitempty"` PostalCode string `protobuf:"bytes,4,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` Region string `protobuf:"bytes,5,opt,name=region,proto3" json:"region,omitempty"` StreetAddress string `protobuf:"bytes,6,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` Sequence uint64 `protobuf:"varint,7,opt,name=sequence,proto3" json:"sequence,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,9,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` } func (x *UserAddress) Reset() { *x = UserAddress{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserAddress) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserAddress) ProtoMessage() {} func (x *UserAddress) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[26] 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 UserAddress.ProtoReflect.Descriptor instead. func (*UserAddress) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{26} } func (x *UserAddress) GetId() string { if x != nil { return x.Id } return "" } func (x *UserAddress) GetCountry() string { if x != nil { return x.Country } return "" } func (x *UserAddress) GetLocality() string { if x != nil { return x.Locality } return "" } func (x *UserAddress) GetPostalCode() string { if x != nil { return x.PostalCode } return "" } func (x *UserAddress) GetRegion() string { if x != nil { return x.Region } return "" } func (x *UserAddress) GetStreetAddress() string { if x != nil { return x.StreetAddress } return "" } func (x *UserAddress) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } func (x *UserAddress) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *UserAddress) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } type UserAddressView struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Country string `protobuf:"bytes,2,opt,name=country,proto3" json:"country,omitempty"` Locality string `protobuf:"bytes,3,opt,name=locality,proto3" json:"locality,omitempty"` PostalCode string `protobuf:"bytes,4,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` Region string `protobuf:"bytes,5,opt,name=region,proto3" json:"region,omitempty"` StreetAddress string `protobuf:"bytes,6,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` Sequence uint64 `protobuf:"varint,7,opt,name=sequence,proto3" json:"sequence,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,9,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` } func (x *UserAddressView) Reset() { *x = UserAddressView{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserAddressView) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserAddressView) ProtoMessage() {} func (x *UserAddressView) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[27] 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 UserAddressView.ProtoReflect.Descriptor instead. func (*UserAddressView) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{27} } func (x *UserAddressView) GetId() string { if x != nil { return x.Id } return "" } func (x *UserAddressView) GetCountry() string { if x != nil { return x.Country } return "" } func (x *UserAddressView) GetLocality() string { if x != nil { return x.Locality } return "" } func (x *UserAddressView) GetPostalCode() string { if x != nil { return x.PostalCode } return "" } func (x *UserAddressView) GetRegion() string { if x != nil { return x.Region } return "" } func (x *UserAddressView) GetStreetAddress() string { if x != nil { return x.StreetAddress } return "" } func (x *UserAddressView) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } func (x *UserAddressView) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *UserAddressView) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } type UpdateUserAddressRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Country string `protobuf:"bytes,2,opt,name=country,proto3" json:"country,omitempty"` Locality string `protobuf:"bytes,3,opt,name=locality,proto3" json:"locality,omitempty"` PostalCode string `protobuf:"bytes,4,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` Region string `protobuf:"bytes,5,opt,name=region,proto3" json:"region,omitempty"` StreetAddress string `protobuf:"bytes,6,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"` } func (x *UpdateUserAddressRequest) Reset() { *x = UpdateUserAddressRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateUserAddressRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateUserAddressRequest) ProtoMessage() {} func (x *UpdateUserAddressRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[28] 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 UpdateUserAddressRequest.ProtoReflect.Descriptor instead. func (*UpdateUserAddressRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{28} } func (x *UpdateUserAddressRequest) GetId() string { if x != nil { return x.Id } return "" } func (x *UpdateUserAddressRequest) GetCountry() string { if x != nil { return x.Country } return "" } func (x *UpdateUserAddressRequest) GetLocality() string { if x != nil { return x.Locality } return "" } func (x *UpdateUserAddressRequest) GetPostalCode() string { if x != nil { return x.PostalCode } return "" } func (x *UpdateUserAddressRequest) GetRegion() string { if x != nil { return x.Region } return "" } func (x *UpdateUserAddressRequest) GetStreetAddress() string { if x != nil { return x.StreetAddress } return "" } type MultiFactors struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Mfas []*MultiFactor `protobuf:"bytes,1,rep,name=mfas,proto3" json:"mfas,omitempty"` } func (x *MultiFactors) Reset() { *x = MultiFactors{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MultiFactors) String() string { return protoimpl.X.MessageStringOf(x) } func (*MultiFactors) ProtoMessage() {} func (x *MultiFactors) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[29] 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 MultiFactors.ProtoReflect.Descriptor instead. func (*MultiFactors) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{29} } func (x *MultiFactors) GetMfas() []*MultiFactor { if x != nil { return x.Mfas } return nil } type MultiFactor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type MfaType `protobuf:"varint,1,opt,name=type,proto3,enum=caos.zitadel.management.api.v1.MfaType" json:"type,omitempty"` State MFAState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.MFAState" json:"state,omitempty"` } func (x *MultiFactor) Reset() { *x = MultiFactor{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MultiFactor) String() string { return protoimpl.X.MessageStringOf(x) } func (*MultiFactor) ProtoMessage() {} func (x *MultiFactor) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[30] 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 MultiFactor.ProtoReflect.Descriptor instead. func (*MultiFactor) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{30} } func (x *MultiFactor) GetType() MfaType { if x != nil { return x.Type } return MfaType_MFATYPE_UNSPECIFIED } func (x *MultiFactor) GetState() MFAState { if x != nil { return x.State } return MFAState_MFASTATE_UNSPECIFIED } type PasswordID struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *PasswordID) Reset() { *x = PasswordID{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PasswordID) String() string { return protoimpl.X.MessageStringOf(x) } func (*PasswordID) ProtoMessage() {} func (x *PasswordID) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[31] 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 PasswordID.ProtoReflect.Descriptor instead. func (*PasswordID) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{31} } func (x *PasswordID) GetId() string { if x != nil { return x.Id } return "" } type PasswordRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` } func (x *PasswordRequest) Reset() { *x = PasswordRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PasswordRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*PasswordRequest) ProtoMessage() {} func (x *PasswordRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[32] 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 PasswordRequest.ProtoReflect.Descriptor instead. func (*PasswordRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{32} } func (x *PasswordRequest) GetId() string { if x != nil { return x.Id } return "" } func (x *PasswordRequest) GetPassword() string { if x != nil { return x.Password } return "" } type ResetPasswordRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *ResetPasswordRequest) Reset() { *x = ResetPasswordRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ResetPasswordRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ResetPasswordRequest) ProtoMessage() {} func (x *ResetPasswordRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[33] 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 ResetPasswordRequest.ProtoReflect.Descriptor instead. func (*ResetPasswordRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{33} } func (x *ResetPasswordRequest) GetId() string { if x != nil { return x.Id } return "" } type SetPasswordNotificationRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Type NotificationType `protobuf:"varint,2,opt,name=type,proto3,enum=caos.zitadel.management.api.v1.NotificationType" json:"type,omitempty"` } func (x *SetPasswordNotificationRequest) Reset() { *x = SetPasswordNotificationRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SetPasswordNotificationRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetPasswordNotificationRequest) ProtoMessage() {} func (x *SetPasswordNotificationRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[34] 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 SetPasswordNotificationRequest.ProtoReflect.Descriptor instead. func (*SetPasswordNotificationRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{34} } func (x *SetPasswordNotificationRequest) GetId() string { if x != nil { return x.Id } return "" } func (x *SetPasswordNotificationRequest) GetType() NotificationType { if x != nil { return x.Type } return NotificationType_NOTIFICATIONTYPE_EMAIL } type PasswordComplexityPolicyID struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *PasswordComplexityPolicyID) Reset() { *x = PasswordComplexityPolicyID{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PasswordComplexityPolicyID) String() string { return protoimpl.X.MessageStringOf(x) } func (*PasswordComplexityPolicyID) ProtoMessage() {} func (x *PasswordComplexityPolicyID) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[35] 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 PasswordComplexityPolicyID.ProtoReflect.Descriptor instead. func (*PasswordComplexityPolicyID) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{35} } func (x *PasswordComplexityPolicyID) GetId() string { if x != nil { return x.Id } return "" } type PasswordComplexityPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` State PolicyState `protobuf:"varint,3,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.PolicyState" json:"state,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` MinLength uint64 `protobuf:"varint,6,opt,name=min_length,json=minLength,proto3" json:"min_length,omitempty"` HasLowercase bool `protobuf:"varint,7,opt,name=has_lowercase,json=hasLowercase,proto3" json:"has_lowercase,omitempty"` HasUppercase bool `protobuf:"varint,8,opt,name=has_uppercase,json=hasUppercase,proto3" json:"has_uppercase,omitempty"` HasNumber bool `protobuf:"varint,9,opt,name=has_number,json=hasNumber,proto3" json:"has_number,omitempty"` HasSymbol bool `protobuf:"varint,10,opt,name=has_symbol,json=hasSymbol,proto3" json:"has_symbol,omitempty"` Sequence uint64 `protobuf:"varint,11,opt,name=sequence,proto3" json:"sequence,omitempty"` IsDefault bool `protobuf:"varint,12,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` } func (x *PasswordComplexityPolicy) Reset() { *x = PasswordComplexityPolicy{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PasswordComplexityPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*PasswordComplexityPolicy) ProtoMessage() {} func (x *PasswordComplexityPolicy) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[36] 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 PasswordComplexityPolicy.ProtoReflect.Descriptor instead. func (*PasswordComplexityPolicy) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{36} } func (x *PasswordComplexityPolicy) GetId() string { if x != nil { return x.Id } return "" } func (x *PasswordComplexityPolicy) GetDescription() string { if x != nil { return x.Description } return "" } func (x *PasswordComplexityPolicy) GetState() PolicyState { if x != nil { return x.State } return PolicyState_POLICYSTATE_UNSPECIFIED } func (x *PasswordComplexityPolicy) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *PasswordComplexityPolicy) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *PasswordComplexityPolicy) GetMinLength() uint64 { if x != nil { return x.MinLength } return 0 } func (x *PasswordComplexityPolicy) GetHasLowercase() bool { if x != nil { return x.HasLowercase } return false } func (x *PasswordComplexityPolicy) GetHasUppercase() bool { if x != nil { return x.HasUppercase } return false } func (x *PasswordComplexityPolicy) GetHasNumber() bool { if x != nil { return x.HasNumber } return false } func (x *PasswordComplexityPolicy) GetHasSymbol() bool { if x != nil { return x.HasSymbol } return false } func (x *PasswordComplexityPolicy) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } func (x *PasswordComplexityPolicy) GetIsDefault() bool { if x != nil { return x.IsDefault } return false } type PasswordComplexityPolicyCreate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` MinLength uint64 `protobuf:"varint,2,opt,name=min_length,json=minLength,proto3" json:"min_length,omitempty"` HasLowercase bool `protobuf:"varint,3,opt,name=has_lowercase,json=hasLowercase,proto3" json:"has_lowercase,omitempty"` HasUppercase bool `protobuf:"varint,4,opt,name=has_uppercase,json=hasUppercase,proto3" json:"has_uppercase,omitempty"` HasNumber bool `protobuf:"varint,5,opt,name=has_number,json=hasNumber,proto3" json:"has_number,omitempty"` HasSymbol bool `protobuf:"varint,6,opt,name=has_symbol,json=hasSymbol,proto3" json:"has_symbol,omitempty"` } func (x *PasswordComplexityPolicyCreate) Reset() { *x = PasswordComplexityPolicyCreate{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PasswordComplexityPolicyCreate) String() string { return protoimpl.X.MessageStringOf(x) } func (*PasswordComplexityPolicyCreate) ProtoMessage() {} func (x *PasswordComplexityPolicyCreate) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[37] 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 PasswordComplexityPolicyCreate.ProtoReflect.Descriptor instead. func (*PasswordComplexityPolicyCreate) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{37} } func (x *PasswordComplexityPolicyCreate) GetDescription() string { if x != nil { return x.Description } return "" } func (x *PasswordComplexityPolicyCreate) GetMinLength() uint64 { if x != nil { return x.MinLength } return 0 } func (x *PasswordComplexityPolicyCreate) GetHasLowercase() bool { if x != nil { return x.HasLowercase } return false } func (x *PasswordComplexityPolicyCreate) GetHasUppercase() bool { if x != nil { return x.HasUppercase } return false } func (x *PasswordComplexityPolicyCreate) GetHasNumber() bool { if x != nil { return x.HasNumber } return false } func (x *PasswordComplexityPolicyCreate) GetHasSymbol() bool { if x != nil { return x.HasSymbol } return false } type PasswordComplexityPolicyUpdate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` MinLength uint64 `protobuf:"varint,3,opt,name=min_length,json=minLength,proto3" json:"min_length,omitempty"` HasLowercase bool `protobuf:"varint,4,opt,name=has_lowercase,json=hasLowercase,proto3" json:"has_lowercase,omitempty"` HasUppercase bool `protobuf:"varint,5,opt,name=has_uppercase,json=hasUppercase,proto3" json:"has_uppercase,omitempty"` HasNumber bool `protobuf:"varint,6,opt,name=has_number,json=hasNumber,proto3" json:"has_number,omitempty"` HasSymbol bool `protobuf:"varint,7,opt,name=has_symbol,json=hasSymbol,proto3" json:"has_symbol,omitempty"` } func (x *PasswordComplexityPolicyUpdate) Reset() { *x = PasswordComplexityPolicyUpdate{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PasswordComplexityPolicyUpdate) String() string { return protoimpl.X.MessageStringOf(x) } func (*PasswordComplexityPolicyUpdate) ProtoMessage() {} func (x *PasswordComplexityPolicyUpdate) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[38] 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 PasswordComplexityPolicyUpdate.ProtoReflect.Descriptor instead. func (*PasswordComplexityPolicyUpdate) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{38} } func (x *PasswordComplexityPolicyUpdate) GetId() string { if x != nil { return x.Id } return "" } func (x *PasswordComplexityPolicyUpdate) GetDescription() string { if x != nil { return x.Description } return "" } func (x *PasswordComplexityPolicyUpdate) GetMinLength() uint64 { if x != nil { return x.MinLength } return 0 } func (x *PasswordComplexityPolicyUpdate) GetHasLowercase() bool { if x != nil { return x.HasLowercase } return false } func (x *PasswordComplexityPolicyUpdate) GetHasUppercase() bool { if x != nil { return x.HasUppercase } return false } func (x *PasswordComplexityPolicyUpdate) GetHasNumber() bool { if x != nil { return x.HasNumber } return false } func (x *PasswordComplexityPolicyUpdate) GetHasSymbol() bool { if x != nil { return x.HasSymbol } return false } type PasswordAgePolicyID struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *PasswordAgePolicyID) Reset() { *x = PasswordAgePolicyID{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PasswordAgePolicyID) String() string { return protoimpl.X.MessageStringOf(x) } func (*PasswordAgePolicyID) ProtoMessage() {} func (x *PasswordAgePolicyID) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[39] 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 PasswordAgePolicyID.ProtoReflect.Descriptor instead. func (*PasswordAgePolicyID) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{39} } func (x *PasswordAgePolicyID) GetId() string { if x != nil { return x.Id } return "" } type PasswordAgePolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` State PolicyState `protobuf:"varint,3,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.PolicyState" json:"state,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` MaxAgeDays uint64 `protobuf:"varint,6,opt,name=max_age_days,json=maxAgeDays,proto3" json:"max_age_days,omitempty"` ExpireWarnDays uint64 `protobuf:"varint,7,opt,name=expire_warn_days,json=expireWarnDays,proto3" json:"expire_warn_days,omitempty"` Sequence uint64 `protobuf:"varint,8,opt,name=sequence,proto3" json:"sequence,omitempty"` IsDefault bool `protobuf:"varint,9,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` } func (x *PasswordAgePolicy) Reset() { *x = PasswordAgePolicy{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PasswordAgePolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*PasswordAgePolicy) ProtoMessage() {} func (x *PasswordAgePolicy) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[40] 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 PasswordAgePolicy.ProtoReflect.Descriptor instead. func (*PasswordAgePolicy) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{40} } func (x *PasswordAgePolicy) GetId() string { if x != nil { return x.Id } return "" } func (x *PasswordAgePolicy) GetDescription() string { if x != nil { return x.Description } return "" } func (x *PasswordAgePolicy) GetState() PolicyState { if x != nil { return x.State } return PolicyState_POLICYSTATE_UNSPECIFIED } func (x *PasswordAgePolicy) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *PasswordAgePolicy) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *PasswordAgePolicy) GetMaxAgeDays() uint64 { if x != nil { return x.MaxAgeDays } return 0 } func (x *PasswordAgePolicy) GetExpireWarnDays() uint64 { if x != nil { return x.ExpireWarnDays } return 0 } func (x *PasswordAgePolicy) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } func (x *PasswordAgePolicy) GetIsDefault() bool { if x != nil { return x.IsDefault } return false } type PasswordAgePolicyCreate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` MaxAgeDays uint64 `protobuf:"varint,2,opt,name=max_age_days,json=maxAgeDays,proto3" json:"max_age_days,omitempty"` ExpireWarnDays uint64 `protobuf:"varint,3,opt,name=expire_warn_days,json=expireWarnDays,proto3" json:"expire_warn_days,omitempty"` } func (x *PasswordAgePolicyCreate) Reset() { *x = PasswordAgePolicyCreate{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PasswordAgePolicyCreate) String() string { return protoimpl.X.MessageStringOf(x) } func (*PasswordAgePolicyCreate) ProtoMessage() {} func (x *PasswordAgePolicyCreate) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[41] 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 PasswordAgePolicyCreate.ProtoReflect.Descriptor instead. func (*PasswordAgePolicyCreate) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{41} } func (x *PasswordAgePolicyCreate) GetDescription() string { if x != nil { return x.Description } return "" } func (x *PasswordAgePolicyCreate) GetMaxAgeDays() uint64 { if x != nil { return x.MaxAgeDays } return 0 } func (x *PasswordAgePolicyCreate) GetExpireWarnDays() uint64 { if x != nil { return x.ExpireWarnDays } return 0 } type PasswordAgePolicyUpdate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` MaxAgeDays uint64 `protobuf:"varint,3,opt,name=max_age_days,json=maxAgeDays,proto3" json:"max_age_days,omitempty"` ExpireWarnDays uint64 `protobuf:"varint,4,opt,name=expire_warn_days,json=expireWarnDays,proto3" json:"expire_warn_days,omitempty"` } func (x *PasswordAgePolicyUpdate) Reset() { *x = PasswordAgePolicyUpdate{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PasswordAgePolicyUpdate) String() string { return protoimpl.X.MessageStringOf(x) } func (*PasswordAgePolicyUpdate) ProtoMessage() {} func (x *PasswordAgePolicyUpdate) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[42] 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 PasswordAgePolicyUpdate.ProtoReflect.Descriptor instead. func (*PasswordAgePolicyUpdate) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{42} } func (x *PasswordAgePolicyUpdate) GetId() string { if x != nil { return x.Id } return "" } func (x *PasswordAgePolicyUpdate) GetDescription() string { if x != nil { return x.Description } return "" } func (x *PasswordAgePolicyUpdate) GetMaxAgeDays() uint64 { if x != nil { return x.MaxAgeDays } return 0 } func (x *PasswordAgePolicyUpdate) GetExpireWarnDays() uint64 { if x != nil { return x.ExpireWarnDays } return 0 } type PasswordLockoutPolicyID struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *PasswordLockoutPolicyID) Reset() { *x = PasswordLockoutPolicyID{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PasswordLockoutPolicyID) String() string { return protoimpl.X.MessageStringOf(x) } func (*PasswordLockoutPolicyID) ProtoMessage() {} func (x *PasswordLockoutPolicyID) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[43] 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 PasswordLockoutPolicyID.ProtoReflect.Descriptor instead. func (*PasswordLockoutPolicyID) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{43} } func (x *PasswordLockoutPolicyID) GetId() string { if x != nil { return x.Id } return "" } type PasswordLockoutPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` State PolicyState `protobuf:"varint,3,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.PolicyState" json:"state,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` MaxAttempts uint64 `protobuf:"varint,6,opt,name=max_attempts,json=maxAttempts,proto3" json:"max_attempts,omitempty"` ShowLockOutFailures bool `protobuf:"varint,7,opt,name=show_lock_out_failures,json=showLockOutFailures,proto3" json:"show_lock_out_failures,omitempty"` Sequence uint64 `protobuf:"varint,8,opt,name=sequence,proto3" json:"sequence,omitempty"` IsDefault bool `protobuf:"varint,9,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` } func (x *PasswordLockoutPolicy) Reset() { *x = PasswordLockoutPolicy{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PasswordLockoutPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*PasswordLockoutPolicy) ProtoMessage() {} func (x *PasswordLockoutPolicy) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[44] 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 PasswordLockoutPolicy.ProtoReflect.Descriptor instead. func (*PasswordLockoutPolicy) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{44} } func (x *PasswordLockoutPolicy) GetId() string { if x != nil { return x.Id } return "" } func (x *PasswordLockoutPolicy) GetDescription() string { if x != nil { return x.Description } return "" } func (x *PasswordLockoutPolicy) GetState() PolicyState { if x != nil { return x.State } return PolicyState_POLICYSTATE_UNSPECIFIED } func (x *PasswordLockoutPolicy) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *PasswordLockoutPolicy) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *PasswordLockoutPolicy) GetMaxAttempts() uint64 { if x != nil { return x.MaxAttempts } return 0 } func (x *PasswordLockoutPolicy) GetShowLockOutFailures() bool { if x != nil { return x.ShowLockOutFailures } return false } func (x *PasswordLockoutPolicy) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } func (x *PasswordLockoutPolicy) GetIsDefault() bool { if x != nil { return x.IsDefault } return false } type PasswordLockoutPolicyCreate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` MaxAttempts uint64 `protobuf:"varint,2,opt,name=max_attempts,json=maxAttempts,proto3" json:"max_attempts,omitempty"` ShowLockOutFailures bool `protobuf:"varint,3,opt,name=show_lock_out_failures,json=showLockOutFailures,proto3" json:"show_lock_out_failures,omitempty"` } func (x *PasswordLockoutPolicyCreate) Reset() { *x = PasswordLockoutPolicyCreate{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PasswordLockoutPolicyCreate) String() string { return protoimpl.X.MessageStringOf(x) } func (*PasswordLockoutPolicyCreate) ProtoMessage() {} func (x *PasswordLockoutPolicyCreate) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[45] 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 PasswordLockoutPolicyCreate.ProtoReflect.Descriptor instead. func (*PasswordLockoutPolicyCreate) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{45} } func (x *PasswordLockoutPolicyCreate) GetDescription() string { if x != nil { return x.Description } return "" } func (x *PasswordLockoutPolicyCreate) GetMaxAttempts() uint64 { if x != nil { return x.MaxAttempts } return 0 } func (x *PasswordLockoutPolicyCreate) GetShowLockOutFailures() bool { if x != nil { return x.ShowLockOutFailures } return false } type PasswordLockoutPolicyUpdate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` MaxAttempts uint64 `protobuf:"varint,3,opt,name=max_attempts,json=maxAttempts,proto3" json:"max_attempts,omitempty"` ShowLockOutFailures bool `protobuf:"varint,4,opt,name=show_lock_out_failures,json=showLockOutFailures,proto3" json:"show_lock_out_failures,omitempty"` } func (x *PasswordLockoutPolicyUpdate) Reset() { *x = PasswordLockoutPolicyUpdate{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PasswordLockoutPolicyUpdate) String() string { return protoimpl.X.MessageStringOf(x) } func (*PasswordLockoutPolicyUpdate) ProtoMessage() {} func (x *PasswordLockoutPolicyUpdate) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[46] 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 PasswordLockoutPolicyUpdate.ProtoReflect.Descriptor instead. func (*PasswordLockoutPolicyUpdate) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{46} } func (x *PasswordLockoutPolicyUpdate) GetId() string { if x != nil { return x.Id } return "" } func (x *PasswordLockoutPolicyUpdate) GetDescription() string { if x != nil { return x.Description } return "" } func (x *PasswordLockoutPolicyUpdate) GetMaxAttempts() uint64 { if x != nil { return x.MaxAttempts } return 0 } func (x *PasswordLockoutPolicyUpdate) GetShowLockOutFailures() bool { if x != nil { return x.ShowLockOutFailures } return false } type OrgIamPolicy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OrgId string `protobuf:"bytes,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` UserLoginMustBeDomain bool `protobuf:"varint,3,opt,name=user_login_must_be_domain,json=userLoginMustBeDomain,proto3" json:"user_login_must_be_domain,omitempty"` Default bool `protobuf:"varint,4,opt,name=default,proto3" json:"default,omitempty"` } func (x *OrgIamPolicy) Reset() { *x = OrgIamPolicy{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OrgIamPolicy) String() string { return protoimpl.X.MessageStringOf(x) } func (*OrgIamPolicy) ProtoMessage() {} func (x *OrgIamPolicy) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[47] 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 OrgIamPolicy.ProtoReflect.Descriptor instead. func (*OrgIamPolicy) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{47} } func (x *OrgIamPolicy) GetOrgId() string { if x != nil { return x.OrgId } return "" } func (x *OrgIamPolicy) GetDescription() string { if x != nil { return x.Description } return "" } func (x *OrgIamPolicy) GetUserLoginMustBeDomain() bool { if x != nil { return x.UserLoginMustBeDomain } return false } func (x *OrgIamPolicy) GetDefault() bool { if x != nil { return x.Default } return false } type OrgID struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *OrgID) Reset() { *x = OrgID{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OrgID) String() string { return protoimpl.X.MessageStringOf(x) } func (*OrgID) ProtoMessage() {} func (x *OrgID) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[48] 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 OrgID.ProtoReflect.Descriptor instead. func (*OrgID) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{48} } func (x *OrgID) GetId() string { if x != nil { return x.Id } return "" } type OrgCreateRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } func (x *OrgCreateRequest) Reset() { *x = OrgCreateRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OrgCreateRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*OrgCreateRequest) ProtoMessage() {} func (x *OrgCreateRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[49] 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 OrgCreateRequest.ProtoReflect.Descriptor instead. func (*OrgCreateRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{49} } func (x *OrgCreateRequest) GetName() string { if x != nil { return x.Name } return "" } type Org struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` State OrgState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.OrgState" json:"state,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` Sequence uint64 `protobuf:"varint,6,opt,name=sequence,proto3" json:"sequence,omitempty"` } func (x *Org) Reset() { *x = Org{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Org) String() string { return protoimpl.X.MessageStringOf(x) } func (*Org) ProtoMessage() {} func (x *Org) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[50] 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 Org.ProtoReflect.Descriptor instead. func (*Org) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{50} } func (x *Org) GetId() string { if x != nil { return x.Id } return "" } func (x *Org) GetState() OrgState { if x != nil { return x.State } return OrgState_ORGSTATE_UNSPECIFIED } func (x *Org) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *Org) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *Org) GetName() string { if x != nil { return x.Name } return "" } func (x *Org) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } type OrgView struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` State OrgState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.OrgState" json:"state,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` Sequence uint64 `protobuf:"varint,6,opt,name=sequence,proto3" json:"sequence,omitempty"` } func (x *OrgView) Reset() { *x = OrgView{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OrgView) String() string { return protoimpl.X.MessageStringOf(x) } func (*OrgView) ProtoMessage() {} func (x *OrgView) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[51] 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 OrgView.ProtoReflect.Descriptor instead. func (*OrgView) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{51} } func (x *OrgView) GetId() string { if x != nil { return x.Id } return "" } func (x *OrgView) GetState() OrgState { if x != nil { return x.State } return OrgState_ORGSTATE_UNSPECIFIED } func (x *OrgView) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *OrgView) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *OrgView) GetName() string { if x != nil { return x.Name } return "" } func (x *OrgView) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } type Domain struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` } func (x *Domain) Reset() { *x = Domain{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Domain) String() string { return protoimpl.X.MessageStringOf(x) } func (*Domain) ProtoMessage() {} func (x *Domain) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[52] 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 Domain.ProtoReflect.Descriptor instead. func (*Domain) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{52} } func (x *Domain) GetDomain() string { if x != nil { return x.Domain } return "" } type OrgDomains struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domains []*OrgDomain `protobuf:"bytes,1,rep,name=domains,proto3" json:"domains,omitempty"` } func (x *OrgDomains) Reset() { *x = OrgDomains{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OrgDomains) String() string { return protoimpl.X.MessageStringOf(x) } func (*OrgDomains) ProtoMessage() {} func (x *OrgDomains) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[53] 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 OrgDomains.ProtoReflect.Descriptor instead. func (*OrgDomains) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{53} } func (x *OrgDomains) GetDomains() []*OrgDomain { if x != nil { return x.Domains } return nil } type OrgDomain struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OrgId string `protobuf:"bytes,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,2,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` Domain string `protobuf:"bytes,4,opt,name=domain,proto3" json:"domain,omitempty"` Verified bool `protobuf:"varint,5,opt,name=verified,proto3" json:"verified,omitempty"` Primary bool `protobuf:"varint,6,opt,name=primary,proto3" json:"primary,omitempty"` Sequence uint64 `protobuf:"varint,7,opt,name=sequence,proto3" json:"sequence,omitempty"` } func (x *OrgDomain) Reset() { *x = OrgDomain{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OrgDomain) String() string { return protoimpl.X.MessageStringOf(x) } func (*OrgDomain) ProtoMessage() {} func (x *OrgDomain) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[54] 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 OrgDomain.ProtoReflect.Descriptor instead. func (*OrgDomain) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{54} } func (x *OrgDomain) GetOrgId() string { if x != nil { return x.OrgId } return "" } func (x *OrgDomain) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *OrgDomain) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *OrgDomain) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *OrgDomain) GetVerified() bool { if x != nil { return x.Verified } return false } func (x *OrgDomain) GetPrimary() bool { if x != nil { return x.Primary } return false } func (x *OrgDomain) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } type OrgDomainView struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OrgId string `protobuf:"bytes,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,2,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` Domain string `protobuf:"bytes,4,opt,name=domain,proto3" json:"domain,omitempty"` Verified bool `protobuf:"varint,5,opt,name=verified,proto3" json:"verified,omitempty"` Primary bool `protobuf:"varint,6,opt,name=primary,proto3" json:"primary,omitempty"` Sequence uint64 `protobuf:"varint,7,opt,name=sequence,proto3" json:"sequence,omitempty"` } func (x *OrgDomainView) Reset() { *x = OrgDomainView{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OrgDomainView) String() string { return protoimpl.X.MessageStringOf(x) } func (*OrgDomainView) ProtoMessage() {} func (x *OrgDomainView) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[55] 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 OrgDomainView.ProtoReflect.Descriptor instead. func (*OrgDomainView) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{55} } func (x *OrgDomainView) GetOrgId() string { if x != nil { return x.OrgId } return "" } func (x *OrgDomainView) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *OrgDomainView) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *OrgDomainView) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *OrgDomainView) GetVerified() bool { if x != nil { return x.Verified } return false } func (x *OrgDomainView) GetPrimary() bool { if x != nil { return x.Primary } return false } func (x *OrgDomainView) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } type AddOrgDomainRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` } func (x *AddOrgDomainRequest) Reset() { *x = AddOrgDomainRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AddOrgDomainRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AddOrgDomainRequest) ProtoMessage() {} func (x *AddOrgDomainRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[56] 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 AddOrgDomainRequest.ProtoReflect.Descriptor instead. func (*AddOrgDomainRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{56} } func (x *AddOrgDomainRequest) GetDomain() string { if x != nil { return x.Domain } return "" } type RemoveOrgDomainRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` } func (x *RemoveOrgDomainRequest) Reset() { *x = RemoveOrgDomainRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RemoveOrgDomainRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RemoveOrgDomainRequest) ProtoMessage() {} func (x *RemoveOrgDomainRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[57] 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 RemoveOrgDomainRequest.ProtoReflect.Descriptor instead. func (*RemoveOrgDomainRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{57} } func (x *RemoveOrgDomainRequest) GetDomain() string { if x != nil { return x.Domain } return "" } type OrgDomainSearchResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` Result []*OrgDomainView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` } func (x *OrgDomainSearchResponse) Reset() { *x = OrgDomainSearchResponse{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OrgDomainSearchResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*OrgDomainSearchResponse) ProtoMessage() {} func (x *OrgDomainSearchResponse) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[58] 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 OrgDomainSearchResponse.ProtoReflect.Descriptor instead. func (*OrgDomainSearchResponse) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{58} } func (x *OrgDomainSearchResponse) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *OrgDomainSearchResponse) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *OrgDomainSearchResponse) GetTotalResult() uint64 { if x != nil { return x.TotalResult } return 0 } func (x *OrgDomainSearchResponse) GetResult() []*OrgDomainView { if x != nil { return x.Result } return nil } func (x *OrgDomainSearchResponse) GetProcessedSequence() uint64 { if x != nil { return x.ProcessedSequence } return 0 } func (x *OrgDomainSearchResponse) GetViewTimestamp() *timestamp.Timestamp { if x != nil { return x.ViewTimestamp } return nil } type OrgDomainSearchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` Queries []*OrgDomainSearchQuery `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` } func (x *OrgDomainSearchRequest) Reset() { *x = OrgDomainSearchRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OrgDomainSearchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*OrgDomainSearchRequest) ProtoMessage() {} func (x *OrgDomainSearchRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[59] 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 OrgDomainSearchRequest.ProtoReflect.Descriptor instead. func (*OrgDomainSearchRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{59} } func (x *OrgDomainSearchRequest) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *OrgDomainSearchRequest) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *OrgDomainSearchRequest) GetQueries() []*OrgDomainSearchQuery { if x != nil { return x.Queries } return nil } type OrgDomainSearchQuery struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key OrgDomainSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.OrgDomainSearchKey" json:"key,omitempty"` Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` } func (x *OrgDomainSearchQuery) Reset() { *x = OrgDomainSearchQuery{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OrgDomainSearchQuery) String() string { return protoimpl.X.MessageStringOf(x) } func (*OrgDomainSearchQuery) ProtoMessage() {} func (x *OrgDomainSearchQuery) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[60] 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 OrgDomainSearchQuery.ProtoReflect.Descriptor instead. func (*OrgDomainSearchQuery) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{60} } func (x *OrgDomainSearchQuery) GetKey() OrgDomainSearchKey { if x != nil { return x.Key } return OrgDomainSearchKey_ORGDOMAINSEARCHKEY_UNSPECIFIED } func (x *OrgDomainSearchQuery) GetMethod() SearchMethod { if x != nil { return x.Method } return SearchMethod_SEARCHMETHOD_EQUALS } func (x *OrgDomainSearchQuery) GetValue() string { if x != nil { return x.Value } return "" } type OrgMemberRoles struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Roles []string `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` } func (x *OrgMemberRoles) Reset() { *x = OrgMemberRoles{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OrgMemberRoles) String() string { return protoimpl.X.MessageStringOf(x) } func (*OrgMemberRoles) ProtoMessage() {} func (x *OrgMemberRoles) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[61] 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 OrgMemberRoles.ProtoReflect.Descriptor instead. func (*OrgMemberRoles) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{61} } func (x *OrgMemberRoles) GetRoles() []string { if x != nil { return x.Roles } return nil } type OrgMember struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` } func (x *OrgMember) Reset() { *x = OrgMember{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OrgMember) String() string { return protoimpl.X.MessageStringOf(x) } func (*OrgMember) ProtoMessage() {} func (x *OrgMember) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[62] 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 OrgMember.ProtoReflect.Descriptor instead. func (*OrgMember) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{62} } func (x *OrgMember) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *OrgMember) GetRoles() []string { if x != nil { return x.Roles } return nil } func (x *OrgMember) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *OrgMember) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *OrgMember) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } type AddOrgMemberRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` } func (x *AddOrgMemberRequest) Reset() { *x = AddOrgMemberRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AddOrgMemberRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AddOrgMemberRequest) ProtoMessage() {} func (x *AddOrgMemberRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[63] 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 AddOrgMemberRequest.ProtoReflect.Descriptor instead. func (*AddOrgMemberRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{63} } func (x *AddOrgMemberRequest) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *AddOrgMemberRequest) GetRoles() []string { if x != nil { return x.Roles } return nil } type ChangeOrgMemberRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` } func (x *ChangeOrgMemberRequest) Reset() { *x = ChangeOrgMemberRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChangeOrgMemberRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChangeOrgMemberRequest) ProtoMessage() {} func (x *ChangeOrgMemberRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[64] 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 ChangeOrgMemberRequest.ProtoReflect.Descriptor instead. func (*ChangeOrgMemberRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{64} } func (x *ChangeOrgMemberRequest) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *ChangeOrgMemberRequest) GetRoles() []string { if x != nil { return x.Roles } return nil } type RemoveOrgMemberRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` } func (x *RemoveOrgMemberRequest) Reset() { *x = RemoveOrgMemberRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RemoveOrgMemberRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RemoveOrgMemberRequest) ProtoMessage() {} func (x *RemoveOrgMemberRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[65] 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 RemoveOrgMemberRequest.ProtoReflect.Descriptor instead. func (*RemoveOrgMemberRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{65} } func (x *RemoveOrgMemberRequest) GetUserId() string { if x != nil { return x.UserId } return "" } type OrgMemberSearchResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` Result []*OrgMemberView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` } func (x *OrgMemberSearchResponse) Reset() { *x = OrgMemberSearchResponse{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OrgMemberSearchResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*OrgMemberSearchResponse) ProtoMessage() {} func (x *OrgMemberSearchResponse) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[66] 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 OrgMemberSearchResponse.ProtoReflect.Descriptor instead. func (*OrgMemberSearchResponse) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{66} } func (x *OrgMemberSearchResponse) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *OrgMemberSearchResponse) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *OrgMemberSearchResponse) GetTotalResult() uint64 { if x != nil { return x.TotalResult } return 0 } func (x *OrgMemberSearchResponse) GetResult() []*OrgMemberView { if x != nil { return x.Result } return nil } func (x *OrgMemberSearchResponse) GetProcessedSequence() uint64 { if x != nil { return x.ProcessedSequence } return 0 } func (x *OrgMemberSearchResponse) GetViewTimestamp() *timestamp.Timestamp { if x != nil { return x.ViewTimestamp } return nil } type OrgMemberView struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` UserName string `protobuf:"bytes,6,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"` FirstName string `protobuf:"bytes,8,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` LastName string `protobuf:"bytes,9,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` DisplayName string `protobuf:"bytes,10,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` } func (x *OrgMemberView) Reset() { *x = OrgMemberView{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OrgMemberView) String() string { return protoimpl.X.MessageStringOf(x) } func (*OrgMemberView) ProtoMessage() {} func (x *OrgMemberView) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[67] 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 OrgMemberView.ProtoReflect.Descriptor instead. func (*OrgMemberView) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{67} } func (x *OrgMemberView) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *OrgMemberView) GetRoles() []string { if x != nil { return x.Roles } return nil } func (x *OrgMemberView) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *OrgMemberView) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *OrgMemberView) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } func (x *OrgMemberView) GetUserName() string { if x != nil { return x.UserName } return "" } func (x *OrgMemberView) GetEmail() string { if x != nil { return x.Email } return "" } func (x *OrgMemberView) GetFirstName() string { if x != nil { return x.FirstName } return "" } func (x *OrgMemberView) GetLastName() string { if x != nil { return x.LastName } return "" } func (x *OrgMemberView) GetDisplayName() string { if x != nil { return x.DisplayName } return "" } type OrgMemberSearchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` Queries []*OrgMemberSearchQuery `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` } func (x *OrgMemberSearchRequest) Reset() { *x = OrgMemberSearchRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OrgMemberSearchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*OrgMemberSearchRequest) ProtoMessage() {} func (x *OrgMemberSearchRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[68] 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 OrgMemberSearchRequest.ProtoReflect.Descriptor instead. func (*OrgMemberSearchRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{68} } func (x *OrgMemberSearchRequest) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *OrgMemberSearchRequest) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *OrgMemberSearchRequest) GetQueries() []*OrgMemberSearchQuery { if x != nil { return x.Queries } return nil } type OrgMemberSearchQuery struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key OrgMemberSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.OrgMemberSearchKey" json:"key,omitempty"` Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` } func (x *OrgMemberSearchQuery) Reset() { *x = OrgMemberSearchQuery{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OrgMemberSearchQuery) String() string { return protoimpl.X.MessageStringOf(x) } func (*OrgMemberSearchQuery) ProtoMessage() {} func (x *OrgMemberSearchQuery) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[69] 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 OrgMemberSearchQuery.ProtoReflect.Descriptor instead. func (*OrgMemberSearchQuery) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{69} } func (x *OrgMemberSearchQuery) GetKey() OrgMemberSearchKey { if x != nil { return x.Key } return OrgMemberSearchKey_ORGMEMBERSEARCHKEY_UNSPECIFIED } func (x *OrgMemberSearchQuery) GetMethod() SearchMethod { if x != nil { return x.Method } return SearchMethod_SEARCHMETHOD_EQUALS } func (x *OrgMemberSearchQuery) GetValue() string { if x != nil { return x.Value } return "" } type ProjectCreateRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } func (x *ProjectCreateRequest) Reset() { *x = ProjectCreateRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectCreateRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectCreateRequest) ProtoMessage() {} func (x *ProjectCreateRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[70] 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 ProjectCreateRequest.ProtoReflect.Descriptor instead. func (*ProjectCreateRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{70} } func (x *ProjectCreateRequest) GetName() string { if x != nil { return x.Name } return "" } type ProjectUpdateRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } func (x *ProjectUpdateRequest) Reset() { *x = ProjectUpdateRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectUpdateRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectUpdateRequest) ProtoMessage() {} func (x *ProjectUpdateRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[71] 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 ProjectUpdateRequest.ProtoReflect.Descriptor instead. func (*ProjectUpdateRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{71} } func (x *ProjectUpdateRequest) GetId() string { if x != nil { return x.Id } return "" } func (x *ProjectUpdateRequest) GetName() string { if x != nil { return x.Name } return "" } type ProjectSearchResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` Result []*ProjectView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` } func (x *ProjectSearchResponse) Reset() { *x = ProjectSearchResponse{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectSearchResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectSearchResponse) ProtoMessage() {} func (x *ProjectSearchResponse) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[72] 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 ProjectSearchResponse.ProtoReflect.Descriptor instead. func (*ProjectSearchResponse) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{72} } func (x *ProjectSearchResponse) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *ProjectSearchResponse) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *ProjectSearchResponse) GetTotalResult() uint64 { if x != nil { return x.TotalResult } return 0 } func (x *ProjectSearchResponse) GetResult() []*ProjectView { if x != nil { return x.Result } return nil } func (x *ProjectSearchResponse) GetProcessedSequence() uint64 { if x != nil { return x.ProcessedSequence } return 0 } func (x *ProjectSearchResponse) GetViewTimestamp() *timestamp.Timestamp { if x != nil { return x.ViewTimestamp } return nil } type ProjectView struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` State ProjectState `protobuf:"varint,3,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.ProjectState" json:"state,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ResourceOwner string `protobuf:"bytes,6,opt,name=resource_owner,json=resourceOwner,proto3" json:"resource_owner,omitempty"` Sequence uint64 `protobuf:"varint,7,opt,name=sequence,proto3" json:"sequence,omitempty"` } func (x *ProjectView) Reset() { *x = ProjectView{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectView) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectView) ProtoMessage() {} func (x *ProjectView) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[73] 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 ProjectView.ProtoReflect.Descriptor instead. func (*ProjectView) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{73} } func (x *ProjectView) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *ProjectView) GetName() string { if x != nil { return x.Name } return "" } func (x *ProjectView) GetState() ProjectState { if x != nil { return x.State } return ProjectState_PROJECTSTATE_UNSPECIFIED } func (x *ProjectView) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *ProjectView) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *ProjectView) GetResourceOwner() string { if x != nil { return x.ResourceOwner } return "" } func (x *ProjectView) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } type ProjectSearchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` Queries []*ProjectSearchQuery `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` } func (x *ProjectSearchRequest) Reset() { *x = ProjectSearchRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectSearchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectSearchRequest) ProtoMessage() {} func (x *ProjectSearchRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[74] 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 ProjectSearchRequest.ProtoReflect.Descriptor instead. func (*ProjectSearchRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{74} } func (x *ProjectSearchRequest) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *ProjectSearchRequest) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *ProjectSearchRequest) GetQueries() []*ProjectSearchQuery { if x != nil { return x.Queries } return nil } type ProjectSearchQuery struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key ProjectSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.ProjectSearchKey" json:"key,omitempty"` Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` } func (x *ProjectSearchQuery) Reset() { *x = ProjectSearchQuery{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectSearchQuery) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectSearchQuery) ProtoMessage() {} func (x *ProjectSearchQuery) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[75] 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 ProjectSearchQuery.ProtoReflect.Descriptor instead. func (*ProjectSearchQuery) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{75} } func (x *ProjectSearchQuery) GetKey() ProjectSearchKey { if x != nil { return x.Key } return ProjectSearchKey_PROJECTSEARCHKEY_UNSPECIFIED } func (x *ProjectSearchQuery) GetMethod() SearchMethod { if x != nil { return x.Method } return SearchMethod_SEARCHMETHOD_EQUALS } func (x *ProjectSearchQuery) GetValue() string { if x != nil { return x.Value } return "" } type Projects struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Projects []*Project `protobuf:"bytes,1,rep,name=projects,proto3" json:"projects,omitempty"` } func (x *Projects) Reset() { *x = Projects{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Projects) String() string { return protoimpl.X.MessageStringOf(x) } func (*Projects) ProtoMessage() {} func (x *Projects) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[76] 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 Projects.ProtoReflect.Descriptor instead. func (*Projects) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{76} } func (x *Projects) GetProjects() []*Project { if x != nil { return x.Projects } return nil } type Project struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` State ProjectState `protobuf:"varint,3,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.ProjectState" json:"state,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` Sequence uint64 `protobuf:"varint,6,opt,name=sequence,proto3" json:"sequence,omitempty"` } func (x *Project) Reset() { *x = Project{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Project) String() string { return protoimpl.X.MessageStringOf(x) } func (*Project) ProtoMessage() {} func (x *Project) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[77] 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 Project.ProtoReflect.Descriptor instead. func (*Project) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{77} } func (x *Project) GetId() string { if x != nil { return x.Id } return "" } func (x *Project) GetName() string { if x != nil { return x.Name } return "" } func (x *Project) GetState() ProjectState { if x != nil { return x.State } return ProjectState_PROJECTSTATE_UNSPECIFIED } func (x *Project) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *Project) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *Project) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } type ProjectMemberRoles struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Roles []string `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` } func (x *ProjectMemberRoles) Reset() { *x = ProjectMemberRoles{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectMemberRoles) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectMemberRoles) ProtoMessage() {} func (x *ProjectMemberRoles) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[78] 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 ProjectMemberRoles.ProtoReflect.Descriptor instead. func (*ProjectMemberRoles) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{78} } func (x *ProjectMemberRoles) GetRoles() []string { if x != nil { return x.Roles } return nil } type ProjectMember struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` } func (x *ProjectMember) Reset() { *x = ProjectMember{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectMember) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectMember) ProtoMessage() {} func (x *ProjectMember) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[79] 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 ProjectMember.ProtoReflect.Descriptor instead. func (*ProjectMember) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{79} } func (x *ProjectMember) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *ProjectMember) GetRoles() []string { if x != nil { return x.Roles } return nil } func (x *ProjectMember) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *ProjectMember) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *ProjectMember) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } type ProjectMemberAdd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` Roles []string `protobuf:"bytes,3,rep,name=roles,proto3" json:"roles,omitempty"` } func (x *ProjectMemberAdd) Reset() { *x = ProjectMemberAdd{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectMemberAdd) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectMemberAdd) ProtoMessage() {} func (x *ProjectMemberAdd) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[80] 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 ProjectMemberAdd.ProtoReflect.Descriptor instead. func (*ProjectMemberAdd) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{80} } func (x *ProjectMemberAdd) GetId() string { if x != nil { return x.Id } return "" } func (x *ProjectMemberAdd) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *ProjectMemberAdd) GetRoles() []string { if x != nil { return x.Roles } return nil } type ProjectMemberChange struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` Roles []string `protobuf:"bytes,3,rep,name=roles,proto3" json:"roles,omitempty"` } func (x *ProjectMemberChange) Reset() { *x = ProjectMemberChange{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectMemberChange) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectMemberChange) ProtoMessage() {} func (x *ProjectMemberChange) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[81] 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 ProjectMemberChange.ProtoReflect.Descriptor instead. func (*ProjectMemberChange) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{81} } func (x *ProjectMemberChange) GetId() string { if x != nil { return x.Id } return "" } func (x *ProjectMemberChange) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *ProjectMemberChange) GetRoles() []string { if x != nil { return x.Roles } return nil } type ProjectMemberRemove struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` } func (x *ProjectMemberRemove) Reset() { *x = ProjectMemberRemove{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectMemberRemove) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectMemberRemove) ProtoMessage() {} func (x *ProjectMemberRemove) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[82] 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 ProjectMemberRemove.ProtoReflect.Descriptor instead. func (*ProjectMemberRemove) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{82} } func (x *ProjectMemberRemove) GetId() string { if x != nil { return x.Id } return "" } func (x *ProjectMemberRemove) GetUserId() string { if x != nil { return x.UserId } return "" } type ProjectRoleAdd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` Group string `protobuf:"bytes,4,opt,name=group,proto3" json:"group,omitempty"` } func (x *ProjectRoleAdd) Reset() { *x = ProjectRoleAdd{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectRoleAdd) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectRoleAdd) ProtoMessage() {} func (x *ProjectRoleAdd) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[83] 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 ProjectRoleAdd.ProtoReflect.Descriptor instead. func (*ProjectRoleAdd) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{83} } func (x *ProjectRoleAdd) GetId() string { if x != nil { return x.Id } return "" } func (x *ProjectRoleAdd) GetKey() string { if x != nil { return x.Key } return "" } func (x *ProjectRoleAdd) GetDisplayName() string { if x != nil { return x.DisplayName } return "" } func (x *ProjectRoleAdd) GetGroup() string { if x != nil { return x.Group } return "" } type ProjectRoleAddBulk struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` ProjectRoles []*ProjectRoleAdd `protobuf:"bytes,2,rep,name=project_roles,json=projectRoles,proto3" json:"project_roles,omitempty"` } func (x *ProjectRoleAddBulk) Reset() { *x = ProjectRoleAddBulk{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectRoleAddBulk) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectRoleAddBulk) ProtoMessage() {} func (x *ProjectRoleAddBulk) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[84] 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 ProjectRoleAddBulk.ProtoReflect.Descriptor instead. func (*ProjectRoleAddBulk) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{84} } func (x *ProjectRoleAddBulk) GetId() string { if x != nil { return x.Id } return "" } func (x *ProjectRoleAddBulk) GetProjectRoles() []*ProjectRoleAdd { if x != nil { return x.ProjectRoles } return nil } type ProjectRoleChange struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` Group string `protobuf:"bytes,4,opt,name=group,proto3" json:"group,omitempty"` } func (x *ProjectRoleChange) Reset() { *x = ProjectRoleChange{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectRoleChange) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectRoleChange) ProtoMessage() {} func (x *ProjectRoleChange) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[85] 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 ProjectRoleChange.ProtoReflect.Descriptor instead. func (*ProjectRoleChange) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{85} } func (x *ProjectRoleChange) GetId() string { if x != nil { return x.Id } return "" } func (x *ProjectRoleChange) GetKey() string { if x != nil { return x.Key } return "" } func (x *ProjectRoleChange) GetDisplayName() string { if x != nil { return x.DisplayName } return "" } func (x *ProjectRoleChange) GetGroup() string { if x != nil { return x.Group } return "" } type ProjectRole struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,5,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` Group string `protobuf:"bytes,6,opt,name=group,proto3" json:"group,omitempty"` Sequence uint64 `protobuf:"varint,7,opt,name=sequence,proto3" json:"sequence,omitempty"` } func (x *ProjectRole) Reset() { *x = ProjectRole{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectRole) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectRole) ProtoMessage() {} func (x *ProjectRole) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[86] 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 ProjectRole.ProtoReflect.Descriptor instead. func (*ProjectRole) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{86} } func (x *ProjectRole) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *ProjectRole) GetKey() string { if x != nil { return x.Key } return "" } func (x *ProjectRole) GetDisplayName() string { if x != nil { return x.DisplayName } return "" } func (x *ProjectRole) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *ProjectRole) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *ProjectRole) GetGroup() string { if x != nil { return x.Group } return "" } func (x *ProjectRole) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } type ProjectRoleView struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` Group string `protobuf:"bytes,6,opt,name=group,proto3" json:"group,omitempty"` Sequence uint64 `protobuf:"varint,7,opt,name=sequence,proto3" json:"sequence,omitempty"` } func (x *ProjectRoleView) Reset() { *x = ProjectRoleView{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectRoleView) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectRoleView) ProtoMessage() {} func (x *ProjectRoleView) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[87] 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 ProjectRoleView.ProtoReflect.Descriptor instead. func (*ProjectRoleView) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{87} } func (x *ProjectRoleView) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *ProjectRoleView) GetKey() string { if x != nil { return x.Key } return "" } func (x *ProjectRoleView) GetDisplayName() string { if x != nil { return x.DisplayName } return "" } func (x *ProjectRoleView) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *ProjectRoleView) GetGroup() string { if x != nil { return x.Group } return "" } func (x *ProjectRoleView) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } type ProjectRoleRemove struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` } func (x *ProjectRoleRemove) Reset() { *x = ProjectRoleRemove{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectRoleRemove) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectRoleRemove) ProtoMessage() {} func (x *ProjectRoleRemove) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[88] 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 ProjectRoleRemove.ProtoReflect.Descriptor instead. func (*ProjectRoleRemove) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{88} } func (x *ProjectRoleRemove) GetId() string { if x != nil { return x.Id } return "" } func (x *ProjectRoleRemove) GetKey() string { if x != nil { return x.Key } return "" } type ProjectRoleSearchResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` Result []*ProjectRoleView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` } func (x *ProjectRoleSearchResponse) Reset() { *x = ProjectRoleSearchResponse{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectRoleSearchResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectRoleSearchResponse) ProtoMessage() {} func (x *ProjectRoleSearchResponse) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[89] 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 ProjectRoleSearchResponse.ProtoReflect.Descriptor instead. func (*ProjectRoleSearchResponse) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{89} } func (x *ProjectRoleSearchResponse) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *ProjectRoleSearchResponse) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *ProjectRoleSearchResponse) GetTotalResult() uint64 { if x != nil { return x.TotalResult } return 0 } func (x *ProjectRoleSearchResponse) GetResult() []*ProjectRoleView { if x != nil { return x.Result } return nil } func (x *ProjectRoleSearchResponse) GetProcessedSequence() uint64 { if x != nil { return x.ProcessedSequence } return 0 } func (x *ProjectRoleSearchResponse) GetViewTimestamp() *timestamp.Timestamp { if x != nil { return x.ViewTimestamp } return nil } type ProjectRoleSearchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` Queries []*ProjectRoleSearchQuery `protobuf:"bytes,4,rep,name=queries,proto3" json:"queries,omitempty"` } func (x *ProjectRoleSearchRequest) Reset() { *x = ProjectRoleSearchRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectRoleSearchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectRoleSearchRequest) ProtoMessage() {} func (x *ProjectRoleSearchRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[90] 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 ProjectRoleSearchRequest.ProtoReflect.Descriptor instead. func (*ProjectRoleSearchRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{90} } func (x *ProjectRoleSearchRequest) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *ProjectRoleSearchRequest) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *ProjectRoleSearchRequest) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *ProjectRoleSearchRequest) GetQueries() []*ProjectRoleSearchQuery { if x != nil { return x.Queries } return nil } type ProjectRoleSearchQuery struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key ProjectRoleSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.ProjectRoleSearchKey" json:"key,omitempty"` Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` } func (x *ProjectRoleSearchQuery) Reset() { *x = ProjectRoleSearchQuery{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectRoleSearchQuery) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectRoleSearchQuery) ProtoMessage() {} func (x *ProjectRoleSearchQuery) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[91] 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 ProjectRoleSearchQuery.ProtoReflect.Descriptor instead. func (*ProjectRoleSearchQuery) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{91} } func (x *ProjectRoleSearchQuery) GetKey() ProjectRoleSearchKey { if x != nil { return x.Key } return ProjectRoleSearchKey_PROJECTROLESEARCHKEY_UNSPECIFIED } func (x *ProjectRoleSearchQuery) GetMethod() SearchMethod { if x != nil { return x.Method } return SearchMethod_SEARCHMETHOD_EQUALS } func (x *ProjectRoleSearchQuery) GetValue() string { if x != nil { return x.Value } return "" } type ProjectMemberView struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` UserName string `protobuf:"bytes,2,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"` FirstName string `protobuf:"bytes,4,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` LastName string `protobuf:"bytes,5,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` Roles []string `protobuf:"bytes,6,rep,name=roles,proto3" json:"roles,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` Sequence uint64 `protobuf:"varint,10,opt,name=sequence,proto3" json:"sequence,omitempty"` DisplayName string `protobuf:"bytes,11,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` } func (x *ProjectMemberView) Reset() { *x = ProjectMemberView{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectMemberView) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectMemberView) ProtoMessage() {} func (x *ProjectMemberView) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[92] 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 ProjectMemberView.ProtoReflect.Descriptor instead. func (*ProjectMemberView) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{92} } func (x *ProjectMemberView) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *ProjectMemberView) GetUserName() string { if x != nil { return x.UserName } return "" } func (x *ProjectMemberView) GetEmail() string { if x != nil { return x.Email } return "" } func (x *ProjectMemberView) GetFirstName() string { if x != nil { return x.FirstName } return "" } func (x *ProjectMemberView) GetLastName() string { if x != nil { return x.LastName } return "" } func (x *ProjectMemberView) GetRoles() []string { if x != nil { return x.Roles } return nil } func (x *ProjectMemberView) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *ProjectMemberView) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *ProjectMemberView) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } func (x *ProjectMemberView) GetDisplayName() string { if x != nil { return x.DisplayName } return "" } type ProjectMemberSearchResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` Result []*ProjectMemberView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` } func (x *ProjectMemberSearchResponse) Reset() { *x = ProjectMemberSearchResponse{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectMemberSearchResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectMemberSearchResponse) ProtoMessage() {} func (x *ProjectMemberSearchResponse) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[93] 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 ProjectMemberSearchResponse.ProtoReflect.Descriptor instead. func (*ProjectMemberSearchResponse) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{93} } func (x *ProjectMemberSearchResponse) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *ProjectMemberSearchResponse) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *ProjectMemberSearchResponse) GetTotalResult() uint64 { if x != nil { return x.TotalResult } return 0 } func (x *ProjectMemberSearchResponse) GetResult() []*ProjectMemberView { if x != nil { return x.Result } return nil } func (x *ProjectMemberSearchResponse) GetProcessedSequence() uint64 { if x != nil { return x.ProcessedSequence } return 0 } func (x *ProjectMemberSearchResponse) GetViewTimestamp() *timestamp.Timestamp { if x != nil { return x.ViewTimestamp } return nil } type ProjectMemberSearchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` Queries []*ProjectMemberSearchQuery `protobuf:"bytes,4,rep,name=queries,proto3" json:"queries,omitempty"` } func (x *ProjectMemberSearchRequest) Reset() { *x = ProjectMemberSearchRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectMemberSearchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectMemberSearchRequest) ProtoMessage() {} func (x *ProjectMemberSearchRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[94] 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 ProjectMemberSearchRequest.ProtoReflect.Descriptor instead. func (*ProjectMemberSearchRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{94} } func (x *ProjectMemberSearchRequest) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *ProjectMemberSearchRequest) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *ProjectMemberSearchRequest) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *ProjectMemberSearchRequest) GetQueries() []*ProjectMemberSearchQuery { if x != nil { return x.Queries } return nil } type ProjectMemberSearchQuery struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key ProjectMemberSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.ProjectMemberSearchKey" json:"key,omitempty"` Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` } func (x *ProjectMemberSearchQuery) Reset() { *x = ProjectMemberSearchQuery{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectMemberSearchQuery) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectMemberSearchQuery) ProtoMessage() {} func (x *ProjectMemberSearchQuery) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[95] 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 ProjectMemberSearchQuery.ProtoReflect.Descriptor instead. func (*ProjectMemberSearchQuery) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{95} } func (x *ProjectMemberSearchQuery) GetKey() ProjectMemberSearchKey { if x != nil { return x.Key } return ProjectMemberSearchKey_PROJECTMEMBERSEARCHKEY_UNSPECIFIED } func (x *ProjectMemberSearchQuery) GetMethod() SearchMethod { if x != nil { return x.Method } return SearchMethod_SEARCHMETHOD_EQUALS } func (x *ProjectMemberSearchQuery) GetValue() string { if x != nil { return x.Value } return "" } type Application struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` State AppState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.AppState" json:"state,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to AppConfig: // *Application_OidcConfig AppConfig isApplication_AppConfig `protobuf_oneof:"app_config"` Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` } func (x *Application) Reset() { *x = Application{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Application) String() string { return protoimpl.X.MessageStringOf(x) } func (*Application) ProtoMessage() {} func (x *Application) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[96] 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 Application.ProtoReflect.Descriptor instead. func (*Application) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{96} } func (x *Application) GetId() string { if x != nil { return x.Id } return "" } func (x *Application) GetState() AppState { if x != nil { return x.State } return AppState_APPSTATE_UNSPECIFIED } func (x *Application) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *Application) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *Application) GetName() string { if x != nil { return x.Name } return "" } func (m *Application) GetAppConfig() isApplication_AppConfig { if m != nil { return m.AppConfig } return nil } func (x *Application) GetOidcConfig() *OIDCConfig { if x, ok := x.GetAppConfig().(*Application_OidcConfig); ok { return x.OidcConfig } return nil } func (x *Application) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } type isApplication_AppConfig interface { isApplication_AppConfig() } type Application_OidcConfig struct { OidcConfig *OIDCConfig `protobuf:"bytes,8,opt,name=oidc_config,json=oidcConfig,proto3,oneof"` } func (*Application_OidcConfig) isApplication_AppConfig() {} type ApplicationUpdate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` } func (x *ApplicationUpdate) Reset() { *x = ApplicationUpdate{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ApplicationUpdate) String() string { return protoimpl.X.MessageStringOf(x) } func (*ApplicationUpdate) ProtoMessage() {} func (x *ApplicationUpdate) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[97] 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 ApplicationUpdate.ProtoReflect.Descriptor instead. func (*ApplicationUpdate) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{97} } func (x *ApplicationUpdate) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *ApplicationUpdate) GetId() string { if x != nil { return x.Id } return "" } func (x *ApplicationUpdate) GetName() string { if x != nil { return x.Name } return "" } type OIDCConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RedirectUris []string `protobuf:"bytes,1,rep,name=redirect_uris,json=redirectUris,proto3" json:"redirect_uris,omitempty"` ResponseTypes []OIDCResponseType `protobuf:"varint,2,rep,packed,name=response_types,json=responseTypes,proto3,enum=caos.zitadel.management.api.v1.OIDCResponseType" json:"response_types,omitempty"` GrantTypes []OIDCGrantType `protobuf:"varint,3,rep,packed,name=grant_types,json=grantTypes,proto3,enum=caos.zitadel.management.api.v1.OIDCGrantType" json:"grant_types,omitempty"` ApplicationType OIDCApplicationType `protobuf:"varint,4,opt,name=application_type,json=applicationType,proto3,enum=caos.zitadel.management.api.v1.OIDCApplicationType" json:"application_type,omitempty"` ClientId string `protobuf:"bytes,5,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` ClientSecret string `protobuf:"bytes,6,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` AuthMethodType OIDCAuthMethodType `protobuf:"varint,7,opt,name=auth_method_type,json=authMethodType,proto3,enum=caos.zitadel.management.api.v1.OIDCAuthMethodType" json:"auth_method_type,omitempty"` PostLogoutRedirectUris []string `protobuf:"bytes,8,rep,name=post_logout_redirect_uris,json=postLogoutRedirectUris,proto3" json:"post_logout_redirect_uris,omitempty"` } func (x *OIDCConfig) Reset() { *x = OIDCConfig{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OIDCConfig) String() string { return protoimpl.X.MessageStringOf(x) } func (*OIDCConfig) ProtoMessage() {} func (x *OIDCConfig) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[98] 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 OIDCConfig.ProtoReflect.Descriptor instead. func (*OIDCConfig) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{98} } func (x *OIDCConfig) GetRedirectUris() []string { if x != nil { return x.RedirectUris } return nil } func (x *OIDCConfig) GetResponseTypes() []OIDCResponseType { if x != nil { return x.ResponseTypes } return nil } func (x *OIDCConfig) GetGrantTypes() []OIDCGrantType { if x != nil { return x.GrantTypes } return nil } func (x *OIDCConfig) GetApplicationType() OIDCApplicationType { if x != nil { return x.ApplicationType } return OIDCApplicationType_OIDCAPPLICATIONTYPE_WEB } func (x *OIDCConfig) GetClientId() string { if x != nil { return x.ClientId } return "" } func (x *OIDCConfig) GetClientSecret() string { if x != nil { return x.ClientSecret } return "" } func (x *OIDCConfig) GetAuthMethodType() OIDCAuthMethodType { if x != nil { return x.AuthMethodType } return OIDCAuthMethodType_OIDCAUTHMETHODTYPE_BASIC } func (x *OIDCConfig) GetPostLogoutRedirectUris() []string { if x != nil { return x.PostLogoutRedirectUris } return nil } type OIDCApplicationCreate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` RedirectUris []string `protobuf:"bytes,3,rep,name=redirect_uris,json=redirectUris,proto3" json:"redirect_uris,omitempty"` ResponseTypes []OIDCResponseType `protobuf:"varint,4,rep,packed,name=response_types,json=responseTypes,proto3,enum=caos.zitadel.management.api.v1.OIDCResponseType" json:"response_types,omitempty"` GrantTypes []OIDCGrantType `protobuf:"varint,5,rep,packed,name=grant_types,json=grantTypes,proto3,enum=caos.zitadel.management.api.v1.OIDCGrantType" json:"grant_types,omitempty"` ApplicationType OIDCApplicationType `protobuf:"varint,6,opt,name=application_type,json=applicationType,proto3,enum=caos.zitadel.management.api.v1.OIDCApplicationType" json:"application_type,omitempty"` AuthMethodType OIDCAuthMethodType `protobuf:"varint,7,opt,name=auth_method_type,json=authMethodType,proto3,enum=caos.zitadel.management.api.v1.OIDCAuthMethodType" json:"auth_method_type,omitempty"` PostLogoutRedirectUris []string `protobuf:"bytes,8,rep,name=post_logout_redirect_uris,json=postLogoutRedirectUris,proto3" json:"post_logout_redirect_uris,omitempty"` } func (x *OIDCApplicationCreate) Reset() { *x = OIDCApplicationCreate{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OIDCApplicationCreate) String() string { return protoimpl.X.MessageStringOf(x) } func (*OIDCApplicationCreate) ProtoMessage() {} func (x *OIDCApplicationCreate) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[99] 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 OIDCApplicationCreate.ProtoReflect.Descriptor instead. func (*OIDCApplicationCreate) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{99} } func (x *OIDCApplicationCreate) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *OIDCApplicationCreate) GetName() string { if x != nil { return x.Name } return "" } func (x *OIDCApplicationCreate) GetRedirectUris() []string { if x != nil { return x.RedirectUris } return nil } func (x *OIDCApplicationCreate) GetResponseTypes() []OIDCResponseType { if x != nil { return x.ResponseTypes } return nil } func (x *OIDCApplicationCreate) GetGrantTypes() []OIDCGrantType { if x != nil { return x.GrantTypes } return nil } func (x *OIDCApplicationCreate) GetApplicationType() OIDCApplicationType { if x != nil { return x.ApplicationType } return OIDCApplicationType_OIDCAPPLICATIONTYPE_WEB } func (x *OIDCApplicationCreate) GetAuthMethodType() OIDCAuthMethodType { if x != nil { return x.AuthMethodType } return OIDCAuthMethodType_OIDCAUTHMETHODTYPE_BASIC } func (x *OIDCApplicationCreate) GetPostLogoutRedirectUris() []string { if x != nil { return x.PostLogoutRedirectUris } return nil } type OIDCConfigUpdate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` ApplicationId string `protobuf:"bytes,2,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"` RedirectUris []string `protobuf:"bytes,3,rep,name=redirect_uris,json=redirectUris,proto3" json:"redirect_uris,omitempty"` ResponseTypes []OIDCResponseType `protobuf:"varint,4,rep,packed,name=response_types,json=responseTypes,proto3,enum=caos.zitadel.management.api.v1.OIDCResponseType" json:"response_types,omitempty"` GrantTypes []OIDCGrantType `protobuf:"varint,5,rep,packed,name=grant_types,json=grantTypes,proto3,enum=caos.zitadel.management.api.v1.OIDCGrantType" json:"grant_types,omitempty"` ApplicationType OIDCApplicationType `protobuf:"varint,6,opt,name=application_type,json=applicationType,proto3,enum=caos.zitadel.management.api.v1.OIDCApplicationType" json:"application_type,omitempty"` AuthMethodType OIDCAuthMethodType `protobuf:"varint,7,opt,name=auth_method_type,json=authMethodType,proto3,enum=caos.zitadel.management.api.v1.OIDCAuthMethodType" json:"auth_method_type,omitempty"` PostLogoutRedirectUris []string `protobuf:"bytes,8,rep,name=post_logout_redirect_uris,json=postLogoutRedirectUris,proto3" json:"post_logout_redirect_uris,omitempty"` } func (x *OIDCConfigUpdate) Reset() { *x = OIDCConfigUpdate{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *OIDCConfigUpdate) String() string { return protoimpl.X.MessageStringOf(x) } func (*OIDCConfigUpdate) ProtoMessage() {} func (x *OIDCConfigUpdate) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[100] 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 OIDCConfigUpdate.ProtoReflect.Descriptor instead. func (*OIDCConfigUpdate) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{100} } func (x *OIDCConfigUpdate) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *OIDCConfigUpdate) GetApplicationId() string { if x != nil { return x.ApplicationId } return "" } func (x *OIDCConfigUpdate) GetRedirectUris() []string { if x != nil { return x.RedirectUris } return nil } func (x *OIDCConfigUpdate) GetResponseTypes() []OIDCResponseType { if x != nil { return x.ResponseTypes } return nil } func (x *OIDCConfigUpdate) GetGrantTypes() []OIDCGrantType { if x != nil { return x.GrantTypes } return nil } func (x *OIDCConfigUpdate) GetApplicationType() OIDCApplicationType { if x != nil { return x.ApplicationType } return OIDCApplicationType_OIDCAPPLICATIONTYPE_WEB } func (x *OIDCConfigUpdate) GetAuthMethodType() OIDCAuthMethodType { if x != nil { return x.AuthMethodType } return OIDCAuthMethodType_OIDCAUTHMETHODTYPE_BASIC } func (x *OIDCConfigUpdate) GetPostLogoutRedirectUris() []string { if x != nil { return x.PostLogoutRedirectUris } return nil } type ClientSecret struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ClientSecret string `protobuf:"bytes,1,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` } func (x *ClientSecret) Reset() { *x = ClientSecret{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ClientSecret) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClientSecret) ProtoMessage() {} func (x *ClientSecret) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[101] 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 ClientSecret.ProtoReflect.Descriptor instead. func (*ClientSecret) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{101} } func (x *ClientSecret) GetClientSecret() string { if x != nil { return x.ClientSecret } return "" } type ApplicationView struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` State AppState `protobuf:"varint,2,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.AppState" json:"state,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` // Types that are assignable to AppConfig: // *ApplicationView_OidcConfig AppConfig isApplicationView_AppConfig `protobuf_oneof:"app_config"` Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` } func (x *ApplicationView) Reset() { *x = ApplicationView{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ApplicationView) String() string { return protoimpl.X.MessageStringOf(x) } func (*ApplicationView) ProtoMessage() {} func (x *ApplicationView) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[102] 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 ApplicationView.ProtoReflect.Descriptor instead. func (*ApplicationView) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{102} } func (x *ApplicationView) GetId() string { if x != nil { return x.Id } return "" } func (x *ApplicationView) GetState() AppState { if x != nil { return x.State } return AppState_APPSTATE_UNSPECIFIED } func (x *ApplicationView) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *ApplicationView) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *ApplicationView) GetName() string { if x != nil { return x.Name } return "" } func (m *ApplicationView) GetAppConfig() isApplicationView_AppConfig { if m != nil { return m.AppConfig } return nil } func (x *ApplicationView) GetOidcConfig() *OIDCConfig { if x, ok := x.GetAppConfig().(*ApplicationView_OidcConfig); ok { return x.OidcConfig } return nil } func (x *ApplicationView) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } type isApplicationView_AppConfig interface { isApplicationView_AppConfig() } type ApplicationView_OidcConfig struct { OidcConfig *OIDCConfig `protobuf:"bytes,8,opt,name=oidc_config,json=oidcConfig,proto3,oneof"` } func (*ApplicationView_OidcConfig) isApplicationView_AppConfig() {} type ApplicationSearchResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` Result []*ApplicationView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` } func (x *ApplicationSearchResponse) Reset() { *x = ApplicationSearchResponse{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ApplicationSearchResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ApplicationSearchResponse) ProtoMessage() {} func (x *ApplicationSearchResponse) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[103] 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 ApplicationSearchResponse.ProtoReflect.Descriptor instead. func (*ApplicationSearchResponse) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{103} } func (x *ApplicationSearchResponse) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *ApplicationSearchResponse) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *ApplicationSearchResponse) GetTotalResult() uint64 { if x != nil { return x.TotalResult } return 0 } func (x *ApplicationSearchResponse) GetResult() []*ApplicationView { if x != nil { return x.Result } return nil } func (x *ApplicationSearchResponse) GetProcessedSequence() uint64 { if x != nil { return x.ProcessedSequence } return 0 } func (x *ApplicationSearchResponse) GetViewTimestamp() *timestamp.Timestamp { if x != nil { return x.ViewTimestamp } return nil } type ApplicationSearchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` Queries []*ApplicationSearchQuery `protobuf:"bytes,4,rep,name=queries,proto3" json:"queries,omitempty"` } func (x *ApplicationSearchRequest) Reset() { *x = ApplicationSearchRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ApplicationSearchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ApplicationSearchRequest) ProtoMessage() {} func (x *ApplicationSearchRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[104] 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 ApplicationSearchRequest.ProtoReflect.Descriptor instead. func (*ApplicationSearchRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{104} } func (x *ApplicationSearchRequest) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *ApplicationSearchRequest) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *ApplicationSearchRequest) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *ApplicationSearchRequest) GetQueries() []*ApplicationSearchQuery { if x != nil { return x.Queries } return nil } type ApplicationSearchQuery struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key ApplicationSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.ApplicationSearchKey" json:"key,omitempty"` Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` } func (x *ApplicationSearchQuery) Reset() { *x = ApplicationSearchQuery{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ApplicationSearchQuery) String() string { return protoimpl.X.MessageStringOf(x) } func (*ApplicationSearchQuery) ProtoMessage() {} func (x *ApplicationSearchQuery) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[105] 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 ApplicationSearchQuery.ProtoReflect.Descriptor instead. func (*ApplicationSearchQuery) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{105} } func (x *ApplicationSearchQuery) GetKey() ApplicationSearchKey { if x != nil { return x.Key } return ApplicationSearchKey_APPLICATIONSERACHKEY_UNSPECIFIED } func (x *ApplicationSearchQuery) GetMethod() SearchMethod { if x != nil { return x.Method } return SearchMethod_SEARCHMETHOD_EQUALS } func (x *ApplicationSearchQuery) GetValue() string { if x != nil { return x.Value } return "" } type ProjectGrant struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` GrantedOrgId string `protobuf:"bytes,3,opt,name=granted_org_id,json=grantedOrgId,proto3" json:"granted_org_id,omitempty"` RoleKeys []string `protobuf:"bytes,4,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` State ProjectGrantState `protobuf:"varint,5,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.ProjectGrantState" json:"state,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,6,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` } func (x *ProjectGrant) Reset() { *x = ProjectGrant{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectGrant) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectGrant) ProtoMessage() {} func (x *ProjectGrant) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[106] 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 ProjectGrant.ProtoReflect.Descriptor instead. func (*ProjectGrant) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{106} } func (x *ProjectGrant) GetId() string { if x != nil { return x.Id } return "" } func (x *ProjectGrant) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *ProjectGrant) GetGrantedOrgId() string { if x != nil { return x.GrantedOrgId } return "" } func (x *ProjectGrant) GetRoleKeys() []string { if x != nil { return x.RoleKeys } return nil } func (x *ProjectGrant) GetState() ProjectGrantState { if x != nil { return x.State } return ProjectGrantState_PROJECTGRANTSTATE_UNSPECIFIED } func (x *ProjectGrant) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *ProjectGrant) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *ProjectGrant) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } type ProjectGrantCreate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` GrantedOrgId string `protobuf:"bytes,2,opt,name=granted_org_id,json=grantedOrgId,proto3" json:"granted_org_id,omitempty"` RoleKeys []string `protobuf:"bytes,3,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` } func (x *ProjectGrantCreate) Reset() { *x = ProjectGrantCreate{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectGrantCreate) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectGrantCreate) ProtoMessage() {} func (x *ProjectGrantCreate) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[107] 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 ProjectGrantCreate.ProtoReflect.Descriptor instead. func (*ProjectGrantCreate) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{107} } func (x *ProjectGrantCreate) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *ProjectGrantCreate) GetGrantedOrgId() string { if x != nil { return x.GrantedOrgId } return "" } func (x *ProjectGrantCreate) GetRoleKeys() []string { if x != nil { return x.RoleKeys } return nil } type ProjectGrantUpdate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` RoleKeys []string `protobuf:"bytes,3,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` } func (x *ProjectGrantUpdate) Reset() { *x = ProjectGrantUpdate{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectGrantUpdate) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectGrantUpdate) ProtoMessage() {} func (x *ProjectGrantUpdate) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[108] 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 ProjectGrantUpdate.ProtoReflect.Descriptor instead. func (*ProjectGrantUpdate) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{108} } func (x *ProjectGrantUpdate) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *ProjectGrantUpdate) GetId() string { if x != nil { return x.Id } return "" } func (x *ProjectGrantUpdate) GetRoleKeys() []string { if x != nil { return x.RoleKeys } return nil } type ProjectGrantID struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` } func (x *ProjectGrantID) Reset() { *x = ProjectGrantID{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectGrantID) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectGrantID) ProtoMessage() {} func (x *ProjectGrantID) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[109] 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 ProjectGrantID.ProtoReflect.Descriptor instead. func (*ProjectGrantID) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{109} } func (x *ProjectGrantID) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *ProjectGrantID) GetId() string { if x != nil { return x.Id } return "" } type ProjectGrantView struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` GrantedOrgId string `protobuf:"bytes,3,opt,name=granted_org_id,json=grantedOrgId,proto3" json:"granted_org_id,omitempty"` GrantedOrgName string `protobuf:"bytes,4,opt,name=granted_org_name,json=grantedOrgName,proto3" json:"granted_org_name,omitempty"` RoleKeys []string `protobuf:"bytes,5,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` State ProjectGrantState `protobuf:"varint,6,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.ProjectGrantState" json:"state,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` ProjectName string `protobuf:"bytes,9,opt,name=project_name,json=projectName,proto3" json:"project_name,omitempty"` Sequence uint64 `protobuf:"varint,10,opt,name=sequence,proto3" json:"sequence,omitempty"` ResourceOwner string `protobuf:"bytes,11,opt,name=resource_owner,json=resourceOwner,proto3" json:"resource_owner,omitempty"` ResourceOwnerName string `protobuf:"bytes,12,opt,name=resource_owner_name,json=resourceOwnerName,proto3" json:"resource_owner_name,omitempty"` } func (x *ProjectGrantView) Reset() { *x = ProjectGrantView{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectGrantView) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectGrantView) ProtoMessage() {} func (x *ProjectGrantView) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[110] 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 ProjectGrantView.ProtoReflect.Descriptor instead. func (*ProjectGrantView) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{110} } func (x *ProjectGrantView) GetId() string { if x != nil { return x.Id } return "" } func (x *ProjectGrantView) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *ProjectGrantView) GetGrantedOrgId() string { if x != nil { return x.GrantedOrgId } return "" } func (x *ProjectGrantView) GetGrantedOrgName() string { if x != nil { return x.GrantedOrgName } return "" } func (x *ProjectGrantView) GetRoleKeys() []string { if x != nil { return x.RoleKeys } return nil } func (x *ProjectGrantView) GetState() ProjectGrantState { if x != nil { return x.State } return ProjectGrantState_PROJECTGRANTSTATE_UNSPECIFIED } func (x *ProjectGrantView) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *ProjectGrantView) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *ProjectGrantView) GetProjectName() string { if x != nil { return x.ProjectName } return "" } func (x *ProjectGrantView) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } func (x *ProjectGrantView) GetResourceOwner() string { if x != nil { return x.ResourceOwner } return "" } func (x *ProjectGrantView) GetResourceOwnerName() string { if x != nil { return x.ResourceOwnerName } return "" } type ProjectGrantSearchResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` Result []*ProjectGrantView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` } func (x *ProjectGrantSearchResponse) Reset() { *x = ProjectGrantSearchResponse{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectGrantSearchResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectGrantSearchResponse) ProtoMessage() {} func (x *ProjectGrantSearchResponse) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[111] 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 ProjectGrantSearchResponse.ProtoReflect.Descriptor instead. func (*ProjectGrantSearchResponse) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{111} } func (x *ProjectGrantSearchResponse) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *ProjectGrantSearchResponse) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *ProjectGrantSearchResponse) GetTotalResult() uint64 { if x != nil { return x.TotalResult } return 0 } func (x *ProjectGrantSearchResponse) GetResult() []*ProjectGrantView { if x != nil { return x.Result } return nil } func (x *ProjectGrantSearchResponse) GetProcessedSequence() uint64 { if x != nil { return x.ProcessedSequence } return 0 } func (x *ProjectGrantSearchResponse) GetViewTimestamp() *timestamp.Timestamp { if x != nil { return x.ViewTimestamp } return nil } type GrantedProjectSearchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` Queries []*ProjectSearchQuery `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` } func (x *GrantedProjectSearchRequest) Reset() { *x = GrantedProjectSearchRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GrantedProjectSearchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GrantedProjectSearchRequest) ProtoMessage() {} func (x *GrantedProjectSearchRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[112] 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 GrantedProjectSearchRequest.ProtoReflect.Descriptor instead. func (*GrantedProjectSearchRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{112} } func (x *GrantedProjectSearchRequest) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *GrantedProjectSearchRequest) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *GrantedProjectSearchRequest) GetQueries() []*ProjectSearchQuery { if x != nil { return x.Queries } return nil } type ProjectGrantSearchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` Queries []*ProjectGrantSearchQuery `protobuf:"bytes,4,rep,name=queries,proto3" json:"queries,omitempty"` } func (x *ProjectGrantSearchRequest) Reset() { *x = ProjectGrantSearchRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectGrantSearchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectGrantSearchRequest) ProtoMessage() {} func (x *ProjectGrantSearchRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[113] 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 ProjectGrantSearchRequest.ProtoReflect.Descriptor instead. func (*ProjectGrantSearchRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{113} } func (x *ProjectGrantSearchRequest) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *ProjectGrantSearchRequest) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *ProjectGrantSearchRequest) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *ProjectGrantSearchRequest) GetQueries() []*ProjectGrantSearchQuery { if x != nil { return x.Queries } return nil } type ProjectGrantSearchQuery struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key ProjectGrantSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.ProjectGrantSearchKey" json:"key,omitempty"` Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` } func (x *ProjectGrantSearchQuery) Reset() { *x = ProjectGrantSearchQuery{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectGrantSearchQuery) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectGrantSearchQuery) ProtoMessage() {} func (x *ProjectGrantSearchQuery) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[114] 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 ProjectGrantSearchQuery.ProtoReflect.Descriptor instead. func (*ProjectGrantSearchQuery) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{114} } func (x *ProjectGrantSearchQuery) GetKey() ProjectGrantSearchKey { if x != nil { return x.Key } return ProjectGrantSearchKey_PROJECTGRANTSEARCHKEY_UNSPECIFIED } func (x *ProjectGrantSearchQuery) GetMethod() SearchMethod { if x != nil { return x.Method } return SearchMethod_SEARCHMETHOD_EQUALS } func (x *ProjectGrantSearchQuery) GetValue() string { if x != nil { return x.Value } return "" } type ProjectGrantMemberRoles struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Roles []string `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` } func (x *ProjectGrantMemberRoles) Reset() { *x = ProjectGrantMemberRoles{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectGrantMemberRoles) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectGrantMemberRoles) ProtoMessage() {} func (x *ProjectGrantMemberRoles) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[115] 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 ProjectGrantMemberRoles.ProtoReflect.Descriptor instead. func (*ProjectGrantMemberRoles) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{115} } func (x *ProjectGrantMemberRoles) GetRoles() []string { if x != nil { return x.Roles } return nil } type ProjectGrantMember struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` Roles []string `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,3,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,4,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` Sequence uint64 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"` } func (x *ProjectGrantMember) Reset() { *x = ProjectGrantMember{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectGrantMember) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectGrantMember) ProtoMessage() {} func (x *ProjectGrantMember) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[116] 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 ProjectGrantMember.ProtoReflect.Descriptor instead. func (*ProjectGrantMember) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{116} } func (x *ProjectGrantMember) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *ProjectGrantMember) GetRoles() []string { if x != nil { return x.Roles } return nil } func (x *ProjectGrantMember) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *ProjectGrantMember) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *ProjectGrantMember) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } type ProjectGrantMemberAdd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` GrantId string `protobuf:"bytes,2,opt,name=grant_id,json=grantId,proto3" json:"grant_id,omitempty"` UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` Roles []string `protobuf:"bytes,4,rep,name=roles,proto3" json:"roles,omitempty"` } func (x *ProjectGrantMemberAdd) Reset() { *x = ProjectGrantMemberAdd{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectGrantMemberAdd) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectGrantMemberAdd) ProtoMessage() {} func (x *ProjectGrantMemberAdd) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[117] 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 ProjectGrantMemberAdd.ProtoReflect.Descriptor instead. func (*ProjectGrantMemberAdd) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{117} } func (x *ProjectGrantMemberAdd) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *ProjectGrantMemberAdd) GetGrantId() string { if x != nil { return x.GrantId } return "" } func (x *ProjectGrantMemberAdd) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *ProjectGrantMemberAdd) GetRoles() []string { if x != nil { return x.Roles } return nil } type ProjectGrantMemberChange struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` GrantId string `protobuf:"bytes,2,opt,name=grant_id,json=grantId,proto3" json:"grant_id,omitempty"` UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` Roles []string `protobuf:"bytes,4,rep,name=roles,proto3" json:"roles,omitempty"` } func (x *ProjectGrantMemberChange) Reset() { *x = ProjectGrantMemberChange{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectGrantMemberChange) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectGrantMemberChange) ProtoMessage() {} func (x *ProjectGrantMemberChange) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[118] 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 ProjectGrantMemberChange.ProtoReflect.Descriptor instead. func (*ProjectGrantMemberChange) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{118} } func (x *ProjectGrantMemberChange) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *ProjectGrantMemberChange) GetGrantId() string { if x != nil { return x.GrantId } return "" } func (x *ProjectGrantMemberChange) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *ProjectGrantMemberChange) GetRoles() []string { if x != nil { return x.Roles } return nil } type ProjectGrantMemberRemove struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` GrantId string `protobuf:"bytes,2,opt,name=grant_id,json=grantId,proto3" json:"grant_id,omitempty"` UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` } func (x *ProjectGrantMemberRemove) Reset() { *x = ProjectGrantMemberRemove{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectGrantMemberRemove) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectGrantMemberRemove) ProtoMessage() {} func (x *ProjectGrantMemberRemove) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[119] 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 ProjectGrantMemberRemove.ProtoReflect.Descriptor instead. func (*ProjectGrantMemberRemove) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{119} } func (x *ProjectGrantMemberRemove) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *ProjectGrantMemberRemove) GetGrantId() string { if x != nil { return x.GrantId } return "" } func (x *ProjectGrantMemberRemove) GetUserId() string { if x != nil { return x.UserId } return "" } type ProjectGrantMemberView struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` UserName string `protobuf:"bytes,2,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"` FirstName string `protobuf:"bytes,4,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` LastName string `protobuf:"bytes,5,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` Roles []string `protobuf:"bytes,6,rep,name=roles,proto3" json:"roles,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` DisplayName string `protobuf:"bytes,10,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` } func (x *ProjectGrantMemberView) Reset() { *x = ProjectGrantMemberView{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectGrantMemberView) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectGrantMemberView) ProtoMessage() {} func (x *ProjectGrantMemberView) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[120] 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 ProjectGrantMemberView.ProtoReflect.Descriptor instead. func (*ProjectGrantMemberView) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{120} } func (x *ProjectGrantMemberView) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *ProjectGrantMemberView) GetUserName() string { if x != nil { return x.UserName } return "" } func (x *ProjectGrantMemberView) GetEmail() string { if x != nil { return x.Email } return "" } func (x *ProjectGrantMemberView) GetFirstName() string { if x != nil { return x.FirstName } return "" } func (x *ProjectGrantMemberView) GetLastName() string { if x != nil { return x.LastName } return "" } func (x *ProjectGrantMemberView) GetRoles() []string { if x != nil { return x.Roles } return nil } func (x *ProjectGrantMemberView) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *ProjectGrantMemberView) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *ProjectGrantMemberView) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } func (x *ProjectGrantMemberView) GetDisplayName() string { if x != nil { return x.DisplayName } return "" } type ProjectGrantMemberSearchResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` Result []*ProjectGrantMemberView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` } func (x *ProjectGrantMemberSearchResponse) Reset() { *x = ProjectGrantMemberSearchResponse{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectGrantMemberSearchResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectGrantMemberSearchResponse) ProtoMessage() {} func (x *ProjectGrantMemberSearchResponse) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[121] 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 ProjectGrantMemberSearchResponse.ProtoReflect.Descriptor instead. func (*ProjectGrantMemberSearchResponse) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{121} } func (x *ProjectGrantMemberSearchResponse) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *ProjectGrantMemberSearchResponse) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *ProjectGrantMemberSearchResponse) GetTotalResult() uint64 { if x != nil { return x.TotalResult } return 0 } func (x *ProjectGrantMemberSearchResponse) GetResult() []*ProjectGrantMemberView { if x != nil { return x.Result } return nil } func (x *ProjectGrantMemberSearchResponse) GetProcessedSequence() uint64 { if x != nil { return x.ProcessedSequence } return 0 } func (x *ProjectGrantMemberSearchResponse) GetViewTimestamp() *timestamp.Timestamp { if x != nil { return x.ViewTimestamp } return nil } type ProjectGrantMemberSearchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` GrantId string `protobuf:"bytes,2,opt,name=grant_id,json=grantId,proto3" json:"grant_id,omitempty"` Offset uint64 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"` Queries []*ProjectGrantMemberSearchQuery `protobuf:"bytes,5,rep,name=queries,proto3" json:"queries,omitempty"` } func (x *ProjectGrantMemberSearchRequest) Reset() { *x = ProjectGrantMemberSearchRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectGrantMemberSearchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectGrantMemberSearchRequest) ProtoMessage() {} func (x *ProjectGrantMemberSearchRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[122] 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 ProjectGrantMemberSearchRequest.ProtoReflect.Descriptor instead. func (*ProjectGrantMemberSearchRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{122} } func (x *ProjectGrantMemberSearchRequest) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *ProjectGrantMemberSearchRequest) GetGrantId() string { if x != nil { return x.GrantId } return "" } func (x *ProjectGrantMemberSearchRequest) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *ProjectGrantMemberSearchRequest) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *ProjectGrantMemberSearchRequest) GetQueries() []*ProjectGrantMemberSearchQuery { if x != nil { return x.Queries } return nil } type ProjectGrantMemberSearchQuery struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key ProjectGrantMemberSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.ProjectGrantMemberSearchKey" json:"key,omitempty"` Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` } func (x *ProjectGrantMemberSearchQuery) Reset() { *x = ProjectGrantMemberSearchQuery{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectGrantMemberSearchQuery) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectGrantMemberSearchQuery) ProtoMessage() {} func (x *ProjectGrantMemberSearchQuery) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[123] 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 ProjectGrantMemberSearchQuery.ProtoReflect.Descriptor instead. func (*ProjectGrantMemberSearchQuery) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{123} } func (x *ProjectGrantMemberSearchQuery) GetKey() ProjectGrantMemberSearchKey { if x != nil { return x.Key } return ProjectGrantMemberSearchKey_PROJECTGRANTMEMBERSEARCHKEY_UNSPECIFIED } func (x *ProjectGrantMemberSearchQuery) GetMethod() SearchMethod { if x != nil { return x.Method } return SearchMethod_SEARCHMETHOD_EQUALS } func (x *ProjectGrantMemberSearchQuery) GetValue() string { if x != nil { return x.Value } return "" } type UserGrant struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` OrgId string `protobuf:"bytes,3,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` ProjectId string `protobuf:"bytes,4,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` RoleKeys []string `protobuf:"bytes,5,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` State UserGrantState `protobuf:"varint,6,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.UserGrantState" json:"state,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` GrantId string `protobuf:"bytes,10,opt,name=grant_id,json=grantId,proto3" json:"grant_id,omitempty"` } func (x *UserGrant) Reset() { *x = UserGrant{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserGrant) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserGrant) ProtoMessage() {} func (x *UserGrant) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[124] 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 UserGrant.ProtoReflect.Descriptor instead. func (*UserGrant) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{124} } func (x *UserGrant) GetId() string { if x != nil { return x.Id } return "" } func (x *UserGrant) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *UserGrant) GetOrgId() string { if x != nil { return x.OrgId } return "" } func (x *UserGrant) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *UserGrant) GetRoleKeys() []string { if x != nil { return x.RoleKeys } return nil } func (x *UserGrant) GetState() UserGrantState { if x != nil { return x.State } return UserGrantState_USERGRANTSTATE_UNSPECIFIED } func (x *UserGrant) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *UserGrant) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *UserGrant) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } func (x *UserGrant) GetGrantId() string { if x != nil { return x.GrantId } return "" } type UserGrantCreateBulk struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserGrants []*UserGrantCreate `protobuf:"bytes,1,rep,name=user_grants,json=userGrants,proto3" json:"user_grants,omitempty"` } func (x *UserGrantCreateBulk) Reset() { *x = UserGrantCreateBulk{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserGrantCreateBulk) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserGrantCreateBulk) ProtoMessage() {} func (x *UserGrantCreateBulk) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[125] 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 UserGrantCreateBulk.ProtoReflect.Descriptor instead. func (*UserGrantCreateBulk) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{125} } func (x *UserGrantCreateBulk) GetUserGrants() []*UserGrantCreate { if x != nil { return x.UserGrants } return nil } type UserGrantCreate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` RoleKeys []string `protobuf:"bytes,3,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` GrantId string `protobuf:"bytes,4,opt,name=grant_id,json=grantId,proto3" json:"grant_id,omitempty"` } func (x *UserGrantCreate) Reset() { *x = UserGrantCreate{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserGrantCreate) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserGrantCreate) ProtoMessage() {} func (x *UserGrantCreate) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[126] 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 UserGrantCreate.ProtoReflect.Descriptor instead. func (*UserGrantCreate) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{126} } func (x *UserGrantCreate) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *UserGrantCreate) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *UserGrantCreate) GetRoleKeys() []string { if x != nil { return x.RoleKeys } return nil } func (x *UserGrantCreate) GetGrantId() string { if x != nil { return x.GrantId } return "" } type UserGrantUpdateBulk struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserGrants []*UserGrantUpdate `protobuf:"bytes,1,rep,name=user_grants,json=userGrants,proto3" json:"user_grants,omitempty"` } func (x *UserGrantUpdateBulk) Reset() { *x = UserGrantUpdateBulk{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserGrantUpdateBulk) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserGrantUpdateBulk) ProtoMessage() {} func (x *UserGrantUpdateBulk) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[127] 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 UserGrantUpdateBulk.ProtoReflect.Descriptor instead. func (*UserGrantUpdateBulk) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{127} } func (x *UserGrantUpdateBulk) GetUserGrants() []*UserGrantUpdate { if x != nil { return x.UserGrants } return nil } type UserGrantUpdate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` RoleKeys []string `protobuf:"bytes,3,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` } func (x *UserGrantUpdate) Reset() { *x = UserGrantUpdate{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserGrantUpdate) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserGrantUpdate) ProtoMessage() {} func (x *UserGrantUpdate) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[128] 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 UserGrantUpdate.ProtoReflect.Descriptor instead. func (*UserGrantUpdate) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{128} } func (x *UserGrantUpdate) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *UserGrantUpdate) GetId() string { if x != nil { return x.Id } return "" } func (x *UserGrantUpdate) GetRoleKeys() []string { if x != nil { return x.RoleKeys } return nil } type UserGrantRemoveBulk struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` } func (x *UserGrantRemoveBulk) Reset() { *x = UserGrantRemoveBulk{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserGrantRemoveBulk) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserGrantRemoveBulk) ProtoMessage() {} func (x *UserGrantRemoveBulk) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[129] 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 UserGrantRemoveBulk.ProtoReflect.Descriptor instead. func (*UserGrantRemoveBulk) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{129} } func (x *UserGrantRemoveBulk) GetIds() []string { if x != nil { return x.Ids } return nil } type UserGrantID struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` } func (x *UserGrantID) Reset() { *x = UserGrantID{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserGrantID) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserGrantID) ProtoMessage() {} func (x *UserGrantID) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[130] 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 UserGrantID.ProtoReflect.Descriptor instead. func (*UserGrantID) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{130} } func (x *UserGrantID) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *UserGrantID) GetId() string { if x != nil { return x.Id } return "" } type ProjectUserGrantID struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` } func (x *ProjectUserGrantID) Reset() { *x = ProjectUserGrantID{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectUserGrantID) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectUserGrantID) ProtoMessage() {} func (x *ProjectUserGrantID) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[131] 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 ProjectUserGrantID.ProtoReflect.Descriptor instead. func (*ProjectUserGrantID) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{131} } func (x *ProjectUserGrantID) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *ProjectUserGrantID) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *ProjectUserGrantID) GetId() string { if x != nil { return x.Id } return "" } type ProjectUserGrantUpdate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` RoleKeys []string `protobuf:"bytes,4,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` } func (x *ProjectUserGrantUpdate) Reset() { *x = ProjectUserGrantUpdate{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectUserGrantUpdate) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectUserGrantUpdate) ProtoMessage() {} func (x *ProjectUserGrantUpdate) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[132] 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 ProjectUserGrantUpdate.ProtoReflect.Descriptor instead. func (*ProjectUserGrantUpdate) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{132} } func (x *ProjectUserGrantUpdate) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *ProjectUserGrantUpdate) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *ProjectUserGrantUpdate) GetId() string { if x != nil { return x.Id } return "" } func (x *ProjectUserGrantUpdate) GetRoleKeys() []string { if x != nil { return x.RoleKeys } return nil } type ProjectGrantUserGrantID struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectGrantId string `protobuf:"bytes,1,opt,name=project_grant_id,json=projectGrantId,proto3" json:"project_grant_id,omitempty"` UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` } func (x *ProjectGrantUserGrantID) Reset() { *x = ProjectGrantUserGrantID{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectGrantUserGrantID) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectGrantUserGrantID) ProtoMessage() {} func (x *ProjectGrantUserGrantID) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[133] 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 ProjectGrantUserGrantID.ProtoReflect.Descriptor instead. func (*ProjectGrantUserGrantID) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{133} } func (x *ProjectGrantUserGrantID) GetProjectGrantId() string { if x != nil { return x.ProjectGrantId } return "" } func (x *ProjectGrantUserGrantID) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *ProjectGrantUserGrantID) GetId() string { if x != nil { return x.Id } return "" } type ProjectGrantUserGrantCreate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` ProjectGrantId string `protobuf:"bytes,2,opt,name=project_grant_id,json=projectGrantId,proto3" json:"project_grant_id,omitempty"` ProjectId string `protobuf:"bytes,3,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` RoleKeys []string `protobuf:"bytes,4,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` } func (x *ProjectGrantUserGrantCreate) Reset() { *x = ProjectGrantUserGrantCreate{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectGrantUserGrantCreate) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectGrantUserGrantCreate) ProtoMessage() {} func (x *ProjectGrantUserGrantCreate) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[134] 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 ProjectGrantUserGrantCreate.ProtoReflect.Descriptor instead. func (*ProjectGrantUserGrantCreate) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{134} } func (x *ProjectGrantUserGrantCreate) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *ProjectGrantUserGrantCreate) GetProjectGrantId() string { if x != nil { return x.ProjectGrantId } return "" } func (x *ProjectGrantUserGrantCreate) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *ProjectGrantUserGrantCreate) GetRoleKeys() []string { if x != nil { return x.RoleKeys } return nil } type ProjectGrantUserGrantUpdate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectGrantId string `protobuf:"bytes,1,opt,name=project_grant_id,json=projectGrantId,proto3" json:"project_grant_id,omitempty"` UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` RoleKeys []string `protobuf:"bytes,4,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` } func (x *ProjectGrantUserGrantUpdate) Reset() { *x = ProjectGrantUserGrantUpdate{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectGrantUserGrantUpdate) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectGrantUserGrantUpdate) ProtoMessage() {} func (x *ProjectGrantUserGrantUpdate) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[135] 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 ProjectGrantUserGrantUpdate.ProtoReflect.Descriptor instead. func (*ProjectGrantUserGrantUpdate) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{135} } func (x *ProjectGrantUserGrantUpdate) GetProjectGrantId() string { if x != nil { return x.ProjectGrantId } return "" } func (x *ProjectGrantUserGrantUpdate) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *ProjectGrantUserGrantUpdate) GetId() string { if x != nil { return x.Id } return "" } func (x *ProjectGrantUserGrantUpdate) GetRoleKeys() []string { if x != nil { return x.RoleKeys } return nil } type UserGrantView struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` OrgId string `protobuf:"bytes,3,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` ProjectId string `protobuf:"bytes,4,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` RoleKeys []string `protobuf:"bytes,5,rep,name=role_keys,json=roleKeys,proto3" json:"role_keys,omitempty"` State UserGrantState `protobuf:"varint,6,opt,name=state,proto3,enum=caos.zitadel.management.api.v1.UserGrantState" json:"state,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` UserName string `protobuf:"bytes,9,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` FirstName string `protobuf:"bytes,10,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` LastName string `protobuf:"bytes,11,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` Email string `protobuf:"bytes,12,opt,name=email,proto3" json:"email,omitempty"` OrgName string `protobuf:"bytes,13,opt,name=org_name,json=orgName,proto3" json:"org_name,omitempty"` OrgDomain string `protobuf:"bytes,14,opt,name=org_domain,json=orgDomain,proto3" json:"org_domain,omitempty"` ProjectName string `protobuf:"bytes,15,opt,name=project_name,json=projectName,proto3" json:"project_name,omitempty"` Sequence uint64 `protobuf:"varint,16,opt,name=sequence,proto3" json:"sequence,omitempty"` ResourceOwner string `protobuf:"bytes,17,opt,name=resource_owner,json=resourceOwner,proto3" json:"resource_owner,omitempty"` DisplayName string `protobuf:"bytes,18,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` GrantId string `protobuf:"bytes,19,opt,name=grant_id,json=grantId,proto3" json:"grant_id,omitempty"` } func (x *UserGrantView) Reset() { *x = UserGrantView{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserGrantView) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserGrantView) ProtoMessage() {} func (x *UserGrantView) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[136] 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 UserGrantView.ProtoReflect.Descriptor instead. func (*UserGrantView) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{136} } func (x *UserGrantView) GetId() string { if x != nil { return x.Id } return "" } func (x *UserGrantView) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *UserGrantView) GetOrgId() string { if x != nil { return x.OrgId } return "" } func (x *UserGrantView) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *UserGrantView) GetRoleKeys() []string { if x != nil { return x.RoleKeys } return nil } func (x *UserGrantView) GetState() UserGrantState { if x != nil { return x.State } return UserGrantState_USERGRANTSTATE_UNSPECIFIED } func (x *UserGrantView) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *UserGrantView) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *UserGrantView) GetUserName() string { if x != nil { return x.UserName } return "" } func (x *UserGrantView) GetFirstName() string { if x != nil { return x.FirstName } return "" } func (x *UserGrantView) GetLastName() string { if x != nil { return x.LastName } return "" } func (x *UserGrantView) GetEmail() string { if x != nil { return x.Email } return "" } func (x *UserGrantView) GetOrgName() string { if x != nil { return x.OrgName } return "" } func (x *UserGrantView) GetOrgDomain() string { if x != nil { return x.OrgDomain } return "" } func (x *UserGrantView) GetProjectName() string { if x != nil { return x.ProjectName } return "" } func (x *UserGrantView) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } func (x *UserGrantView) GetResourceOwner() string { if x != nil { return x.ResourceOwner } return "" } func (x *UserGrantView) GetDisplayName() string { if x != nil { return x.DisplayName } return "" } func (x *UserGrantView) GetGrantId() string { if x != nil { return x.GrantId } return "" } type UserGrantSearchResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` Result []*UserGrantView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` } func (x *UserGrantSearchResponse) Reset() { *x = UserGrantSearchResponse{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserGrantSearchResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserGrantSearchResponse) ProtoMessage() {} func (x *UserGrantSearchResponse) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[137] 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 UserGrantSearchResponse.ProtoReflect.Descriptor instead. func (*UserGrantSearchResponse) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{137} } func (x *UserGrantSearchResponse) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *UserGrantSearchResponse) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *UserGrantSearchResponse) GetTotalResult() uint64 { if x != nil { return x.TotalResult } return 0 } func (x *UserGrantSearchResponse) GetResult() []*UserGrantView { if x != nil { return x.Result } return nil } func (x *UserGrantSearchResponse) GetProcessedSequence() uint64 { if x != nil { return x.ProcessedSequence } return 0 } func (x *UserGrantSearchResponse) GetViewTimestamp() *timestamp.Timestamp { if x != nil { return x.ViewTimestamp } return nil } type UserGrantSearchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` Queries []*UserGrantSearchQuery `protobuf:"bytes,3,rep,name=queries,proto3" json:"queries,omitempty"` } func (x *UserGrantSearchRequest) Reset() { *x = UserGrantSearchRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserGrantSearchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserGrantSearchRequest) ProtoMessage() {} func (x *UserGrantSearchRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[138] 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 UserGrantSearchRequest.ProtoReflect.Descriptor instead. func (*UserGrantSearchRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{138} } func (x *UserGrantSearchRequest) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *UserGrantSearchRequest) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *UserGrantSearchRequest) GetQueries() []*UserGrantSearchQuery { if x != nil { return x.Queries } return nil } type UserGrantSearchQuery struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key UserGrantSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.UserGrantSearchKey" json:"key,omitempty"` Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` } func (x *UserGrantSearchQuery) Reset() { *x = UserGrantSearchQuery{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserGrantSearchQuery) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserGrantSearchQuery) ProtoMessage() {} func (x *UserGrantSearchQuery) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[139] 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 UserGrantSearchQuery.ProtoReflect.Descriptor instead. func (*UserGrantSearchQuery) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{139} } func (x *UserGrantSearchQuery) GetKey() UserGrantSearchKey { if x != nil { return x.Key } return UserGrantSearchKey_USERGRANTSEARCHKEY_UNSPECIFIED } func (x *UserGrantSearchQuery) GetMethod() SearchMethod { if x != nil { return x.Method } return SearchMethod_SEARCHMETHOD_EQUALS } func (x *UserGrantSearchQuery) GetValue() string { if x != nil { return x.Value } return "" } type ProjectUserGrantSearchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` Queries []*UserGrantSearchQuery `protobuf:"bytes,4,rep,name=queries,proto3" json:"queries,omitempty"` } func (x *ProjectUserGrantSearchRequest) Reset() { *x = ProjectUserGrantSearchRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectUserGrantSearchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectUserGrantSearchRequest) ProtoMessage() {} func (x *ProjectUserGrantSearchRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[140] 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 ProjectUserGrantSearchRequest.ProtoReflect.Descriptor instead. func (*ProjectUserGrantSearchRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{140} } func (x *ProjectUserGrantSearchRequest) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *ProjectUserGrantSearchRequest) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *ProjectUserGrantSearchRequest) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *ProjectUserGrantSearchRequest) GetQueries() []*UserGrantSearchQuery { if x != nil { return x.Queries } return nil } type ProjectGrantUserGrantSearchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectGrantId string `protobuf:"bytes,1,opt,name=project_grant_id,json=projectGrantId,proto3" json:"project_grant_id,omitempty"` Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` Queries []*UserGrantSearchQuery `protobuf:"bytes,4,rep,name=queries,proto3" json:"queries,omitempty"` } func (x *ProjectGrantUserGrantSearchRequest) Reset() { *x = ProjectGrantUserGrantSearchRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProjectGrantUserGrantSearchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProjectGrantUserGrantSearchRequest) ProtoMessage() {} func (x *ProjectGrantUserGrantSearchRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[141] 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 ProjectGrantUserGrantSearchRequest.ProtoReflect.Descriptor instead. func (*ProjectGrantUserGrantSearchRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{141} } func (x *ProjectGrantUserGrantSearchRequest) GetProjectGrantId() string { if x != nil { return x.ProjectGrantId } return "" } func (x *ProjectGrantUserGrantSearchRequest) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *ProjectGrantUserGrantSearchRequest) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *ProjectGrantUserGrantSearchRequest) GetQueries() []*UserGrantSearchQuery { if x != nil { return x.Queries } return nil } type UserMembershipSearchResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` TotalResult uint64 `protobuf:"varint,3,opt,name=total_result,json=totalResult,proto3" json:"total_result,omitempty"` Result []*UserMembershipView `protobuf:"bytes,4,rep,name=result,proto3" json:"result,omitempty"` ProcessedSequence uint64 `protobuf:"varint,5,opt,name=processed_sequence,json=processedSequence,proto3" json:"processed_sequence,omitempty"` ViewTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=view_timestamp,json=viewTimestamp,proto3" json:"view_timestamp,omitempty"` } func (x *UserMembershipSearchResponse) Reset() { *x = UserMembershipSearchResponse{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserMembershipSearchResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserMembershipSearchResponse) ProtoMessage() {} func (x *UserMembershipSearchResponse) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[142] 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 UserMembershipSearchResponse.ProtoReflect.Descriptor instead. func (*UserMembershipSearchResponse) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{142} } func (x *UserMembershipSearchResponse) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *UserMembershipSearchResponse) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *UserMembershipSearchResponse) GetTotalResult() uint64 { if x != nil { return x.TotalResult } return 0 } func (x *UserMembershipSearchResponse) GetResult() []*UserMembershipView { if x != nil { return x.Result } return nil } func (x *UserMembershipSearchResponse) GetProcessedSequence() uint64 { if x != nil { return x.ProcessedSequence } return 0 } func (x *UserMembershipSearchResponse) GetViewTimestamp() *timestamp.Timestamp { if x != nil { return x.ViewTimestamp } return nil } type UserMembershipSearchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` Limit uint64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` Queries []*UserMembershipSearchQuery `protobuf:"bytes,4,rep,name=queries,proto3" json:"queries,omitempty"` } func (x *UserMembershipSearchRequest) Reset() { *x = UserMembershipSearchRequest{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserMembershipSearchRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserMembershipSearchRequest) ProtoMessage() {} func (x *UserMembershipSearchRequest) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[143] 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 UserMembershipSearchRequest.ProtoReflect.Descriptor instead. func (*UserMembershipSearchRequest) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{143} } func (x *UserMembershipSearchRequest) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *UserMembershipSearchRequest) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *UserMembershipSearchRequest) GetLimit() uint64 { if x != nil { return x.Limit } return 0 } func (x *UserMembershipSearchRequest) GetQueries() []*UserMembershipSearchQuery { if x != nil { return x.Queries } return nil } type UserMembershipSearchQuery struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key UserMembershipSearchKey `protobuf:"varint,1,opt,name=key,proto3,enum=caos.zitadel.management.api.v1.UserMembershipSearchKey" json:"key,omitempty"` Method SearchMethod `protobuf:"varint,2,opt,name=method,proto3,enum=caos.zitadel.management.api.v1.SearchMethod" json:"method,omitempty"` Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` } func (x *UserMembershipSearchQuery) Reset() { *x = UserMembershipSearchQuery{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserMembershipSearchQuery) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserMembershipSearchQuery) ProtoMessage() {} func (x *UserMembershipSearchQuery) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[144] 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 UserMembershipSearchQuery.ProtoReflect.Descriptor instead. func (*UserMembershipSearchQuery) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{144} } func (x *UserMembershipSearchQuery) GetKey() UserMembershipSearchKey { if x != nil { return x.Key } return UserMembershipSearchKey_USERMEMBERSHIPSEARCHKEY_UNSPECIFIED } func (x *UserMembershipSearchQuery) GetMethod() SearchMethod { if x != nil { return x.Method } return SearchMethod_SEARCHMETHOD_EQUALS } func (x *UserMembershipSearchQuery) GetValue() string { if x != nil { return x.Value } return "" } type UserMembershipView struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` MemberType MemberType `protobuf:"varint,2,opt,name=member_type,json=memberType,proto3,enum=caos.zitadel.management.api.v1.MemberType" json:"member_type,omitempty"` AggregateId string `protobuf:"bytes,3,opt,name=aggregate_id,json=aggregateId,proto3" json:"aggregate_id,omitempty"` ObjectId string `protobuf:"bytes,4,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"` Roles []string `protobuf:"bytes,5,rep,name=roles,proto3" json:"roles,omitempty"` DisplayName string `protobuf:"bytes,6,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` CreationDate *timestamp.Timestamp `protobuf:"bytes,7,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` ChangeDate *timestamp.Timestamp `protobuf:"bytes,8,opt,name=change_date,json=changeDate,proto3" json:"change_date,omitempty"` Sequence uint64 `protobuf:"varint,9,opt,name=sequence,proto3" json:"sequence,omitempty"` ResourceOwner string `protobuf:"bytes,10,opt,name=resource_owner,json=resourceOwner,proto3" json:"resource_owner,omitempty"` } func (x *UserMembershipView) Reset() { *x = UserMembershipView{} if protoimpl.UnsafeEnabled { mi := &file_management_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserMembershipView) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserMembershipView) ProtoMessage() {} func (x *UserMembershipView) ProtoReflect() protoreflect.Message { mi := &file_management_proto_msgTypes[145] 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 UserMembershipView.ProtoReflect.Descriptor instead. func (*UserMembershipView) Descriptor() ([]byte, []int) { return file_management_proto_rawDescGZIP(), []int{145} } func (x *UserMembershipView) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *UserMembershipView) GetMemberType() MemberType { if x != nil { return x.MemberType } return MemberType_MEMBERTYPE_UNSPECIFIED } func (x *UserMembershipView) GetAggregateId() string { if x != nil { return x.AggregateId } return "" } func (x *UserMembershipView) GetObjectId() string { if x != nil { return x.ObjectId } return "" } func (x *UserMembershipView) GetRoles() []string { if x != nil { return x.Roles } return nil } func (x *UserMembershipView) GetDisplayName() string { if x != nil { return x.DisplayName } return "" } func (x *UserMembershipView) GetCreationDate() *timestamp.Timestamp { if x != nil { return x.CreationDate } return nil } func (x *UserMembershipView) GetChangeDate() *timestamp.Timestamp { if x != nil { return x.ChangeDate } return nil } func (x *UserMembershipView) GetSequence() uint64 { if x != nil { return x.Sequence } return 0 } func (x *UserMembershipView) GetResourceOwner() string { if x != nil { return x.ResourceOwner } return "" } var File_management_proto protoreflect.FileDescriptor var file_management_proto_rawDesc = []byte{ 0x0a, 0x10, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x54, 0x0a, 0x0b, 0x5a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x44, 0x6f, 0x63, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x95, 0x01, 0x0a, 0x03, 0x49, 0x61, 0x6d, 0x12, 0x22, 0x0a, 0x0d, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x61, 0x6d, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x61, 0x6d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x5f, 0x75, 0x70, 0x5f, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x65, 0x74, 0x55, 0x70, 0x44, 0x6f, 0x6e, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x74, 0x5f, 0x75, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x65, 0x74, 0x55, 0x70, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x22, 0x87, 0x01, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x67, 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, 0x15, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x65, 0x63, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x73, 0x63, 0x22, 0x79, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x89, 0x02, 0x0a, 0x06, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x64, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 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, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3e, 0x0a, 0x0d, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0x1b, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x18, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1d, 0x0a, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x5e, 0x0a, 0x11, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x31, 0x0a, 0x12, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x22, 0xb8, 0x05, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x09, 0x6e, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x12, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x11, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x72, 0x07, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x60, 0x01, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x18, 0x14, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x18, 0x48, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x93, 0x06, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x93, 0x08, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 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, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x45, 0x0a, 0x10, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 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, 0x0f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xfe, 0x01, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x5e, 0x0a, 0x0e, 0x73, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x0d, 0x73, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x73, 0x63, 0x12, 0x49, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xb8, 0x01, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x49, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x99, 0x02, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f, 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, 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xbf, 0x03, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 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, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 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, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x22, 0x96, 0x04, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 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, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 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, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x9e, 0x02, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 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, 0x29, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x09, 0x6e, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x12, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x11, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0xf7, 0x01, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x22, 0xfb, 0x01, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x22, 0x76, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 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, 0x20, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x22, 0xf7, 0x01, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 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, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x22, 0xfb, 0x01, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 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, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x22, 0x75, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x68, 0x6f, 0x6e, 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, 0x1f, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x72, 0x04, 0x10, 0x01, 0x18, 0x14, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x22, 0xcd, 0x02, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 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, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 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, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x22, 0xd1, 0x02, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x56, 0x69, 0x65, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 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, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 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, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 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, 0x22, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x29, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x4f, 0x0a, 0x0c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x3f, 0x0a, 0x04, 0x6d, 0x66, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x04, 0x6d, 0x66, 0x61, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x0b, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x3b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x66, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x46, 0x41, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x1c, 0x0a, 0x0a, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x48, 0x0a, 0x0f, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x72, 0x04, 0x10, 0x01, 0x18, 0x48, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x26, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x76, 0x0a, 0x1e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x44, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x2c, 0x0a, 0x1a, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xef, 0x03, 0x0a, 0x18, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x5f, 0x75, 0x70, 0x70, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x55, 0x70, 0x70, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, 0x61, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, 0x61, 0x73, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22, 0xf3, 0x01, 0x0a, 0x1e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xf4, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x5f, 0x75, 0x70, 0x70, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x55, 0x70, 0x70, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, 0x61, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, 0x61, 0x73, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x22, 0x83, 0x02, 0x0a, 0x1e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xf4, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x5f, 0x75, 0x70, 0x70, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x55, 0x70, 0x70, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, 0x61, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, 0x61, 0x73, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x22, 0x25, 0x0a, 0x13, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x8d, 0x03, 0x0a, 0x11, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x44, 0x61, 0x79, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x57, 0x61, 0x72, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22, 0x91, 0x01, 0x0a, 0x17, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xf4, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x44, 0x61, 0x79, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x57, 0x61, 0x72, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x22, 0xa1, 0x01, 0x0a, 0x17, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xf4, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x44, 0x61, 0x79, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x57, 0x61, 0x72, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x22, 0x29, 0x0a, 0x17, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x9d, 0x03, 0x0a, 0x15, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, 0x68, 0x6f, 0x77, 0x4c, 0x6f, 0x63, 0x6b, 0x4f, 0x75, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22, 0xa1, 0x01, 0x0a, 0x1b, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xf4, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, 0x68, 0x6f, 0x77, 0x4c, 0x6f, 0x63, 0x6b, 0x4f, 0x75, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x22, 0xb1, 0x01, 0x0a, 0x1b, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xf4, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, 0x68, 0x6f, 0x77, 0x4c, 0x6f, 0x63, 0x6b, 0x4f, 0x75, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x22, 0x9b, 0x01, 0x0a, 0x0c, 0x4f, 0x72, 0x67, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x19, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6d, 0x75, 0x73, 0x74, 0x5f, 0x62, 0x65, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4d, 0x75, 0x73, 0x74, 0x42, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22, 0x17, 0x0a, 0x05, 0x4f, 0x72, 0x67, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x26, 0x0a, 0x10, 0x4f, 0x72, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x83, 0x02, 0x0a, 0x03, 0x4f, 0x72, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x87, 0x02, 0x0a, 0x07, 0x4f, 0x72, 0x67, 0x56, 0x69, 0x65, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x20, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x51, 0x0a, 0x0a, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x22, 0x8a, 0x02, 0x0a, 0x09, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x8e, 0x02, 0x0a, 0x0d, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x56, 0x69, 0x65, 0x77, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x39, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x3c, 0x0a, 0x16, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0xa3, 0x02, 0x0a, 0x17, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f, 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, 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x96, 0x01, 0x0a, 0x16, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x4e, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xc2, 0x01, 0x0a, 0x14, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x4e, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x26, 0x0a, 0x0e, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0xd4, 0x01, 0x0a, 0x09, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x44, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x47, 0x0a, 0x16, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x31, 0x0a, 0x16, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xa3, 0x02, 0x0a, 0x17, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f, 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, 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xea, 0x02, 0x0a, 0x0d, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x96, 0x01, 0x0a, 0x16, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x4e, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xc2, 0x01, 0x0a, 0x14, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x4e, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x36, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x46, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 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, 0x1e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9f, 0x02, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x43, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f, 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, 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc5, 0x02, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x69, 0x65, 0x77, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x92, 0x01, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x4c, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xbe, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x4c, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x4f, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x43, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0x8b, 0x02, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 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, 0x42, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x2a, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0xd8, 0x01, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x51, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x64, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x54, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x3e, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x6b, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x79, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6c, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x53, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x6e, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x91, 0x02, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xd8, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x35, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0xa7, 0x02, 0x0a, 0x19, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x47, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f, 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, 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xb9, 0x01, 0x0a, 0x18, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x50, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xc6, 0x01, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x50, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xee, 0x02, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 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, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 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, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xab, 0x02, 0x0a, 0x1b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x49, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f, 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, 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xbd, 0x01, 0x0a, 0x1a, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x52, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xca, 0x01, 0x0a, 0x18, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x52, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xe8, 0x02, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4d, 0x0a, 0x0b, 0x6f, 0x69, 0x64, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x69, 0x64, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x61, 0x70, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x62, 0x0a, 0x11, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x95, 0x04, 0x0a, 0x0a, 0x4f, 0x49, 0x44, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x72, 0x69, 0x73, 0x12, 0x57, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x5e, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x5c, 0x0a, 0x10, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x70, 0x6f, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x72, 0x69, 0x73, 0x22, 0x9d, 0x04, 0x0a, 0x15, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x72, 0x69, 0x73, 0x12, 0x57, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x5e, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5c, 0x0a, 0x10, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x70, 0x6f, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x72, 0x69, 0x73, 0x22, 0x9f, 0x04, 0x0a, 0x10, 0x4f, 0x49, 0x44, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x72, 0x69, 0x73, 0x12, 0x57, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x5e, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5c, 0x0a, 0x10, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x70, 0x6f, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x72, 0x69, 0x73, 0x22, 0x33, 0x0a, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0xec, 0x02, 0x0a, 0x0f, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x69, 0x65, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4d, 0x0a, 0x0b, 0x6f, 0x69, 0x64, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x69, 0x64, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x61, 0x70, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xa7, 0x02, 0x0a, 0x19, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x47, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f, 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, 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xb9, 0x01, 0x0a, 0x18, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x50, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xc6, 0x01, 0x0a, 0x16, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x50, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xe3, 0x02, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x4f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x47, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 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, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x76, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x4f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x60, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x3f, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x8b, 0x04, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x56, 0x69, 0x65, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x4f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x4f, 0x72, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x47, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 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, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xa9, 0x02, 0x0a, 0x1a, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f, 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, 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x99, 0x01, 0x0a, 0x1b, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x4c, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xbb, 0x01, 0x0a, 0x19, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x51, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xc8, 0x01, 0x0a, 0x17, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x51, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2f, 0x0a, 0x17, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0xdd, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x64, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x18, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x6d, 0x0a, 0x18, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xf3, 0x02, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 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, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 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, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xb5, 0x02, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x4e, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f, 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, 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xe2, 0x01, 0x0a, 0x1f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x57, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xd4, 0x01, 0x0a, 0x1d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x57, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x82, 0x03, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x44, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 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, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x67, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6c, 0x6b, 0x12, 0x50, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x67, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6c, 0x6b, 0x12, 0x50, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x22, 0x57, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x27, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x75, 0x6c, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x36, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x5c, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x7d, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x6c, 0x0a, 0x17, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xa5, 0x01, 0x0a, 0x1b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x8d, 0x01, 0x0a, 0x1b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x9c, 0x05, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x56, 0x69, 0x65, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x44, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 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, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x67, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xa3, 0x02, 0x0a, 0x17, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f, 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, 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x96, 0x01, 0x0a, 0x16, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x4e, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xcc, 0x01, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x4e, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4e, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x18, 0x00, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xbc, 0x01, 0x0a, 0x1d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x4e, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xcc, 0x01, 0x0a, 0x22, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x4e, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xad, 0x02, 0x0a, 0x1c, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x4a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f, 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, 0x0d, 0x76, 0x69, 0x65, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xb9, 0x01, 0x0a, 0x1b, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x53, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xd6, 0x01, 0x0a, 0x19, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x53, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4e, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x18, 0x00, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb4, 0x03, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x56, 0x69, 0x65, 0x77, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 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, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 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, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x2a, 0xaf, 0x01, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x53, 0x45, 0x52, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x53, 0x45, 0x52, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x53, 0x45, 0x52, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x53, 0x45, 0x52, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x53, 0x45, 0x52, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x53, 0x45, 0x52, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x53, 0x45, 0x52, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x10, 0x06, 0x2a, 0x58, 0x0a, 0x06, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x12, 0x47, 0x45, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x47, 0x45, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x46, 0x45, 0x4d, 0x41, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x47, 0x45, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x47, 0x45, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x44, 0x49, 0x56, 0x45, 0x52, 0x53, 0x45, 0x10, 0x03, 0x2a, 0xf5, 0x01, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x53, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x53, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x53, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x53, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x53, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x4e, 0x49, 0x43, 0x4b, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x04, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x53, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x44, 0x49, 0x53, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x53, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x10, 0x06, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x53, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x07, 0x2a, 0xea, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x53, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x10, 0x03, 0x12, 0x28, 0x0a, 0x24, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x53, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x10, 0x04, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x06, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x07, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x08, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x49, 0x53, 0x5f, 0x4f, 0x4e, 0x45, 0x5f, 0x4f, 0x46, 0x10, 0x09, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 0x10, 0x0a, 0x2a, 0x44, 0x0a, 0x07, 0x4d, 0x66, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x46, 0x41, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x46, 0x41, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x4d, 0x53, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x46, 0x41, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x54, 0x50, 0x10, 0x02, 0x2a, 0x66, 0x0a, 0x08, 0x4d, 0x46, 0x41, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x4d, 0x46, 0x41, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x46, 0x41, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4d, 0x46, 0x41, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x46, 0x41, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x03, 0x2a, 0x48, 0x0a, 0x10, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x4d, 0x53, 0x10, 0x01, 0x2a, 0x75, 0x0a, 0x0b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x03, 0x2a, 0x50, 0x0a, 0x08, 0x4f, 0x72, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x52, 0x47, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x52, 0x47, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x52, 0x47, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x2a, 0x57, 0x0a, 0x12, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x1e, 0x4f, 0x52, 0x47, 0x44, 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x4f, 0x52, 0x47, 0x44, 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x44, 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x10, 0x01, 0x2a, 0xbb, 0x01, 0x0a, 0x12, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x1e, 0x4f, 0x52, 0x47, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x4f, 0x52, 0x47, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x52, 0x47, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x52, 0x47, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x10, 0x03, 0x12, 0x1e, 0x0a, 0x1a, 0x4f, 0x52, 0x47, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x49, 0x44, 0x10, 0x04, 0x2a, 0x57, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x01, 0x2a, 0x60, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x2a, 0x5a, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x44, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x81, 0x01, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x44, 0x49, 0x53, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x02, 0x2a, 0xf9, 0x01, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x49, 0x44, 0x10, 0x04, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x05, 0x2a, 0x50, 0x0a, 0x08, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x50, 0x50, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x50, 0x50, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x50, 0x50, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x2a, 0x71, 0x0a, 0x10, 0x4f, 0x49, 0x44, 0x43, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x49, 0x44, 0x43, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x4f, 0x49, 0x44, 0x43, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x4f, 0x49, 0x44, 0x43, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0x02, 0x2a, 0x72, 0x0a, 0x0d, 0x4f, 0x49, 0x44, 0x43, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x4f, 0x49, 0x44, 0x43, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x49, 0x44, 0x43, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x4f, 0x49, 0x44, 0x43, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0x02, 0x2a, 0x76, 0x0a, 0x13, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x45, 0x42, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x2a, 0x6c, 0x0a, 0x12, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x55, 0x54, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x41, 0x53, 0x49, 0x43, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x55, 0x54, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4f, 0x53, 0x54, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x55, 0x54, 0x48, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x2a, 0x5f, 0x0a, 0x14, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x20, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x45, 0x52, 0x41, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x41, 0x50, 0x50, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x01, 0x2a, 0x74, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x2a, 0x8a, 0x01, 0x0a, 0x15, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x02, 0x2a, 0x9c, 0x02, 0x0a, 0x1b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x27, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x10, 0x03, 0x12, 0x27, 0x0a, 0x23, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x49, 0x44, 0x10, 0x04, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x05, 0x2a, 0x68, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x53, 0x45, 0x52, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x53, 0x45, 0x52, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x53, 0x45, 0x52, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x2a, 0xdc, 0x01, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x1e, 0x55, 0x53, 0x45, 0x52, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x55, 0x53, 0x45, 0x52, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x44, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x53, 0x45, 0x52, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x49, 0x44, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x53, 0x45, 0x52, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x4f, 0x52, 0x47, 0x5f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x53, 0x45, 0x52, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x04, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x53, 0x45, 0x52, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x5f, 0x49, 0x44, 0x10, 0x05, 0x2a, 0x8b, 0x01, 0x0a, 0x17, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x0a, 0x23, 0x55, 0x53, 0x45, 0x52, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x48, 0x49, 0x50, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x53, 0x45, 0x52, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x48, 0x49, 0x50, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x55, 0x53, 0x45, 0x52, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x48, 0x49, 0x50, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x4b, 0x45, 0x59, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x44, 0x10, 0x02, 0x2a, 0x7b, 0x0a, 0x0a, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x52, 0x47, 0x41, 0x4e, 0x49, 0x53, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x10, 0x03, 0x32, 0xdf, 0xa9, 0x01, 0x0a, 0x11, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4b, 0x0a, 0x07, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x7a, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x10, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0a, 0x12, 0x08, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x7a, 0x12, 0x47, 0x0a, 0x05, 0x52, 0x65, 0x61, 0x64, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x0e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x08, 0x12, 0x06, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x79, 0x12, 0x4e, 0x0a, 0x08, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x22, 0x11, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x12, 0x09, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x6c, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x5a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x44, 0x6f, 0x63, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x44, 0x6f, 0x63, 0x73, 0x22, 0x15, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0f, 0x12, 0x0d, 0x2f, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x12, 0x66, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x23, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x61, 0x6d, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x06, 0x12, 0x04, 0x2f, 0x69, 0x61, 0x6d, 0x82, 0xb5, 0x18, 0x0f, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x83, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x44, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0d, 0x12, 0x0b, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x96, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x1a, 0x28, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x5f, 0x62, 0x79, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x9e, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x22, 0x0e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x9e, 0x01, 0x0a, 0x0c, 0x49, 0x73, 0x55, 0x73, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x5f, 0x69, 0x73, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x88, 0x01, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0b, 0x22, 0x06, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x92, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, 0x24, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x1a, 0x17, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x64, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x92, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, 0x24, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x1a, 0x17, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x86, 0x01, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, 0x24, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x1a, 0x11, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, 0x24, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x1a, 0x13, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x72, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0d, 0x2a, 0x0b, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x0d, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x91, 0x01, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xb8, 0x01, 0x0a, 0x12, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x4a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x63, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x8e, 0x01, 0x0a, 0x0a, 0x4f, 0x72, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x82, 0xb5, 0x18, 0x0a, 0x0a, 0x08, 0x6f, 0x72, 0x67, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x9a, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x95, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x56, 0x69, 0x65, 0x77, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xaa, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x38, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x1a, 0x13, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xa2, 0x01, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x1a, 0x11, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x9f, 0x01, 0x0a, 0x1b, 0x52, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x69, 0x6c, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x25, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x2f, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x56, 0x69, 0x65, 0x77, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xa2, 0x01, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x1a, 0x11, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x7c, 0x0a, 0x0f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x2a, 0x11, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x9f, 0x01, 0x0a, 0x1b, 0x52, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x25, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x2f, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x95, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x56, 0x69, 0x65, 0x77, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xaa, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x38, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x1a, 0x13, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x66, 0x61, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x66, 0x61, 0x73, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xbb, 0x01, 0x0a, 0x1b, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x22, 0x29, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x2f, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x73, 0x65, 0x74, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x9a, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x22, 0x20, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x2f, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xdd, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x73, 0x12, 0x3b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x22, 0x24, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x16, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xa8, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x38, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x82, 0xb5, 0x18, 0x0d, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xb7, 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x38, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x12, 0x26, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x2f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x82, 0xb5, 0x18, 0x0d, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xd7, 0x01, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x38, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x22, 0x1e, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xd7, 0x01, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x38, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x1a, 0x1e, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xaf, 0x01, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3a, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x2a, 0x1e, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x82, 0xb5, 0x18, 0x0f, 0x0a, 0x0d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x93, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2f, 0x61, 0x67, 0x65, 0x82, 0xb5, 0x18, 0x0d, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xbb, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x37, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x22, 0x17, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2f, 0x61, 0x67, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xbb, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x37, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x1a, 0x17, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2f, 0x61, 0x67, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x9a, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x2a, 0x17, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2f, 0x61, 0x67, 0x65, 0x82, 0xb5, 0x18, 0x0f, 0x0a, 0x0d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x9f, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2f, 0x6c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x82, 0xb5, 0x18, 0x0d, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xcb, 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1b, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2f, 0x6c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xcb, 0x01, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x1a, 0x1b, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2f, 0x6c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xa6, 0x01, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x37, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x36, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x2a, 0x1b, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x2f, 0x6c, 0x6f, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x82, 0xb5, 0x18, 0x0f, 0x0a, 0x0d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, 0x12, 0x30, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0a, 0x22, 0x05, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0c, 0x0a, 0x0a, 0x6f, 0x72, 0x67, 0x2e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x6b, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x4f, 0x72, 0x67, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x56, 0x69, 0x65, 0x77, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0a, 0x12, 0x08, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x82, 0xb5, 0x18, 0x0a, 0x0a, 0x08, 0x6f, 0x72, 0x67, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x95, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x42, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x56, 0x69, 0x65, 0x77, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x5f, 0x62, 0x79, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x82, 0xb5, 0x18, 0x0a, 0x0a, 0x08, 0x6f, 0x72, 0x67, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x7e, 0x0a, 0x0f, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x4f, 0x72, 0x67, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x23, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x1a, 0x14, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x5f, 0x64, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x6f, 0x72, 0x67, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x7e, 0x0a, 0x0f, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x4f, 0x72, 0x67, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x23, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x1a, 0x14, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x6f, 0x72, 0x67, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xb8, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x79, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x22, 0x18, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0a, 0x0a, 0x08, 0x6f, 0x72, 0x67, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x9c, 0x01, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x4d, 0x79, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x10, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x6f, 0x72, 0x67, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x95, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x79, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x2a, 0x19, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x2f, 0x7b, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x7d, 0x82, 0xb5, 0x18, 0x0b, 0x0a, 0x09, 0x6f, 0x72, 0x67, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x88, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x4f, 0x72, 0x67, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xb5, 0x18, 0x0f, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x8d, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x82, 0xb5, 0x18, 0x11, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xa3, 0x01, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x4d, 0x79, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x10, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x10, 0x6f, 0x72, 0x67, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xb3, 0x01, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x79, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x1a, 0x1a, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x10, 0x6f, 0x72, 0x67, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x9e, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x79, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x2a, 0x1a, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x13, 0x0a, 0x11, 0x6f, 0x72, 0x67, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0xbf, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x79, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x22, 0x18, 0x2f, 0x6f, 0x72, 0x67, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x11, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xad, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x34, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x22, 0x11, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x93, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x79, 0x49, 0x44, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x69, 0x65, 0x77, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x02, 0x49, 0x64, 0x12, 0x97, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x34, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x22, 0x09, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0f, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xa0, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x34, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x1a, 0x0e, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x13, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x02, 0x49, 0x64, 0x12, 0xa5, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x1a, 0x1a, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x64, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x13, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x02, 0x49, 0x64, 0x12, 0xa5, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x1a, 0x1a, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x13, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x02, 0x49, 0x64, 0x12, 0x82, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x2a, 0x0e, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x14, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x02, 0x49, 0x64, 0x12, 0xc7, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x3b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x22, 0x18, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xbe, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x79, 0x49, 0x44, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x56, 0x69, 0x65, 0x77, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x0e, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x9d, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x82, 0xb5, 0x18, 0x15, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xe6, 0x01, 0x0a, 0x14, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x22, 0x26, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x20, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xb4, 0x01, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x30, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x64, 0x64, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x22, 0x16, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1a, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x02, 0x49, 0x64, 0x12, 0xc4, 0x01, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x49, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x1a, 0x20, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1a, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x02, 0x49, 0x64, 0x12, 0xab, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x2a, 0x20, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x1b, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x02, 0x49, 0x64, 0x12, 0xdc, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x38, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x22, 0x24, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1e, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x72, 0x6f, 0x6c, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xaa, 0x01, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x22, 0x14, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x18, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x72, 0x6f, 0x6c, 0x65, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x02, 0x49, 0x64, 0x12, 0xa3, 0x01, 0x0a, 0x12, 0x42, 0x75, 0x6c, 0x6b, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6c, 0x6b, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x41, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x22, 0x1a, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x2f, 0x5f, 0x62, 0x75, 0x6c, 0x6b, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x18, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x72, 0x6f, 0x6c, 0x65, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x02, 0x49, 0x64, 0x12, 0xb6, 0x01, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x22, 0x41, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x1a, 0x1a, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x7d, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x18, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x72, 0x6f, 0x6c, 0x65, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x02, 0x49, 0x64, 0x12, 0x9f, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x2a, 0x1a, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x7d, 0x82, 0xb5, 0x18, 0x19, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x72, 0x6f, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x02, 0x49, 0x64, 0x12, 0xe2, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x22, 0x2b, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1d, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xc4, 0x01, 0x0a, 0x0f, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x49, 0x44, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x1a, 0x2f, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x69, 0x65, 0x77, 0x22, 0x51, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x1d, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xd1, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x54, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x22, 0x27, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6f, 0x69, 0x64, 0x63, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1e, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xca, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x55, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x1a, 0x28, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1e, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xd6, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x1a, 0x34, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x64, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1e, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xd6, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x1a, 0x34, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1e, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xaf, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x53, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x2a, 0x28, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x1f, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xe9, 0x01, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x49, 0x44, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x30, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x49, 0x44, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x1a, 0x3f, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6f, 0x69, 0x64, 0x63, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1e, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xef, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4f, 0x49, 0x44, 0x43, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x1a, 0x47, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x6f, 0x69, 0x64, 0x63, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1e, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xe1, 0x01, 0x0a, 0x13, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x39, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x25, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1f, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xb8, 0x01, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x42, 0x79, 0x49, 0x44, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x56, 0x69, 0x65, 0x77, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x14, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xb9, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x41, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x22, 0x1d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x15, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xbe, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x1a, 0x22, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x15, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xca, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x52, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x1a, 0x2e, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x64, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x15, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xca, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x52, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x1a, 0x2e, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x15, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xa2, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x2e, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x2a, 0x22, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x16, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0xb4, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x82, 0xb5, 0x18, 0x1b, 0x0a, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x82, 0x02, 0x0a, 0x19, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x3f, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x22, 0x38, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1b, 0x0a, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xdf, 0x01, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x35, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x64, 0x64, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x5b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x22, 0x30, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1c, 0x0a, 0x1a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xef, 0x01, 0x0a, 0x18, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x38, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x1a, 0x3a, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x1c, 0x0a, 0x1a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xd1, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x38, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x2a, 0x3a, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x1d, 0x0a, 0x1b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0xba, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x11, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xa6, 0x01, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x42, 0x79, 0x49, 0x44, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x56, 0x69, 0x65, 0x77, 0x22, 0x39, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x11, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0xa7, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x22, 0x17, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xac, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x1a, 0x1c, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xb8, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x49, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x1a, 0x28, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x64, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xb8, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x49, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x1a, 0x28, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x12, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x93, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x2a, 0x1c, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x13, 0x0a, 0x11, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x98, 0x01, 0x0a, 0x13, 0x42, 0x75, 0x6c, 0x6b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x75, 0x6c, 0x6b, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x2a, 0x12, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x5f, 0x62, 0x75, 0x6c, 0x6b, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x13, 0x0a, 0x11, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0xf4, 0x01, 0x0a, 0x17, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x3d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x88, 0x02, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x22, 0x2b, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x24, 0x0a, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xe0, 0x01, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x42, 0x79, 0x49, 0x44, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x56, 0x69, 0x65, 0x77, 0x22, 0x65, 0x88, 0x02, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x24, 0x0a, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xda, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x64, 0x88, 0x02, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x22, 0x2d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x25, 0x0a, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xe6, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x36, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x69, 0x88, 0x02, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x1a, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x25, 0x0a, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xf2, 0x01, 0x0a, 0x1a, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x75, 0x88, 0x02, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x1a, 0x3e, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x64, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x25, 0x0a, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0xf2, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x32, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x75, 0x88, 0x02, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x1a, 0x3e, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x25, 0x0a, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x09, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x94, 0x02, 0x0a, 0x1c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x42, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x77, 0x88, 0x02, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x22, 0x36, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x2f, 0x0a, 0x1d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x0e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x80, 0x02, 0x0a, 0x19, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x42, 0x79, 0x49, 0x44, 0x12, 0x37, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x56, 0x69, 0x65, 0x77, 0x22, 0x7b, 0x88, 0x02, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x82, 0xb5, 0x18, 0x2f, 0x0a, 0x1d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x12, 0x0e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x81, 0x02, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x3b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x7a, 0x88, 0x02, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x22, 0x38, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x30, 0x0a, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x0e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x86, 0x02, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x3b, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x7f, 0x88, 0x02, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x1a, 0x3d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x30, 0x0a, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x0e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x93, 0x02, 0x0a, 0x1f, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x37, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x8b, 0x01, 0x88, 0x02, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x1a, 0x49, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x64, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x30, 0x0a, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x0e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x93, 0x02, 0x0a, 0x1f, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x37, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x44, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x6f, 0x73, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x8b, 0x01, 0x88, 0x02, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x1a, 0x49, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x82, 0xb5, 0x18, 0x30, 0x0a, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x0e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x42, 0xc5, 0x01, 0x5a, 0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x61, 0x6f, 0x73, 0x2f, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x92, 0x41, 0x94, 0x01, 0x12, 0x47, 0x0a, 0x0e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x41, 0x50, 0x49, 0x22, 0x30, 0x12, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x61, 0x6f, 0x73, 0x2f, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x32, 0x03, 0x30, 0x2e, 0x31, 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x3a, 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, 0x67, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_management_proto_rawDescOnce sync.Once file_management_proto_rawDescData = file_management_proto_rawDesc ) func file_management_proto_rawDescGZIP() []byte { file_management_proto_rawDescOnce.Do(func() { file_management_proto_rawDescData = protoimpl.X.CompressGZIP(file_management_proto_rawDescData) }) return file_management_proto_rawDescData } var file_management_proto_enumTypes = make([]protoimpl.EnumInfo, 29) var file_management_proto_msgTypes = make([]protoimpl.MessageInfo, 146) var file_management_proto_goTypes = []interface{}{ (UserState)(0), // 0: caos.zitadel.management.api.v1.UserState (Gender)(0), // 1: caos.zitadel.management.api.v1.Gender (UserSearchKey)(0), // 2: caos.zitadel.management.api.v1.UserSearchKey (SearchMethod)(0), // 3: caos.zitadel.management.api.v1.SearchMethod (MfaType)(0), // 4: caos.zitadel.management.api.v1.MfaType (MFAState)(0), // 5: caos.zitadel.management.api.v1.MFAState (NotificationType)(0), // 6: caos.zitadel.management.api.v1.NotificationType (PolicyState)(0), // 7: caos.zitadel.management.api.v1.PolicyState (OrgState)(0), // 8: caos.zitadel.management.api.v1.OrgState (OrgDomainSearchKey)(0), // 9: caos.zitadel.management.api.v1.OrgDomainSearchKey (OrgMemberSearchKey)(0), // 10: caos.zitadel.management.api.v1.OrgMemberSearchKey (ProjectSearchKey)(0), // 11: caos.zitadel.management.api.v1.ProjectSearchKey (ProjectState)(0), // 12: caos.zitadel.management.api.v1.ProjectState (ProjectType)(0), // 13: caos.zitadel.management.api.v1.ProjectType (ProjectRoleSearchKey)(0), // 14: caos.zitadel.management.api.v1.ProjectRoleSearchKey (ProjectMemberSearchKey)(0), // 15: caos.zitadel.management.api.v1.ProjectMemberSearchKey (AppState)(0), // 16: caos.zitadel.management.api.v1.AppState (OIDCResponseType)(0), // 17: caos.zitadel.management.api.v1.OIDCResponseType (OIDCGrantType)(0), // 18: caos.zitadel.management.api.v1.OIDCGrantType (OIDCApplicationType)(0), // 19: caos.zitadel.management.api.v1.OIDCApplicationType (OIDCAuthMethodType)(0), // 20: caos.zitadel.management.api.v1.OIDCAuthMethodType (ApplicationSearchKey)(0), // 21: caos.zitadel.management.api.v1.ApplicationSearchKey (ProjectGrantState)(0), // 22: caos.zitadel.management.api.v1.ProjectGrantState (ProjectGrantSearchKey)(0), // 23: caos.zitadel.management.api.v1.ProjectGrantSearchKey (ProjectGrantMemberSearchKey)(0), // 24: caos.zitadel.management.api.v1.ProjectGrantMemberSearchKey (UserGrantState)(0), // 25: caos.zitadel.management.api.v1.UserGrantState (UserGrantSearchKey)(0), // 26: caos.zitadel.management.api.v1.UserGrantSearchKey (UserMembershipSearchKey)(0), // 27: caos.zitadel.management.api.v1.UserMembershipSearchKey (MemberType)(0), // 28: caos.zitadel.management.api.v1.MemberType (*ZitadelDocs)(nil), // 29: caos.zitadel.management.api.v1.ZitadelDocs (*Iam)(nil), // 30: caos.zitadel.management.api.v1.Iam (*ChangeRequest)(nil), // 31: caos.zitadel.management.api.v1.ChangeRequest (*Changes)(nil), // 32: caos.zitadel.management.api.v1.Changes (*Change)(nil), // 33: caos.zitadel.management.api.v1.Change (*ApplicationID)(nil), // 34: caos.zitadel.management.api.v1.ApplicationID (*ProjectID)(nil), // 35: caos.zitadel.management.api.v1.ProjectID (*UserID)(nil), // 36: caos.zitadel.management.api.v1.UserID (*Email)(nil), // 37: caos.zitadel.management.api.v1.Email (*UniqueUserRequest)(nil), // 38: caos.zitadel.management.api.v1.UniqueUserRequest (*UniqueUserResponse)(nil), // 39: caos.zitadel.management.api.v1.UniqueUserResponse (*CreateUserRequest)(nil), // 40: caos.zitadel.management.api.v1.CreateUserRequest (*User)(nil), // 41: caos.zitadel.management.api.v1.User (*UserView)(nil), // 42: caos.zitadel.management.api.v1.UserView (*UserSearchRequest)(nil), // 43: caos.zitadel.management.api.v1.UserSearchRequest (*UserSearchQuery)(nil), // 44: caos.zitadel.management.api.v1.UserSearchQuery (*UserSearchResponse)(nil), // 45: caos.zitadel.management.api.v1.UserSearchResponse (*UserProfile)(nil), // 46: caos.zitadel.management.api.v1.UserProfile (*UserProfileView)(nil), // 47: caos.zitadel.management.api.v1.UserProfileView (*UpdateUserProfileRequest)(nil), // 48: caos.zitadel.management.api.v1.UpdateUserProfileRequest (*UserEmail)(nil), // 49: caos.zitadel.management.api.v1.UserEmail (*UserEmailView)(nil), // 50: caos.zitadel.management.api.v1.UserEmailView (*UpdateUserEmailRequest)(nil), // 51: caos.zitadel.management.api.v1.UpdateUserEmailRequest (*UserPhone)(nil), // 52: caos.zitadel.management.api.v1.UserPhone (*UserPhoneView)(nil), // 53: caos.zitadel.management.api.v1.UserPhoneView (*UpdateUserPhoneRequest)(nil), // 54: caos.zitadel.management.api.v1.UpdateUserPhoneRequest (*UserAddress)(nil), // 55: caos.zitadel.management.api.v1.UserAddress (*UserAddressView)(nil), // 56: caos.zitadel.management.api.v1.UserAddressView (*UpdateUserAddressRequest)(nil), // 57: caos.zitadel.management.api.v1.UpdateUserAddressRequest (*MultiFactors)(nil), // 58: caos.zitadel.management.api.v1.MultiFactors (*MultiFactor)(nil), // 59: caos.zitadel.management.api.v1.MultiFactor (*PasswordID)(nil), // 60: caos.zitadel.management.api.v1.PasswordID (*PasswordRequest)(nil), // 61: caos.zitadel.management.api.v1.PasswordRequest (*ResetPasswordRequest)(nil), // 62: caos.zitadel.management.api.v1.ResetPasswordRequest (*SetPasswordNotificationRequest)(nil), // 63: caos.zitadel.management.api.v1.SetPasswordNotificationRequest (*PasswordComplexityPolicyID)(nil), // 64: caos.zitadel.management.api.v1.PasswordComplexityPolicyID (*PasswordComplexityPolicy)(nil), // 65: caos.zitadel.management.api.v1.PasswordComplexityPolicy (*PasswordComplexityPolicyCreate)(nil), // 66: caos.zitadel.management.api.v1.PasswordComplexityPolicyCreate (*PasswordComplexityPolicyUpdate)(nil), // 67: caos.zitadel.management.api.v1.PasswordComplexityPolicyUpdate (*PasswordAgePolicyID)(nil), // 68: caos.zitadel.management.api.v1.PasswordAgePolicyID (*PasswordAgePolicy)(nil), // 69: caos.zitadel.management.api.v1.PasswordAgePolicy (*PasswordAgePolicyCreate)(nil), // 70: caos.zitadel.management.api.v1.PasswordAgePolicyCreate (*PasswordAgePolicyUpdate)(nil), // 71: caos.zitadel.management.api.v1.PasswordAgePolicyUpdate (*PasswordLockoutPolicyID)(nil), // 72: caos.zitadel.management.api.v1.PasswordLockoutPolicyID (*PasswordLockoutPolicy)(nil), // 73: caos.zitadel.management.api.v1.PasswordLockoutPolicy (*PasswordLockoutPolicyCreate)(nil), // 74: caos.zitadel.management.api.v1.PasswordLockoutPolicyCreate (*PasswordLockoutPolicyUpdate)(nil), // 75: caos.zitadel.management.api.v1.PasswordLockoutPolicyUpdate (*OrgIamPolicy)(nil), // 76: caos.zitadel.management.api.v1.OrgIamPolicy (*OrgID)(nil), // 77: caos.zitadel.management.api.v1.OrgID (*OrgCreateRequest)(nil), // 78: caos.zitadel.management.api.v1.OrgCreateRequest (*Org)(nil), // 79: caos.zitadel.management.api.v1.Org (*OrgView)(nil), // 80: caos.zitadel.management.api.v1.OrgView (*Domain)(nil), // 81: caos.zitadel.management.api.v1.Domain (*OrgDomains)(nil), // 82: caos.zitadel.management.api.v1.OrgDomains (*OrgDomain)(nil), // 83: caos.zitadel.management.api.v1.OrgDomain (*OrgDomainView)(nil), // 84: caos.zitadel.management.api.v1.OrgDomainView (*AddOrgDomainRequest)(nil), // 85: caos.zitadel.management.api.v1.AddOrgDomainRequest (*RemoveOrgDomainRequest)(nil), // 86: caos.zitadel.management.api.v1.RemoveOrgDomainRequest (*OrgDomainSearchResponse)(nil), // 87: caos.zitadel.management.api.v1.OrgDomainSearchResponse (*OrgDomainSearchRequest)(nil), // 88: caos.zitadel.management.api.v1.OrgDomainSearchRequest (*OrgDomainSearchQuery)(nil), // 89: caos.zitadel.management.api.v1.OrgDomainSearchQuery (*OrgMemberRoles)(nil), // 90: caos.zitadel.management.api.v1.OrgMemberRoles (*OrgMember)(nil), // 91: caos.zitadel.management.api.v1.OrgMember (*AddOrgMemberRequest)(nil), // 92: caos.zitadel.management.api.v1.AddOrgMemberRequest (*ChangeOrgMemberRequest)(nil), // 93: caos.zitadel.management.api.v1.ChangeOrgMemberRequest (*RemoveOrgMemberRequest)(nil), // 94: caos.zitadel.management.api.v1.RemoveOrgMemberRequest (*OrgMemberSearchResponse)(nil), // 95: caos.zitadel.management.api.v1.OrgMemberSearchResponse (*OrgMemberView)(nil), // 96: caos.zitadel.management.api.v1.OrgMemberView (*OrgMemberSearchRequest)(nil), // 97: caos.zitadel.management.api.v1.OrgMemberSearchRequest (*OrgMemberSearchQuery)(nil), // 98: caos.zitadel.management.api.v1.OrgMemberSearchQuery (*ProjectCreateRequest)(nil), // 99: caos.zitadel.management.api.v1.ProjectCreateRequest (*ProjectUpdateRequest)(nil), // 100: caos.zitadel.management.api.v1.ProjectUpdateRequest (*ProjectSearchResponse)(nil), // 101: caos.zitadel.management.api.v1.ProjectSearchResponse (*ProjectView)(nil), // 102: caos.zitadel.management.api.v1.ProjectView (*ProjectSearchRequest)(nil), // 103: caos.zitadel.management.api.v1.ProjectSearchRequest (*ProjectSearchQuery)(nil), // 104: caos.zitadel.management.api.v1.ProjectSearchQuery (*Projects)(nil), // 105: caos.zitadel.management.api.v1.Projects (*Project)(nil), // 106: caos.zitadel.management.api.v1.Project (*ProjectMemberRoles)(nil), // 107: caos.zitadel.management.api.v1.ProjectMemberRoles (*ProjectMember)(nil), // 108: caos.zitadel.management.api.v1.ProjectMember (*ProjectMemberAdd)(nil), // 109: caos.zitadel.management.api.v1.ProjectMemberAdd (*ProjectMemberChange)(nil), // 110: caos.zitadel.management.api.v1.ProjectMemberChange (*ProjectMemberRemove)(nil), // 111: caos.zitadel.management.api.v1.ProjectMemberRemove (*ProjectRoleAdd)(nil), // 112: caos.zitadel.management.api.v1.ProjectRoleAdd (*ProjectRoleAddBulk)(nil), // 113: caos.zitadel.management.api.v1.ProjectRoleAddBulk (*ProjectRoleChange)(nil), // 114: caos.zitadel.management.api.v1.ProjectRoleChange (*ProjectRole)(nil), // 115: caos.zitadel.management.api.v1.ProjectRole (*ProjectRoleView)(nil), // 116: caos.zitadel.management.api.v1.ProjectRoleView (*ProjectRoleRemove)(nil), // 117: caos.zitadel.management.api.v1.ProjectRoleRemove (*ProjectRoleSearchResponse)(nil), // 118: caos.zitadel.management.api.v1.ProjectRoleSearchResponse (*ProjectRoleSearchRequest)(nil), // 119: caos.zitadel.management.api.v1.ProjectRoleSearchRequest (*ProjectRoleSearchQuery)(nil), // 120: caos.zitadel.management.api.v1.ProjectRoleSearchQuery (*ProjectMemberView)(nil), // 121: caos.zitadel.management.api.v1.ProjectMemberView (*ProjectMemberSearchResponse)(nil), // 122: caos.zitadel.management.api.v1.ProjectMemberSearchResponse (*ProjectMemberSearchRequest)(nil), // 123: caos.zitadel.management.api.v1.ProjectMemberSearchRequest (*ProjectMemberSearchQuery)(nil), // 124: caos.zitadel.management.api.v1.ProjectMemberSearchQuery (*Application)(nil), // 125: caos.zitadel.management.api.v1.Application (*ApplicationUpdate)(nil), // 126: caos.zitadel.management.api.v1.ApplicationUpdate (*OIDCConfig)(nil), // 127: caos.zitadel.management.api.v1.OIDCConfig (*OIDCApplicationCreate)(nil), // 128: caos.zitadel.management.api.v1.OIDCApplicationCreate (*OIDCConfigUpdate)(nil), // 129: caos.zitadel.management.api.v1.OIDCConfigUpdate (*ClientSecret)(nil), // 130: caos.zitadel.management.api.v1.ClientSecret (*ApplicationView)(nil), // 131: caos.zitadel.management.api.v1.ApplicationView (*ApplicationSearchResponse)(nil), // 132: caos.zitadel.management.api.v1.ApplicationSearchResponse (*ApplicationSearchRequest)(nil), // 133: caos.zitadel.management.api.v1.ApplicationSearchRequest (*ApplicationSearchQuery)(nil), // 134: caos.zitadel.management.api.v1.ApplicationSearchQuery (*ProjectGrant)(nil), // 135: caos.zitadel.management.api.v1.ProjectGrant (*ProjectGrantCreate)(nil), // 136: caos.zitadel.management.api.v1.ProjectGrantCreate (*ProjectGrantUpdate)(nil), // 137: caos.zitadel.management.api.v1.ProjectGrantUpdate (*ProjectGrantID)(nil), // 138: caos.zitadel.management.api.v1.ProjectGrantID (*ProjectGrantView)(nil), // 139: caos.zitadel.management.api.v1.ProjectGrantView (*ProjectGrantSearchResponse)(nil), // 140: caos.zitadel.management.api.v1.ProjectGrantSearchResponse (*GrantedProjectSearchRequest)(nil), // 141: caos.zitadel.management.api.v1.GrantedProjectSearchRequest (*ProjectGrantSearchRequest)(nil), // 142: caos.zitadel.management.api.v1.ProjectGrantSearchRequest (*ProjectGrantSearchQuery)(nil), // 143: caos.zitadel.management.api.v1.ProjectGrantSearchQuery (*ProjectGrantMemberRoles)(nil), // 144: caos.zitadel.management.api.v1.ProjectGrantMemberRoles (*ProjectGrantMember)(nil), // 145: caos.zitadel.management.api.v1.ProjectGrantMember (*ProjectGrantMemberAdd)(nil), // 146: caos.zitadel.management.api.v1.ProjectGrantMemberAdd (*ProjectGrantMemberChange)(nil), // 147: caos.zitadel.management.api.v1.ProjectGrantMemberChange (*ProjectGrantMemberRemove)(nil), // 148: caos.zitadel.management.api.v1.ProjectGrantMemberRemove (*ProjectGrantMemberView)(nil), // 149: caos.zitadel.management.api.v1.ProjectGrantMemberView (*ProjectGrantMemberSearchResponse)(nil), // 150: caos.zitadel.management.api.v1.ProjectGrantMemberSearchResponse (*ProjectGrantMemberSearchRequest)(nil), // 151: caos.zitadel.management.api.v1.ProjectGrantMemberSearchRequest (*ProjectGrantMemberSearchQuery)(nil), // 152: caos.zitadel.management.api.v1.ProjectGrantMemberSearchQuery (*UserGrant)(nil), // 153: caos.zitadel.management.api.v1.UserGrant (*UserGrantCreateBulk)(nil), // 154: caos.zitadel.management.api.v1.UserGrantCreateBulk (*UserGrantCreate)(nil), // 155: caos.zitadel.management.api.v1.UserGrantCreate (*UserGrantUpdateBulk)(nil), // 156: caos.zitadel.management.api.v1.UserGrantUpdateBulk (*UserGrantUpdate)(nil), // 157: caos.zitadel.management.api.v1.UserGrantUpdate (*UserGrantRemoveBulk)(nil), // 158: caos.zitadel.management.api.v1.UserGrantRemoveBulk (*UserGrantID)(nil), // 159: caos.zitadel.management.api.v1.UserGrantID (*ProjectUserGrantID)(nil), // 160: caos.zitadel.management.api.v1.ProjectUserGrantID (*ProjectUserGrantUpdate)(nil), // 161: caos.zitadel.management.api.v1.ProjectUserGrantUpdate (*ProjectGrantUserGrantID)(nil), // 162: caos.zitadel.management.api.v1.ProjectGrantUserGrantID (*ProjectGrantUserGrantCreate)(nil), // 163: caos.zitadel.management.api.v1.ProjectGrantUserGrantCreate (*ProjectGrantUserGrantUpdate)(nil), // 164: caos.zitadel.management.api.v1.ProjectGrantUserGrantUpdate (*UserGrantView)(nil), // 165: caos.zitadel.management.api.v1.UserGrantView (*UserGrantSearchResponse)(nil), // 166: caos.zitadel.management.api.v1.UserGrantSearchResponse (*UserGrantSearchRequest)(nil), // 167: caos.zitadel.management.api.v1.UserGrantSearchRequest (*UserGrantSearchQuery)(nil), // 168: caos.zitadel.management.api.v1.UserGrantSearchQuery (*ProjectUserGrantSearchRequest)(nil), // 169: caos.zitadel.management.api.v1.ProjectUserGrantSearchRequest (*ProjectGrantUserGrantSearchRequest)(nil), // 170: caos.zitadel.management.api.v1.ProjectGrantUserGrantSearchRequest (*UserMembershipSearchResponse)(nil), // 171: caos.zitadel.management.api.v1.UserMembershipSearchResponse (*UserMembershipSearchRequest)(nil), // 172: caos.zitadel.management.api.v1.UserMembershipSearchRequest (*UserMembershipSearchQuery)(nil), // 173: caos.zitadel.management.api.v1.UserMembershipSearchQuery (*UserMembershipView)(nil), // 174: caos.zitadel.management.api.v1.UserMembershipView (*timestamp.Timestamp)(nil), // 175: google.protobuf.Timestamp (*message.LocalizedMessage)(nil), // 176: caos.zitadel.api.v1.LocalizedMessage (*_struct.Struct)(nil), // 177: google.protobuf.Struct (*empty.Empty)(nil), // 178: google.protobuf.Empty } var file_management_proto_depIdxs = []int32{ 33, // 0: caos.zitadel.management.api.v1.Changes.changes:type_name -> caos.zitadel.management.api.v1.Change 175, // 1: caos.zitadel.management.api.v1.Change.change_date:type_name -> google.protobuf.Timestamp 176, // 2: caos.zitadel.management.api.v1.Change.event_type:type_name -> caos.zitadel.api.v1.LocalizedMessage 177, // 3: caos.zitadel.management.api.v1.Change.data:type_name -> google.protobuf.Struct 1, // 4: caos.zitadel.management.api.v1.CreateUserRequest.gender:type_name -> caos.zitadel.management.api.v1.Gender 0, // 5: caos.zitadel.management.api.v1.User.state:type_name -> caos.zitadel.management.api.v1.UserState 175, // 6: caos.zitadel.management.api.v1.User.creation_date:type_name -> google.protobuf.Timestamp 175, // 7: caos.zitadel.management.api.v1.User.change_date:type_name -> google.protobuf.Timestamp 1, // 8: caos.zitadel.management.api.v1.User.gender:type_name -> caos.zitadel.management.api.v1.Gender 0, // 9: caos.zitadel.management.api.v1.UserView.state:type_name -> caos.zitadel.management.api.v1.UserState 175, // 10: caos.zitadel.management.api.v1.UserView.creation_date:type_name -> google.protobuf.Timestamp 175, // 11: caos.zitadel.management.api.v1.UserView.change_date:type_name -> google.protobuf.Timestamp 175, // 12: caos.zitadel.management.api.v1.UserView.last_login:type_name -> google.protobuf.Timestamp 175, // 13: caos.zitadel.management.api.v1.UserView.password_changed:type_name -> google.protobuf.Timestamp 1, // 14: caos.zitadel.management.api.v1.UserView.gender:type_name -> caos.zitadel.management.api.v1.Gender 2, // 15: caos.zitadel.management.api.v1.UserSearchRequest.sorting_column:type_name -> caos.zitadel.management.api.v1.UserSearchKey 44, // 16: caos.zitadel.management.api.v1.UserSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.UserSearchQuery 2, // 17: caos.zitadel.management.api.v1.UserSearchQuery.key:type_name -> caos.zitadel.management.api.v1.UserSearchKey 3, // 18: caos.zitadel.management.api.v1.UserSearchQuery.method:type_name -> caos.zitadel.management.api.v1.SearchMethod 42, // 19: caos.zitadel.management.api.v1.UserSearchResponse.result:type_name -> caos.zitadel.management.api.v1.UserView 175, // 20: caos.zitadel.management.api.v1.UserSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp 1, // 21: caos.zitadel.management.api.v1.UserProfile.gender:type_name -> caos.zitadel.management.api.v1.Gender 175, // 22: caos.zitadel.management.api.v1.UserProfile.creation_date:type_name -> google.protobuf.Timestamp 175, // 23: caos.zitadel.management.api.v1.UserProfile.change_date:type_name -> google.protobuf.Timestamp 1, // 24: caos.zitadel.management.api.v1.UserProfileView.gender:type_name -> caos.zitadel.management.api.v1.Gender 175, // 25: caos.zitadel.management.api.v1.UserProfileView.creation_date:type_name -> google.protobuf.Timestamp 175, // 26: caos.zitadel.management.api.v1.UserProfileView.change_date:type_name -> google.protobuf.Timestamp 1, // 27: caos.zitadel.management.api.v1.UpdateUserProfileRequest.gender:type_name -> caos.zitadel.management.api.v1.Gender 175, // 28: caos.zitadel.management.api.v1.UserEmail.creation_date:type_name -> google.protobuf.Timestamp 175, // 29: caos.zitadel.management.api.v1.UserEmail.change_date:type_name -> google.protobuf.Timestamp 175, // 30: caos.zitadel.management.api.v1.UserEmailView.creation_date:type_name -> google.protobuf.Timestamp 175, // 31: caos.zitadel.management.api.v1.UserEmailView.change_date:type_name -> google.protobuf.Timestamp 175, // 32: caos.zitadel.management.api.v1.UserPhone.creation_date:type_name -> google.protobuf.Timestamp 175, // 33: caos.zitadel.management.api.v1.UserPhone.change_date:type_name -> google.protobuf.Timestamp 175, // 34: caos.zitadel.management.api.v1.UserPhoneView.creation_date:type_name -> google.protobuf.Timestamp 175, // 35: caos.zitadel.management.api.v1.UserPhoneView.change_date:type_name -> google.protobuf.Timestamp 175, // 36: caos.zitadel.management.api.v1.UserAddress.creation_date:type_name -> google.protobuf.Timestamp 175, // 37: caos.zitadel.management.api.v1.UserAddress.change_date:type_name -> google.protobuf.Timestamp 175, // 38: caos.zitadel.management.api.v1.UserAddressView.creation_date:type_name -> google.protobuf.Timestamp 175, // 39: caos.zitadel.management.api.v1.UserAddressView.change_date:type_name -> google.protobuf.Timestamp 59, // 40: caos.zitadel.management.api.v1.MultiFactors.mfas:type_name -> caos.zitadel.management.api.v1.MultiFactor 4, // 41: caos.zitadel.management.api.v1.MultiFactor.type:type_name -> caos.zitadel.management.api.v1.MfaType 5, // 42: caos.zitadel.management.api.v1.MultiFactor.state:type_name -> caos.zitadel.management.api.v1.MFAState 6, // 43: caos.zitadel.management.api.v1.SetPasswordNotificationRequest.type:type_name -> caos.zitadel.management.api.v1.NotificationType 7, // 44: caos.zitadel.management.api.v1.PasswordComplexityPolicy.state:type_name -> caos.zitadel.management.api.v1.PolicyState 175, // 45: caos.zitadel.management.api.v1.PasswordComplexityPolicy.creation_date:type_name -> google.protobuf.Timestamp 175, // 46: caos.zitadel.management.api.v1.PasswordComplexityPolicy.change_date:type_name -> google.protobuf.Timestamp 7, // 47: caos.zitadel.management.api.v1.PasswordAgePolicy.state:type_name -> caos.zitadel.management.api.v1.PolicyState 175, // 48: caos.zitadel.management.api.v1.PasswordAgePolicy.creation_date:type_name -> google.protobuf.Timestamp 175, // 49: caos.zitadel.management.api.v1.PasswordAgePolicy.change_date:type_name -> google.protobuf.Timestamp 7, // 50: caos.zitadel.management.api.v1.PasswordLockoutPolicy.state:type_name -> caos.zitadel.management.api.v1.PolicyState 175, // 51: caos.zitadel.management.api.v1.PasswordLockoutPolicy.creation_date:type_name -> google.protobuf.Timestamp 175, // 52: caos.zitadel.management.api.v1.PasswordLockoutPolicy.change_date:type_name -> google.protobuf.Timestamp 8, // 53: caos.zitadel.management.api.v1.Org.state:type_name -> caos.zitadel.management.api.v1.OrgState 175, // 54: caos.zitadel.management.api.v1.Org.creation_date:type_name -> google.protobuf.Timestamp 175, // 55: caos.zitadel.management.api.v1.Org.change_date:type_name -> google.protobuf.Timestamp 8, // 56: caos.zitadel.management.api.v1.OrgView.state:type_name -> caos.zitadel.management.api.v1.OrgState 175, // 57: caos.zitadel.management.api.v1.OrgView.creation_date:type_name -> google.protobuf.Timestamp 175, // 58: caos.zitadel.management.api.v1.OrgView.change_date:type_name -> google.protobuf.Timestamp 83, // 59: caos.zitadel.management.api.v1.OrgDomains.domains:type_name -> caos.zitadel.management.api.v1.OrgDomain 175, // 60: caos.zitadel.management.api.v1.OrgDomain.creation_date:type_name -> google.protobuf.Timestamp 175, // 61: caos.zitadel.management.api.v1.OrgDomain.change_date:type_name -> google.protobuf.Timestamp 175, // 62: caos.zitadel.management.api.v1.OrgDomainView.creation_date:type_name -> google.protobuf.Timestamp 175, // 63: caos.zitadel.management.api.v1.OrgDomainView.change_date:type_name -> google.protobuf.Timestamp 84, // 64: caos.zitadel.management.api.v1.OrgDomainSearchResponse.result:type_name -> caos.zitadel.management.api.v1.OrgDomainView 175, // 65: caos.zitadel.management.api.v1.OrgDomainSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp 89, // 66: caos.zitadel.management.api.v1.OrgDomainSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.OrgDomainSearchQuery 9, // 67: caos.zitadel.management.api.v1.OrgDomainSearchQuery.key:type_name -> caos.zitadel.management.api.v1.OrgDomainSearchKey 3, // 68: caos.zitadel.management.api.v1.OrgDomainSearchQuery.method:type_name -> caos.zitadel.management.api.v1.SearchMethod 175, // 69: caos.zitadel.management.api.v1.OrgMember.change_date:type_name -> google.protobuf.Timestamp 175, // 70: caos.zitadel.management.api.v1.OrgMember.creation_date:type_name -> google.protobuf.Timestamp 96, // 71: caos.zitadel.management.api.v1.OrgMemberSearchResponse.result:type_name -> caos.zitadel.management.api.v1.OrgMemberView 175, // 72: caos.zitadel.management.api.v1.OrgMemberSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp 175, // 73: caos.zitadel.management.api.v1.OrgMemberView.change_date:type_name -> google.protobuf.Timestamp 175, // 74: caos.zitadel.management.api.v1.OrgMemberView.creation_date:type_name -> google.protobuf.Timestamp 98, // 75: caos.zitadel.management.api.v1.OrgMemberSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.OrgMemberSearchQuery 10, // 76: caos.zitadel.management.api.v1.OrgMemberSearchQuery.key:type_name -> caos.zitadel.management.api.v1.OrgMemberSearchKey 3, // 77: caos.zitadel.management.api.v1.OrgMemberSearchQuery.method:type_name -> caos.zitadel.management.api.v1.SearchMethod 102, // 78: caos.zitadel.management.api.v1.ProjectSearchResponse.result:type_name -> caos.zitadel.management.api.v1.ProjectView 175, // 79: caos.zitadel.management.api.v1.ProjectSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp 12, // 80: caos.zitadel.management.api.v1.ProjectView.state:type_name -> caos.zitadel.management.api.v1.ProjectState 175, // 81: caos.zitadel.management.api.v1.ProjectView.change_date:type_name -> google.protobuf.Timestamp 175, // 82: caos.zitadel.management.api.v1.ProjectView.creation_date:type_name -> google.protobuf.Timestamp 104, // 83: caos.zitadel.management.api.v1.ProjectSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.ProjectSearchQuery 11, // 84: caos.zitadel.management.api.v1.ProjectSearchQuery.key:type_name -> caos.zitadel.management.api.v1.ProjectSearchKey 3, // 85: caos.zitadel.management.api.v1.ProjectSearchQuery.method:type_name -> caos.zitadel.management.api.v1.SearchMethod 106, // 86: caos.zitadel.management.api.v1.Projects.projects:type_name -> caos.zitadel.management.api.v1.Project 12, // 87: caos.zitadel.management.api.v1.Project.state:type_name -> caos.zitadel.management.api.v1.ProjectState 175, // 88: caos.zitadel.management.api.v1.Project.change_date:type_name -> google.protobuf.Timestamp 175, // 89: caos.zitadel.management.api.v1.Project.creation_date:type_name -> google.protobuf.Timestamp 175, // 90: caos.zitadel.management.api.v1.ProjectMember.change_date:type_name -> google.protobuf.Timestamp 175, // 91: caos.zitadel.management.api.v1.ProjectMember.creation_date:type_name -> google.protobuf.Timestamp 112, // 92: caos.zitadel.management.api.v1.ProjectRoleAddBulk.project_roles:type_name -> caos.zitadel.management.api.v1.ProjectRoleAdd 175, // 93: caos.zitadel.management.api.v1.ProjectRole.creation_date:type_name -> google.protobuf.Timestamp 175, // 94: caos.zitadel.management.api.v1.ProjectRole.change_date:type_name -> google.protobuf.Timestamp 175, // 95: caos.zitadel.management.api.v1.ProjectRoleView.creation_date:type_name -> google.protobuf.Timestamp 116, // 96: caos.zitadel.management.api.v1.ProjectRoleSearchResponse.result:type_name -> caos.zitadel.management.api.v1.ProjectRoleView 175, // 97: caos.zitadel.management.api.v1.ProjectRoleSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp 120, // 98: caos.zitadel.management.api.v1.ProjectRoleSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.ProjectRoleSearchQuery 14, // 99: caos.zitadel.management.api.v1.ProjectRoleSearchQuery.key:type_name -> caos.zitadel.management.api.v1.ProjectRoleSearchKey 3, // 100: caos.zitadel.management.api.v1.ProjectRoleSearchQuery.method:type_name -> caos.zitadel.management.api.v1.SearchMethod 175, // 101: caos.zitadel.management.api.v1.ProjectMemberView.change_date:type_name -> google.protobuf.Timestamp 175, // 102: caos.zitadel.management.api.v1.ProjectMemberView.creation_date:type_name -> google.protobuf.Timestamp 121, // 103: caos.zitadel.management.api.v1.ProjectMemberSearchResponse.result:type_name -> caos.zitadel.management.api.v1.ProjectMemberView 175, // 104: caos.zitadel.management.api.v1.ProjectMemberSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp 124, // 105: caos.zitadel.management.api.v1.ProjectMemberSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.ProjectMemberSearchQuery 15, // 106: caos.zitadel.management.api.v1.ProjectMemberSearchQuery.key:type_name -> caos.zitadel.management.api.v1.ProjectMemberSearchKey 3, // 107: caos.zitadel.management.api.v1.ProjectMemberSearchQuery.method:type_name -> caos.zitadel.management.api.v1.SearchMethod 16, // 108: caos.zitadel.management.api.v1.Application.state:type_name -> caos.zitadel.management.api.v1.AppState 175, // 109: caos.zitadel.management.api.v1.Application.creation_date:type_name -> google.protobuf.Timestamp 175, // 110: caos.zitadel.management.api.v1.Application.change_date:type_name -> google.protobuf.Timestamp 127, // 111: caos.zitadel.management.api.v1.Application.oidc_config:type_name -> caos.zitadel.management.api.v1.OIDCConfig 17, // 112: caos.zitadel.management.api.v1.OIDCConfig.response_types:type_name -> caos.zitadel.management.api.v1.OIDCResponseType 18, // 113: caos.zitadel.management.api.v1.OIDCConfig.grant_types:type_name -> caos.zitadel.management.api.v1.OIDCGrantType 19, // 114: caos.zitadel.management.api.v1.OIDCConfig.application_type:type_name -> caos.zitadel.management.api.v1.OIDCApplicationType 20, // 115: caos.zitadel.management.api.v1.OIDCConfig.auth_method_type:type_name -> caos.zitadel.management.api.v1.OIDCAuthMethodType 17, // 116: caos.zitadel.management.api.v1.OIDCApplicationCreate.response_types:type_name -> caos.zitadel.management.api.v1.OIDCResponseType 18, // 117: caos.zitadel.management.api.v1.OIDCApplicationCreate.grant_types:type_name -> caos.zitadel.management.api.v1.OIDCGrantType 19, // 118: caos.zitadel.management.api.v1.OIDCApplicationCreate.application_type:type_name -> caos.zitadel.management.api.v1.OIDCApplicationType 20, // 119: caos.zitadel.management.api.v1.OIDCApplicationCreate.auth_method_type:type_name -> caos.zitadel.management.api.v1.OIDCAuthMethodType 17, // 120: caos.zitadel.management.api.v1.OIDCConfigUpdate.response_types:type_name -> caos.zitadel.management.api.v1.OIDCResponseType 18, // 121: caos.zitadel.management.api.v1.OIDCConfigUpdate.grant_types:type_name -> caos.zitadel.management.api.v1.OIDCGrantType 19, // 122: caos.zitadel.management.api.v1.OIDCConfigUpdate.application_type:type_name -> caos.zitadel.management.api.v1.OIDCApplicationType 20, // 123: caos.zitadel.management.api.v1.OIDCConfigUpdate.auth_method_type:type_name -> caos.zitadel.management.api.v1.OIDCAuthMethodType 16, // 124: caos.zitadel.management.api.v1.ApplicationView.state:type_name -> caos.zitadel.management.api.v1.AppState 175, // 125: caos.zitadel.management.api.v1.ApplicationView.creation_date:type_name -> google.protobuf.Timestamp 175, // 126: caos.zitadel.management.api.v1.ApplicationView.change_date:type_name -> google.protobuf.Timestamp 127, // 127: caos.zitadel.management.api.v1.ApplicationView.oidc_config:type_name -> caos.zitadel.management.api.v1.OIDCConfig 131, // 128: caos.zitadel.management.api.v1.ApplicationSearchResponse.result:type_name -> caos.zitadel.management.api.v1.ApplicationView 175, // 129: caos.zitadel.management.api.v1.ApplicationSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp 134, // 130: caos.zitadel.management.api.v1.ApplicationSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.ApplicationSearchQuery 21, // 131: caos.zitadel.management.api.v1.ApplicationSearchQuery.key:type_name -> caos.zitadel.management.api.v1.ApplicationSearchKey 3, // 132: caos.zitadel.management.api.v1.ApplicationSearchQuery.method:type_name -> caos.zitadel.management.api.v1.SearchMethod 22, // 133: caos.zitadel.management.api.v1.ProjectGrant.state:type_name -> caos.zitadel.management.api.v1.ProjectGrantState 175, // 134: caos.zitadel.management.api.v1.ProjectGrant.creation_date:type_name -> google.protobuf.Timestamp 175, // 135: caos.zitadel.management.api.v1.ProjectGrant.change_date:type_name -> google.protobuf.Timestamp 22, // 136: caos.zitadel.management.api.v1.ProjectGrantView.state:type_name -> caos.zitadel.management.api.v1.ProjectGrantState 175, // 137: caos.zitadel.management.api.v1.ProjectGrantView.creation_date:type_name -> google.protobuf.Timestamp 175, // 138: caos.zitadel.management.api.v1.ProjectGrantView.change_date:type_name -> google.protobuf.Timestamp 139, // 139: caos.zitadel.management.api.v1.ProjectGrantSearchResponse.result:type_name -> caos.zitadel.management.api.v1.ProjectGrantView 175, // 140: caos.zitadel.management.api.v1.ProjectGrantSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp 104, // 141: caos.zitadel.management.api.v1.GrantedProjectSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.ProjectSearchQuery 143, // 142: caos.zitadel.management.api.v1.ProjectGrantSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.ProjectGrantSearchQuery 23, // 143: caos.zitadel.management.api.v1.ProjectGrantSearchQuery.key:type_name -> caos.zitadel.management.api.v1.ProjectGrantSearchKey 3, // 144: caos.zitadel.management.api.v1.ProjectGrantSearchQuery.method:type_name -> caos.zitadel.management.api.v1.SearchMethod 175, // 145: caos.zitadel.management.api.v1.ProjectGrantMember.change_date:type_name -> google.protobuf.Timestamp 175, // 146: caos.zitadel.management.api.v1.ProjectGrantMember.creation_date:type_name -> google.protobuf.Timestamp 175, // 147: caos.zitadel.management.api.v1.ProjectGrantMemberView.change_date:type_name -> google.protobuf.Timestamp 175, // 148: caos.zitadel.management.api.v1.ProjectGrantMemberView.creation_date:type_name -> google.protobuf.Timestamp 149, // 149: caos.zitadel.management.api.v1.ProjectGrantMemberSearchResponse.result:type_name -> caos.zitadel.management.api.v1.ProjectGrantMemberView 175, // 150: caos.zitadel.management.api.v1.ProjectGrantMemberSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp 152, // 151: caos.zitadel.management.api.v1.ProjectGrantMemberSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.ProjectGrantMemberSearchQuery 24, // 152: caos.zitadel.management.api.v1.ProjectGrantMemberSearchQuery.key:type_name -> caos.zitadel.management.api.v1.ProjectGrantMemberSearchKey 3, // 153: caos.zitadel.management.api.v1.ProjectGrantMemberSearchQuery.method:type_name -> caos.zitadel.management.api.v1.SearchMethod 25, // 154: caos.zitadel.management.api.v1.UserGrant.state:type_name -> caos.zitadel.management.api.v1.UserGrantState 175, // 155: caos.zitadel.management.api.v1.UserGrant.creation_date:type_name -> google.protobuf.Timestamp 175, // 156: caos.zitadel.management.api.v1.UserGrant.change_date:type_name -> google.protobuf.Timestamp 155, // 157: caos.zitadel.management.api.v1.UserGrantCreateBulk.user_grants:type_name -> caos.zitadel.management.api.v1.UserGrantCreate 157, // 158: caos.zitadel.management.api.v1.UserGrantUpdateBulk.user_grants:type_name -> caos.zitadel.management.api.v1.UserGrantUpdate 25, // 159: caos.zitadel.management.api.v1.UserGrantView.state:type_name -> caos.zitadel.management.api.v1.UserGrantState 175, // 160: caos.zitadel.management.api.v1.UserGrantView.creation_date:type_name -> google.protobuf.Timestamp 175, // 161: caos.zitadel.management.api.v1.UserGrantView.change_date:type_name -> google.protobuf.Timestamp 165, // 162: caos.zitadel.management.api.v1.UserGrantSearchResponse.result:type_name -> caos.zitadel.management.api.v1.UserGrantView 175, // 163: caos.zitadel.management.api.v1.UserGrantSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp 168, // 164: caos.zitadel.management.api.v1.UserGrantSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.UserGrantSearchQuery 26, // 165: caos.zitadel.management.api.v1.UserGrantSearchQuery.key:type_name -> caos.zitadel.management.api.v1.UserGrantSearchKey 3, // 166: caos.zitadel.management.api.v1.UserGrantSearchQuery.method:type_name -> caos.zitadel.management.api.v1.SearchMethod 168, // 167: caos.zitadel.management.api.v1.ProjectUserGrantSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.UserGrantSearchQuery 168, // 168: caos.zitadel.management.api.v1.ProjectGrantUserGrantSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.UserGrantSearchQuery 174, // 169: caos.zitadel.management.api.v1.UserMembershipSearchResponse.result:type_name -> caos.zitadel.management.api.v1.UserMembershipView 175, // 170: caos.zitadel.management.api.v1.UserMembershipSearchResponse.view_timestamp:type_name -> google.protobuf.Timestamp 173, // 171: caos.zitadel.management.api.v1.UserMembershipSearchRequest.queries:type_name -> caos.zitadel.management.api.v1.UserMembershipSearchQuery 27, // 172: caos.zitadel.management.api.v1.UserMembershipSearchQuery.key:type_name -> caos.zitadel.management.api.v1.UserMembershipSearchKey 3, // 173: caos.zitadel.management.api.v1.UserMembershipSearchQuery.method:type_name -> caos.zitadel.management.api.v1.SearchMethod 28, // 174: caos.zitadel.management.api.v1.UserMembershipView.member_type:type_name -> caos.zitadel.management.api.v1.MemberType 175, // 175: caos.zitadel.management.api.v1.UserMembershipView.creation_date:type_name -> google.protobuf.Timestamp 175, // 176: caos.zitadel.management.api.v1.UserMembershipView.change_date:type_name -> google.protobuf.Timestamp 178, // 177: caos.zitadel.management.api.v1.ManagementService.Healthz:input_type -> google.protobuf.Empty 178, // 178: caos.zitadel.management.api.v1.ManagementService.Ready:input_type -> google.protobuf.Empty 178, // 179: caos.zitadel.management.api.v1.ManagementService.Validate:input_type -> google.protobuf.Empty 178, // 180: caos.zitadel.management.api.v1.ManagementService.GetZitadelDocs:input_type -> google.protobuf.Empty 178, // 181: caos.zitadel.management.api.v1.ManagementService.GetIam:input_type -> google.protobuf.Empty 36, // 182: caos.zitadel.management.api.v1.ManagementService.GetUserByID:input_type -> caos.zitadel.management.api.v1.UserID 37, // 183: caos.zitadel.management.api.v1.ManagementService.GetUserByEmailGlobal:input_type -> caos.zitadel.management.api.v1.Email 43, // 184: caos.zitadel.management.api.v1.ManagementService.SearchUsers:input_type -> caos.zitadel.management.api.v1.UserSearchRequest 38, // 185: caos.zitadel.management.api.v1.ManagementService.IsUserUnique:input_type -> caos.zitadel.management.api.v1.UniqueUserRequest 40, // 186: caos.zitadel.management.api.v1.ManagementService.CreateUser:input_type -> caos.zitadel.management.api.v1.CreateUserRequest 36, // 187: caos.zitadel.management.api.v1.ManagementService.DeactivateUser:input_type -> caos.zitadel.management.api.v1.UserID 36, // 188: caos.zitadel.management.api.v1.ManagementService.ReactivateUser:input_type -> caos.zitadel.management.api.v1.UserID 36, // 189: caos.zitadel.management.api.v1.ManagementService.LockUser:input_type -> caos.zitadel.management.api.v1.UserID 36, // 190: caos.zitadel.management.api.v1.ManagementService.UnlockUser:input_type -> caos.zitadel.management.api.v1.UserID 36, // 191: caos.zitadel.management.api.v1.ManagementService.DeleteUser:input_type -> caos.zitadel.management.api.v1.UserID 31, // 192: caos.zitadel.management.api.v1.ManagementService.UserChanges:input_type -> caos.zitadel.management.api.v1.ChangeRequest 31, // 193: caos.zitadel.management.api.v1.ManagementService.ApplicationChanges:input_type -> caos.zitadel.management.api.v1.ChangeRequest 31, // 194: caos.zitadel.management.api.v1.ManagementService.OrgChanges:input_type -> caos.zitadel.management.api.v1.ChangeRequest 31, // 195: caos.zitadel.management.api.v1.ManagementService.ProjectChanges:input_type -> caos.zitadel.management.api.v1.ChangeRequest 36, // 196: caos.zitadel.management.api.v1.ManagementService.GetUserProfile:input_type -> caos.zitadel.management.api.v1.UserID 48, // 197: caos.zitadel.management.api.v1.ManagementService.UpdateUserProfile:input_type -> caos.zitadel.management.api.v1.UpdateUserProfileRequest 36, // 198: caos.zitadel.management.api.v1.ManagementService.GetUserEmail:input_type -> caos.zitadel.management.api.v1.UserID 51, // 199: caos.zitadel.management.api.v1.ManagementService.ChangeUserEmail:input_type -> caos.zitadel.management.api.v1.UpdateUserEmailRequest 36, // 200: caos.zitadel.management.api.v1.ManagementService.ResendEmailVerificationMail:input_type -> caos.zitadel.management.api.v1.UserID 36, // 201: caos.zitadel.management.api.v1.ManagementService.GetUserPhone:input_type -> caos.zitadel.management.api.v1.UserID 54, // 202: caos.zitadel.management.api.v1.ManagementService.ChangeUserPhone:input_type -> caos.zitadel.management.api.v1.UpdateUserPhoneRequest 36, // 203: caos.zitadel.management.api.v1.ManagementService.RemoveUserPhone:input_type -> caos.zitadel.management.api.v1.UserID 36, // 204: caos.zitadel.management.api.v1.ManagementService.ResendPhoneVerificationCode:input_type -> caos.zitadel.management.api.v1.UserID 36, // 205: caos.zitadel.management.api.v1.ManagementService.GetUserAddress:input_type -> caos.zitadel.management.api.v1.UserID 57, // 206: caos.zitadel.management.api.v1.ManagementService.UpdateUserAddress:input_type -> caos.zitadel.management.api.v1.UpdateUserAddressRequest 36, // 207: caos.zitadel.management.api.v1.ManagementService.GetUserMfas:input_type -> caos.zitadel.management.api.v1.UserID 63, // 208: caos.zitadel.management.api.v1.ManagementService.SendSetPasswordNotification:input_type -> caos.zitadel.management.api.v1.SetPasswordNotificationRequest 61, // 209: caos.zitadel.management.api.v1.ManagementService.SetInitialPassword:input_type -> caos.zitadel.management.api.v1.PasswordRequest 172, // 210: caos.zitadel.management.api.v1.ManagementService.SearchUserMemberships:input_type -> caos.zitadel.management.api.v1.UserMembershipSearchRequest 178, // 211: caos.zitadel.management.api.v1.ManagementService.GetPasswordComplexityPolicy:input_type -> google.protobuf.Empty 178, // 212: caos.zitadel.management.api.v1.ManagementService.GetDefaultPasswordComplexityPolicy:input_type -> google.protobuf.Empty 66, // 213: caos.zitadel.management.api.v1.ManagementService.CreatePasswordComplexityPolicy:input_type -> caos.zitadel.management.api.v1.PasswordComplexityPolicyCreate 67, // 214: caos.zitadel.management.api.v1.ManagementService.UpdatePasswordComplexityPolicy:input_type -> caos.zitadel.management.api.v1.PasswordComplexityPolicyUpdate 64, // 215: caos.zitadel.management.api.v1.ManagementService.DeletePasswordComplexityPolicy:input_type -> caos.zitadel.management.api.v1.PasswordComplexityPolicyID 178, // 216: caos.zitadel.management.api.v1.ManagementService.GetPasswordAgePolicy:input_type -> google.protobuf.Empty 70, // 217: caos.zitadel.management.api.v1.ManagementService.CreatePasswordAgePolicy:input_type -> caos.zitadel.management.api.v1.PasswordAgePolicyCreate 71, // 218: caos.zitadel.management.api.v1.ManagementService.UpdatePasswordAgePolicy:input_type -> caos.zitadel.management.api.v1.PasswordAgePolicyUpdate 68, // 219: caos.zitadel.management.api.v1.ManagementService.DeletePasswordAgePolicy:input_type -> caos.zitadel.management.api.v1.PasswordAgePolicyID 178, // 220: caos.zitadel.management.api.v1.ManagementService.GetPasswordLockoutPolicy:input_type -> google.protobuf.Empty 74, // 221: caos.zitadel.management.api.v1.ManagementService.CreatePasswordLockoutPolicy:input_type -> caos.zitadel.management.api.v1.PasswordLockoutPolicyCreate 75, // 222: caos.zitadel.management.api.v1.ManagementService.UpdatePasswordLockoutPolicy:input_type -> caos.zitadel.management.api.v1.PasswordLockoutPolicyUpdate 72, // 223: caos.zitadel.management.api.v1.ManagementService.DeletePasswordLockoutPolicy:input_type -> caos.zitadel.management.api.v1.PasswordLockoutPolicyID 78, // 224: caos.zitadel.management.api.v1.ManagementService.CreateOrg:input_type -> caos.zitadel.management.api.v1.OrgCreateRequest 178, // 225: caos.zitadel.management.api.v1.ManagementService.GetMyOrg:input_type -> google.protobuf.Empty 81, // 226: caos.zitadel.management.api.v1.ManagementService.GetOrgByDomainGlobal:input_type -> caos.zitadel.management.api.v1.Domain 178, // 227: caos.zitadel.management.api.v1.ManagementService.DeactivateMyOrg:input_type -> google.protobuf.Empty 178, // 228: caos.zitadel.management.api.v1.ManagementService.ReactivateMyOrg:input_type -> google.protobuf.Empty 88, // 229: caos.zitadel.management.api.v1.ManagementService.SearchMyOrgDomains:input_type -> caos.zitadel.management.api.v1.OrgDomainSearchRequest 85, // 230: caos.zitadel.management.api.v1.ManagementService.AddMyOrgDomain:input_type -> caos.zitadel.management.api.v1.AddOrgDomainRequest 86, // 231: caos.zitadel.management.api.v1.ManagementService.RemoveMyOrgDomain:input_type -> caos.zitadel.management.api.v1.RemoveOrgDomainRequest 178, // 232: caos.zitadel.management.api.v1.ManagementService.GetMyOrgIamPolicy:input_type -> google.protobuf.Empty 178, // 233: caos.zitadel.management.api.v1.ManagementService.GetOrgMemberRoles:input_type -> google.protobuf.Empty 92, // 234: caos.zitadel.management.api.v1.ManagementService.AddMyOrgMember:input_type -> caos.zitadel.management.api.v1.AddOrgMemberRequest 93, // 235: caos.zitadel.management.api.v1.ManagementService.ChangeMyOrgMember:input_type -> caos.zitadel.management.api.v1.ChangeOrgMemberRequest 94, // 236: caos.zitadel.management.api.v1.ManagementService.RemoveMyOrgMember:input_type -> caos.zitadel.management.api.v1.RemoveOrgMemberRequest 97, // 237: caos.zitadel.management.api.v1.ManagementService.SearchMyOrgMembers:input_type -> caos.zitadel.management.api.v1.OrgMemberSearchRequest 103, // 238: caos.zitadel.management.api.v1.ManagementService.SearchProjects:input_type -> caos.zitadel.management.api.v1.ProjectSearchRequest 35, // 239: caos.zitadel.management.api.v1.ManagementService.ProjectByID:input_type -> caos.zitadel.management.api.v1.ProjectID 99, // 240: caos.zitadel.management.api.v1.ManagementService.CreateProject:input_type -> caos.zitadel.management.api.v1.ProjectCreateRequest 100, // 241: caos.zitadel.management.api.v1.ManagementService.UpdateProject:input_type -> caos.zitadel.management.api.v1.ProjectUpdateRequest 35, // 242: caos.zitadel.management.api.v1.ManagementService.DeactivateProject:input_type -> caos.zitadel.management.api.v1.ProjectID 35, // 243: caos.zitadel.management.api.v1.ManagementService.ReactivateProject:input_type -> caos.zitadel.management.api.v1.ProjectID 35, // 244: caos.zitadel.management.api.v1.ManagementService.RemoveProject:input_type -> caos.zitadel.management.api.v1.ProjectID 141, // 245: caos.zitadel.management.api.v1.ManagementService.SearchGrantedProjects:input_type -> caos.zitadel.management.api.v1.GrantedProjectSearchRequest 138, // 246: caos.zitadel.management.api.v1.ManagementService.GetGrantedProjectByID:input_type -> caos.zitadel.management.api.v1.ProjectGrantID 178, // 247: caos.zitadel.management.api.v1.ManagementService.GetProjectMemberRoles:input_type -> google.protobuf.Empty 123, // 248: caos.zitadel.management.api.v1.ManagementService.SearchProjectMembers:input_type -> caos.zitadel.management.api.v1.ProjectMemberSearchRequest 109, // 249: caos.zitadel.management.api.v1.ManagementService.AddProjectMember:input_type -> caos.zitadel.management.api.v1.ProjectMemberAdd 110, // 250: caos.zitadel.management.api.v1.ManagementService.ChangeProjectMember:input_type -> caos.zitadel.management.api.v1.ProjectMemberChange 111, // 251: caos.zitadel.management.api.v1.ManagementService.RemoveProjectMember:input_type -> caos.zitadel.management.api.v1.ProjectMemberRemove 119, // 252: caos.zitadel.management.api.v1.ManagementService.SearchProjectRoles:input_type -> caos.zitadel.management.api.v1.ProjectRoleSearchRequest 112, // 253: caos.zitadel.management.api.v1.ManagementService.AddProjectRole:input_type -> caos.zitadel.management.api.v1.ProjectRoleAdd 113, // 254: caos.zitadel.management.api.v1.ManagementService.BulkAddProjectRole:input_type -> caos.zitadel.management.api.v1.ProjectRoleAddBulk 114, // 255: caos.zitadel.management.api.v1.ManagementService.ChangeProjectRole:input_type -> caos.zitadel.management.api.v1.ProjectRoleChange 117, // 256: caos.zitadel.management.api.v1.ManagementService.RemoveProjectRole:input_type -> caos.zitadel.management.api.v1.ProjectRoleRemove 133, // 257: caos.zitadel.management.api.v1.ManagementService.SearchApplications:input_type -> caos.zitadel.management.api.v1.ApplicationSearchRequest 34, // 258: caos.zitadel.management.api.v1.ManagementService.ApplicationByID:input_type -> caos.zitadel.management.api.v1.ApplicationID 128, // 259: caos.zitadel.management.api.v1.ManagementService.CreateOIDCApplication:input_type -> caos.zitadel.management.api.v1.OIDCApplicationCreate 126, // 260: caos.zitadel.management.api.v1.ManagementService.UpdateApplication:input_type -> caos.zitadel.management.api.v1.ApplicationUpdate 34, // 261: caos.zitadel.management.api.v1.ManagementService.DeactivateApplication:input_type -> caos.zitadel.management.api.v1.ApplicationID 34, // 262: caos.zitadel.management.api.v1.ManagementService.ReactivateApplication:input_type -> caos.zitadel.management.api.v1.ApplicationID 34, // 263: caos.zitadel.management.api.v1.ManagementService.RemoveApplication:input_type -> caos.zitadel.management.api.v1.ApplicationID 129, // 264: caos.zitadel.management.api.v1.ManagementService.UpdateApplicationOIDCConfig:input_type -> caos.zitadel.management.api.v1.OIDCConfigUpdate 34, // 265: caos.zitadel.management.api.v1.ManagementService.RegenerateOIDCClientSecret:input_type -> caos.zitadel.management.api.v1.ApplicationID 142, // 266: caos.zitadel.management.api.v1.ManagementService.SearchProjectGrants:input_type -> caos.zitadel.management.api.v1.ProjectGrantSearchRequest 138, // 267: caos.zitadel.management.api.v1.ManagementService.ProjectGrantByID:input_type -> caos.zitadel.management.api.v1.ProjectGrantID 136, // 268: caos.zitadel.management.api.v1.ManagementService.CreateProjectGrant:input_type -> caos.zitadel.management.api.v1.ProjectGrantCreate 137, // 269: caos.zitadel.management.api.v1.ManagementService.UpdateProjectGrant:input_type -> caos.zitadel.management.api.v1.ProjectGrantUpdate 138, // 270: caos.zitadel.management.api.v1.ManagementService.DeactivateProjectGrant:input_type -> caos.zitadel.management.api.v1.ProjectGrantID 138, // 271: caos.zitadel.management.api.v1.ManagementService.ReactivateProjectGrant:input_type -> caos.zitadel.management.api.v1.ProjectGrantID 138, // 272: caos.zitadel.management.api.v1.ManagementService.RemoveProjectGrant:input_type -> caos.zitadel.management.api.v1.ProjectGrantID 178, // 273: caos.zitadel.management.api.v1.ManagementService.GetProjectGrantMemberRoles:input_type -> google.protobuf.Empty 151, // 274: caos.zitadel.management.api.v1.ManagementService.SearchProjectGrantMembers:input_type -> caos.zitadel.management.api.v1.ProjectGrantMemberSearchRequest 146, // 275: caos.zitadel.management.api.v1.ManagementService.AddProjectGrantMember:input_type -> caos.zitadel.management.api.v1.ProjectGrantMemberAdd 147, // 276: caos.zitadel.management.api.v1.ManagementService.ChangeProjectGrantMember:input_type -> caos.zitadel.management.api.v1.ProjectGrantMemberChange 148, // 277: caos.zitadel.management.api.v1.ManagementService.RemoveProjectGrantMember:input_type -> caos.zitadel.management.api.v1.ProjectGrantMemberRemove 167, // 278: caos.zitadel.management.api.v1.ManagementService.SearchUserGrants:input_type -> caos.zitadel.management.api.v1.UserGrantSearchRequest 159, // 279: caos.zitadel.management.api.v1.ManagementService.UserGrantByID:input_type -> caos.zitadel.management.api.v1.UserGrantID 155, // 280: caos.zitadel.management.api.v1.ManagementService.CreateUserGrant:input_type -> caos.zitadel.management.api.v1.UserGrantCreate 157, // 281: caos.zitadel.management.api.v1.ManagementService.UpdateUserGrant:input_type -> caos.zitadel.management.api.v1.UserGrantUpdate 159, // 282: caos.zitadel.management.api.v1.ManagementService.DeactivateUserGrant:input_type -> caos.zitadel.management.api.v1.UserGrantID 159, // 283: caos.zitadel.management.api.v1.ManagementService.ReactivateUserGrant:input_type -> caos.zitadel.management.api.v1.UserGrantID 159, // 284: caos.zitadel.management.api.v1.ManagementService.RemoveUserGrant:input_type -> caos.zitadel.management.api.v1.UserGrantID 158, // 285: caos.zitadel.management.api.v1.ManagementService.BulkRemoveUserGrant:input_type -> caos.zitadel.management.api.v1.UserGrantRemoveBulk 169, // 286: caos.zitadel.management.api.v1.ManagementService.SearchProjectUserGrants:input_type -> caos.zitadel.management.api.v1.ProjectUserGrantSearchRequest 160, // 287: caos.zitadel.management.api.v1.ManagementService.ProjectUserGrantByID:input_type -> caos.zitadel.management.api.v1.ProjectUserGrantID 155, // 288: caos.zitadel.management.api.v1.ManagementService.CreateProjectUserGrant:input_type -> caos.zitadel.management.api.v1.UserGrantCreate 161, // 289: caos.zitadel.management.api.v1.ManagementService.UpdateProjectUserGrant:input_type -> caos.zitadel.management.api.v1.ProjectUserGrantUpdate 160, // 290: caos.zitadel.management.api.v1.ManagementService.DeactivateProjectUserGrant:input_type -> caos.zitadel.management.api.v1.ProjectUserGrantID 160, // 291: caos.zitadel.management.api.v1.ManagementService.ReactivateProjectUserGrant:input_type -> caos.zitadel.management.api.v1.ProjectUserGrantID 170, // 292: caos.zitadel.management.api.v1.ManagementService.SearchProjectGrantUserGrants:input_type -> caos.zitadel.management.api.v1.ProjectGrantUserGrantSearchRequest 162, // 293: caos.zitadel.management.api.v1.ManagementService.ProjectGrantUserGrantByID:input_type -> caos.zitadel.management.api.v1.ProjectGrantUserGrantID 163, // 294: caos.zitadel.management.api.v1.ManagementService.CreateProjectGrantUserGrant:input_type -> caos.zitadel.management.api.v1.ProjectGrantUserGrantCreate 164, // 295: caos.zitadel.management.api.v1.ManagementService.UpdateProjectGrantUserGrant:input_type -> caos.zitadel.management.api.v1.ProjectGrantUserGrantUpdate 162, // 296: caos.zitadel.management.api.v1.ManagementService.DeactivateProjectGrantUserGrant:input_type -> caos.zitadel.management.api.v1.ProjectGrantUserGrantID 162, // 297: caos.zitadel.management.api.v1.ManagementService.ReactivateProjectGrantUserGrant:input_type -> caos.zitadel.management.api.v1.ProjectGrantUserGrantID 178, // 298: caos.zitadel.management.api.v1.ManagementService.Healthz:output_type -> google.protobuf.Empty 178, // 299: caos.zitadel.management.api.v1.ManagementService.Ready:output_type -> google.protobuf.Empty 177, // 300: caos.zitadel.management.api.v1.ManagementService.Validate:output_type -> google.protobuf.Struct 29, // 301: caos.zitadel.management.api.v1.ManagementService.GetZitadelDocs:output_type -> caos.zitadel.management.api.v1.ZitadelDocs 30, // 302: caos.zitadel.management.api.v1.ManagementService.GetIam:output_type -> caos.zitadel.management.api.v1.Iam 42, // 303: caos.zitadel.management.api.v1.ManagementService.GetUserByID:output_type -> caos.zitadel.management.api.v1.UserView 42, // 304: caos.zitadel.management.api.v1.ManagementService.GetUserByEmailGlobal:output_type -> caos.zitadel.management.api.v1.UserView 45, // 305: caos.zitadel.management.api.v1.ManagementService.SearchUsers:output_type -> caos.zitadel.management.api.v1.UserSearchResponse 39, // 306: caos.zitadel.management.api.v1.ManagementService.IsUserUnique:output_type -> caos.zitadel.management.api.v1.UniqueUserResponse 41, // 307: caos.zitadel.management.api.v1.ManagementService.CreateUser:output_type -> caos.zitadel.management.api.v1.User 41, // 308: caos.zitadel.management.api.v1.ManagementService.DeactivateUser:output_type -> caos.zitadel.management.api.v1.User 41, // 309: caos.zitadel.management.api.v1.ManagementService.ReactivateUser:output_type -> caos.zitadel.management.api.v1.User 41, // 310: caos.zitadel.management.api.v1.ManagementService.LockUser:output_type -> caos.zitadel.management.api.v1.User 41, // 311: caos.zitadel.management.api.v1.ManagementService.UnlockUser:output_type -> caos.zitadel.management.api.v1.User 178, // 312: caos.zitadel.management.api.v1.ManagementService.DeleteUser:output_type -> google.protobuf.Empty 32, // 313: caos.zitadel.management.api.v1.ManagementService.UserChanges:output_type -> caos.zitadel.management.api.v1.Changes 32, // 314: caos.zitadel.management.api.v1.ManagementService.ApplicationChanges:output_type -> caos.zitadel.management.api.v1.Changes 32, // 315: caos.zitadel.management.api.v1.ManagementService.OrgChanges:output_type -> caos.zitadel.management.api.v1.Changes 32, // 316: caos.zitadel.management.api.v1.ManagementService.ProjectChanges:output_type -> caos.zitadel.management.api.v1.Changes 47, // 317: caos.zitadel.management.api.v1.ManagementService.GetUserProfile:output_type -> caos.zitadel.management.api.v1.UserProfileView 46, // 318: caos.zitadel.management.api.v1.ManagementService.UpdateUserProfile:output_type -> caos.zitadel.management.api.v1.UserProfile 50, // 319: caos.zitadel.management.api.v1.ManagementService.GetUserEmail:output_type -> caos.zitadel.management.api.v1.UserEmailView 49, // 320: caos.zitadel.management.api.v1.ManagementService.ChangeUserEmail:output_type -> caos.zitadel.management.api.v1.UserEmail 178, // 321: caos.zitadel.management.api.v1.ManagementService.ResendEmailVerificationMail:output_type -> google.protobuf.Empty 53, // 322: caos.zitadel.management.api.v1.ManagementService.GetUserPhone:output_type -> caos.zitadel.management.api.v1.UserPhoneView 52, // 323: caos.zitadel.management.api.v1.ManagementService.ChangeUserPhone:output_type -> caos.zitadel.management.api.v1.UserPhone 178, // 324: caos.zitadel.management.api.v1.ManagementService.RemoveUserPhone:output_type -> google.protobuf.Empty 178, // 325: caos.zitadel.management.api.v1.ManagementService.ResendPhoneVerificationCode:output_type -> google.protobuf.Empty 56, // 326: caos.zitadel.management.api.v1.ManagementService.GetUserAddress:output_type -> caos.zitadel.management.api.v1.UserAddressView 55, // 327: caos.zitadel.management.api.v1.ManagementService.UpdateUserAddress:output_type -> caos.zitadel.management.api.v1.UserAddress 58, // 328: caos.zitadel.management.api.v1.ManagementService.GetUserMfas:output_type -> caos.zitadel.management.api.v1.MultiFactors 178, // 329: caos.zitadel.management.api.v1.ManagementService.SendSetPasswordNotification:output_type -> google.protobuf.Empty 178, // 330: caos.zitadel.management.api.v1.ManagementService.SetInitialPassword:output_type -> google.protobuf.Empty 171, // 331: caos.zitadel.management.api.v1.ManagementService.SearchUserMemberships:output_type -> caos.zitadel.management.api.v1.UserMembershipSearchResponse 65, // 332: caos.zitadel.management.api.v1.ManagementService.GetPasswordComplexityPolicy:output_type -> caos.zitadel.management.api.v1.PasswordComplexityPolicy 65, // 333: caos.zitadel.management.api.v1.ManagementService.GetDefaultPasswordComplexityPolicy:output_type -> caos.zitadel.management.api.v1.PasswordComplexityPolicy 65, // 334: caos.zitadel.management.api.v1.ManagementService.CreatePasswordComplexityPolicy:output_type -> caos.zitadel.management.api.v1.PasswordComplexityPolicy 65, // 335: caos.zitadel.management.api.v1.ManagementService.UpdatePasswordComplexityPolicy:output_type -> caos.zitadel.management.api.v1.PasswordComplexityPolicy 178, // 336: caos.zitadel.management.api.v1.ManagementService.DeletePasswordComplexityPolicy:output_type -> google.protobuf.Empty 69, // 337: caos.zitadel.management.api.v1.ManagementService.GetPasswordAgePolicy:output_type -> caos.zitadel.management.api.v1.PasswordAgePolicy 69, // 338: caos.zitadel.management.api.v1.ManagementService.CreatePasswordAgePolicy:output_type -> caos.zitadel.management.api.v1.PasswordAgePolicy 69, // 339: caos.zitadel.management.api.v1.ManagementService.UpdatePasswordAgePolicy:output_type -> caos.zitadel.management.api.v1.PasswordAgePolicy 178, // 340: caos.zitadel.management.api.v1.ManagementService.DeletePasswordAgePolicy:output_type -> google.protobuf.Empty 73, // 341: caos.zitadel.management.api.v1.ManagementService.GetPasswordLockoutPolicy:output_type -> caos.zitadel.management.api.v1.PasswordLockoutPolicy 73, // 342: caos.zitadel.management.api.v1.ManagementService.CreatePasswordLockoutPolicy:output_type -> caos.zitadel.management.api.v1.PasswordLockoutPolicy 73, // 343: caos.zitadel.management.api.v1.ManagementService.UpdatePasswordLockoutPolicy:output_type -> caos.zitadel.management.api.v1.PasswordLockoutPolicy 178, // 344: caos.zitadel.management.api.v1.ManagementService.DeletePasswordLockoutPolicy:output_type -> google.protobuf.Empty 79, // 345: caos.zitadel.management.api.v1.ManagementService.CreateOrg:output_type -> caos.zitadel.management.api.v1.Org 80, // 346: caos.zitadel.management.api.v1.ManagementService.GetMyOrg:output_type -> caos.zitadel.management.api.v1.OrgView 80, // 347: caos.zitadel.management.api.v1.ManagementService.GetOrgByDomainGlobal:output_type -> caos.zitadel.management.api.v1.OrgView 79, // 348: caos.zitadel.management.api.v1.ManagementService.DeactivateMyOrg:output_type -> caos.zitadel.management.api.v1.Org 79, // 349: caos.zitadel.management.api.v1.ManagementService.ReactivateMyOrg:output_type -> caos.zitadel.management.api.v1.Org 87, // 350: caos.zitadel.management.api.v1.ManagementService.SearchMyOrgDomains:output_type -> caos.zitadel.management.api.v1.OrgDomainSearchResponse 83, // 351: caos.zitadel.management.api.v1.ManagementService.AddMyOrgDomain:output_type -> caos.zitadel.management.api.v1.OrgDomain 178, // 352: caos.zitadel.management.api.v1.ManagementService.RemoveMyOrgDomain:output_type -> google.protobuf.Empty 76, // 353: caos.zitadel.management.api.v1.ManagementService.GetMyOrgIamPolicy:output_type -> caos.zitadel.management.api.v1.OrgIamPolicy 90, // 354: caos.zitadel.management.api.v1.ManagementService.GetOrgMemberRoles:output_type -> caos.zitadel.management.api.v1.OrgMemberRoles 91, // 355: caos.zitadel.management.api.v1.ManagementService.AddMyOrgMember:output_type -> caos.zitadel.management.api.v1.OrgMember 91, // 356: caos.zitadel.management.api.v1.ManagementService.ChangeMyOrgMember:output_type -> caos.zitadel.management.api.v1.OrgMember 178, // 357: caos.zitadel.management.api.v1.ManagementService.RemoveMyOrgMember:output_type -> google.protobuf.Empty 95, // 358: caos.zitadel.management.api.v1.ManagementService.SearchMyOrgMembers:output_type -> caos.zitadel.management.api.v1.OrgMemberSearchResponse 101, // 359: caos.zitadel.management.api.v1.ManagementService.SearchProjects:output_type -> caos.zitadel.management.api.v1.ProjectSearchResponse 102, // 360: caos.zitadel.management.api.v1.ManagementService.ProjectByID:output_type -> caos.zitadel.management.api.v1.ProjectView 106, // 361: caos.zitadel.management.api.v1.ManagementService.CreateProject:output_type -> caos.zitadel.management.api.v1.Project 106, // 362: caos.zitadel.management.api.v1.ManagementService.UpdateProject:output_type -> caos.zitadel.management.api.v1.Project 106, // 363: caos.zitadel.management.api.v1.ManagementService.DeactivateProject:output_type -> caos.zitadel.management.api.v1.Project 106, // 364: caos.zitadel.management.api.v1.ManagementService.ReactivateProject:output_type -> caos.zitadel.management.api.v1.Project 178, // 365: caos.zitadel.management.api.v1.ManagementService.RemoveProject:output_type -> google.protobuf.Empty 140, // 366: caos.zitadel.management.api.v1.ManagementService.SearchGrantedProjects:output_type -> caos.zitadel.management.api.v1.ProjectGrantSearchResponse 139, // 367: caos.zitadel.management.api.v1.ManagementService.GetGrantedProjectByID:output_type -> caos.zitadel.management.api.v1.ProjectGrantView 107, // 368: caos.zitadel.management.api.v1.ManagementService.GetProjectMemberRoles:output_type -> caos.zitadel.management.api.v1.ProjectMemberRoles 122, // 369: caos.zitadel.management.api.v1.ManagementService.SearchProjectMembers:output_type -> caos.zitadel.management.api.v1.ProjectMemberSearchResponse 108, // 370: caos.zitadel.management.api.v1.ManagementService.AddProjectMember:output_type -> caos.zitadel.management.api.v1.ProjectMember 108, // 371: caos.zitadel.management.api.v1.ManagementService.ChangeProjectMember:output_type -> caos.zitadel.management.api.v1.ProjectMember 178, // 372: caos.zitadel.management.api.v1.ManagementService.RemoveProjectMember:output_type -> google.protobuf.Empty 118, // 373: caos.zitadel.management.api.v1.ManagementService.SearchProjectRoles:output_type -> caos.zitadel.management.api.v1.ProjectRoleSearchResponse 115, // 374: caos.zitadel.management.api.v1.ManagementService.AddProjectRole:output_type -> caos.zitadel.management.api.v1.ProjectRole 178, // 375: caos.zitadel.management.api.v1.ManagementService.BulkAddProjectRole:output_type -> google.protobuf.Empty 115, // 376: caos.zitadel.management.api.v1.ManagementService.ChangeProjectRole:output_type -> caos.zitadel.management.api.v1.ProjectRole 178, // 377: caos.zitadel.management.api.v1.ManagementService.RemoveProjectRole:output_type -> google.protobuf.Empty 132, // 378: caos.zitadel.management.api.v1.ManagementService.SearchApplications:output_type -> caos.zitadel.management.api.v1.ApplicationSearchResponse 131, // 379: caos.zitadel.management.api.v1.ManagementService.ApplicationByID:output_type -> caos.zitadel.management.api.v1.ApplicationView 125, // 380: caos.zitadel.management.api.v1.ManagementService.CreateOIDCApplication:output_type -> caos.zitadel.management.api.v1.Application 125, // 381: caos.zitadel.management.api.v1.ManagementService.UpdateApplication:output_type -> caos.zitadel.management.api.v1.Application 125, // 382: caos.zitadel.management.api.v1.ManagementService.DeactivateApplication:output_type -> caos.zitadel.management.api.v1.Application 125, // 383: caos.zitadel.management.api.v1.ManagementService.ReactivateApplication:output_type -> caos.zitadel.management.api.v1.Application 178, // 384: caos.zitadel.management.api.v1.ManagementService.RemoveApplication:output_type -> google.protobuf.Empty 127, // 385: caos.zitadel.management.api.v1.ManagementService.UpdateApplicationOIDCConfig:output_type -> caos.zitadel.management.api.v1.OIDCConfig 130, // 386: caos.zitadel.management.api.v1.ManagementService.RegenerateOIDCClientSecret:output_type -> caos.zitadel.management.api.v1.ClientSecret 140, // 387: caos.zitadel.management.api.v1.ManagementService.SearchProjectGrants:output_type -> caos.zitadel.management.api.v1.ProjectGrantSearchResponse 139, // 388: caos.zitadel.management.api.v1.ManagementService.ProjectGrantByID:output_type -> caos.zitadel.management.api.v1.ProjectGrantView 135, // 389: caos.zitadel.management.api.v1.ManagementService.CreateProjectGrant:output_type -> caos.zitadel.management.api.v1.ProjectGrant 135, // 390: caos.zitadel.management.api.v1.ManagementService.UpdateProjectGrant:output_type -> caos.zitadel.management.api.v1.ProjectGrant 135, // 391: caos.zitadel.management.api.v1.ManagementService.DeactivateProjectGrant:output_type -> caos.zitadel.management.api.v1.ProjectGrant 135, // 392: caos.zitadel.management.api.v1.ManagementService.ReactivateProjectGrant:output_type -> caos.zitadel.management.api.v1.ProjectGrant 178, // 393: caos.zitadel.management.api.v1.ManagementService.RemoveProjectGrant:output_type -> google.protobuf.Empty 144, // 394: caos.zitadel.management.api.v1.ManagementService.GetProjectGrantMemberRoles:output_type -> caos.zitadel.management.api.v1.ProjectGrantMemberRoles 150, // 395: caos.zitadel.management.api.v1.ManagementService.SearchProjectGrantMembers:output_type -> caos.zitadel.management.api.v1.ProjectGrantMemberSearchResponse 145, // 396: caos.zitadel.management.api.v1.ManagementService.AddProjectGrantMember:output_type -> caos.zitadel.management.api.v1.ProjectGrantMember 145, // 397: caos.zitadel.management.api.v1.ManagementService.ChangeProjectGrantMember:output_type -> caos.zitadel.management.api.v1.ProjectGrantMember 178, // 398: caos.zitadel.management.api.v1.ManagementService.RemoveProjectGrantMember:output_type -> google.protobuf.Empty 166, // 399: caos.zitadel.management.api.v1.ManagementService.SearchUserGrants:output_type -> caos.zitadel.management.api.v1.UserGrantSearchResponse 165, // 400: caos.zitadel.management.api.v1.ManagementService.UserGrantByID:output_type -> caos.zitadel.management.api.v1.UserGrantView 153, // 401: caos.zitadel.management.api.v1.ManagementService.CreateUserGrant:output_type -> caos.zitadel.management.api.v1.UserGrant 153, // 402: caos.zitadel.management.api.v1.ManagementService.UpdateUserGrant:output_type -> caos.zitadel.management.api.v1.UserGrant 153, // 403: caos.zitadel.management.api.v1.ManagementService.DeactivateUserGrant:output_type -> caos.zitadel.management.api.v1.UserGrant 153, // 404: caos.zitadel.management.api.v1.ManagementService.ReactivateUserGrant:output_type -> caos.zitadel.management.api.v1.UserGrant 178, // 405: caos.zitadel.management.api.v1.ManagementService.RemoveUserGrant:output_type -> google.protobuf.Empty 178, // 406: caos.zitadel.management.api.v1.ManagementService.BulkRemoveUserGrant:output_type -> google.protobuf.Empty 166, // 407: caos.zitadel.management.api.v1.ManagementService.SearchProjectUserGrants:output_type -> caos.zitadel.management.api.v1.UserGrantSearchResponse 165, // 408: caos.zitadel.management.api.v1.ManagementService.ProjectUserGrantByID:output_type -> caos.zitadel.management.api.v1.UserGrantView 153, // 409: caos.zitadel.management.api.v1.ManagementService.CreateProjectUserGrant:output_type -> caos.zitadel.management.api.v1.UserGrant 153, // 410: caos.zitadel.management.api.v1.ManagementService.UpdateProjectUserGrant:output_type -> caos.zitadel.management.api.v1.UserGrant 153, // 411: caos.zitadel.management.api.v1.ManagementService.DeactivateProjectUserGrant:output_type -> caos.zitadel.management.api.v1.UserGrant 153, // 412: caos.zitadel.management.api.v1.ManagementService.ReactivateProjectUserGrant:output_type -> caos.zitadel.management.api.v1.UserGrant 166, // 413: caos.zitadel.management.api.v1.ManagementService.SearchProjectGrantUserGrants:output_type -> caos.zitadel.management.api.v1.UserGrantSearchResponse 165, // 414: caos.zitadel.management.api.v1.ManagementService.ProjectGrantUserGrantByID:output_type -> caos.zitadel.management.api.v1.UserGrantView 153, // 415: caos.zitadel.management.api.v1.ManagementService.CreateProjectGrantUserGrant:output_type -> caos.zitadel.management.api.v1.UserGrant 153, // 416: caos.zitadel.management.api.v1.ManagementService.UpdateProjectGrantUserGrant:output_type -> caos.zitadel.management.api.v1.UserGrant 153, // 417: caos.zitadel.management.api.v1.ManagementService.DeactivateProjectGrantUserGrant:output_type -> caos.zitadel.management.api.v1.UserGrant 153, // 418: caos.zitadel.management.api.v1.ManagementService.ReactivateProjectGrantUserGrant:output_type -> caos.zitadel.management.api.v1.UserGrant 298, // [298:419] is the sub-list for method output_type 177, // [177:298] is the sub-list for method input_type 177, // [177:177] is the sub-list for extension type_name 177, // [177:177] is the sub-list for extension extendee 0, // [0:177] is the sub-list for field type_name } func init() { file_management_proto_init() } func file_management_proto_init() { if File_management_proto != nil { return } if !protoimpl.UnsafeEnabled { file_management_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ZitadelDocs); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Iam); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChangeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Changes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Change); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ApplicationID); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectID); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserID); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Email); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UniqueUserRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UniqueUserResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateUserRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*User); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserView); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserSearchRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserSearchQuery); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserSearchResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserProfile); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserProfileView); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateUserProfileRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserEmail); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserEmailView); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateUserEmailRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserPhone); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserPhoneView); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateUserPhoneRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserAddress); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserAddressView); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateUserAddressRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MultiFactors); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MultiFactor); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PasswordID); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PasswordRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResetPasswordRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetPasswordNotificationRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PasswordComplexityPolicyID); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PasswordComplexityPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PasswordComplexityPolicyCreate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PasswordComplexityPolicyUpdate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PasswordAgePolicyID); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PasswordAgePolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PasswordAgePolicyCreate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PasswordAgePolicyUpdate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PasswordLockoutPolicyID); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PasswordLockoutPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PasswordLockoutPolicyCreate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PasswordLockoutPolicyUpdate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrgIamPolicy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrgID); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrgCreateRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Org); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrgView); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Domain); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrgDomains); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrgDomain); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrgDomainView); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AddOrgDomainRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveOrgDomainRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrgDomainSearchResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrgDomainSearchRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrgDomainSearchQuery); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrgMemberRoles); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrgMember); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AddOrgMemberRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChangeOrgMemberRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveOrgMemberRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrgMemberSearchResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrgMemberView); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrgMemberSearchRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OrgMemberSearchQuery); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectCreateRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectUpdateRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectSearchResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectView); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectSearchRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectSearchQuery); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Projects); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Project); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectMemberRoles); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectMember); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectMemberAdd); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectMemberChange); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectMemberRemove); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectRoleAdd); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectRoleAddBulk); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectRoleChange); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectRole); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectRoleView); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectRoleRemove); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectRoleSearchResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectRoleSearchRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectRoleSearchQuery); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectMemberView); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectMemberSearchResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectMemberSearchRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectMemberSearchQuery); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Application); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ApplicationUpdate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OIDCConfig); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OIDCApplicationCreate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OIDCConfigUpdate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClientSecret); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ApplicationView); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ApplicationSearchResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ApplicationSearchRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ApplicationSearchQuery); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectGrant); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectGrantCreate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectGrantUpdate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectGrantID); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectGrantView); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectGrantSearchResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrantedProjectSearchRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectGrantSearchRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectGrantSearchQuery); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectGrantMemberRoles); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectGrantMember); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectGrantMemberAdd); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectGrantMemberChange); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectGrantMemberRemove); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectGrantMemberView); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectGrantMemberSearchResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectGrantMemberSearchRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectGrantMemberSearchQuery); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserGrant); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserGrantCreateBulk); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserGrantCreate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserGrantUpdateBulk); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserGrantUpdate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserGrantRemoveBulk); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserGrantID); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectUserGrantID); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectUserGrantUpdate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectGrantUserGrantID); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectGrantUserGrantCreate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectGrantUserGrantUpdate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserGrantView); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserGrantSearchResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserGrantSearchRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserGrantSearchQuery); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectUserGrantSearchRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectGrantUserGrantSearchRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserMembershipSearchResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserMembershipSearchRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserMembershipSearchQuery); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_management_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserMembershipView); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_management_proto_msgTypes[96].OneofWrappers = []interface{}{ (*Application_OidcConfig)(nil), } file_management_proto_msgTypes[102].OneofWrappers = []interface{}{ (*ApplicationView_OidcConfig)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_management_proto_rawDesc, NumEnums: 29, NumMessages: 146, NumExtensions: 0, NumServices: 1, }, GoTypes: file_management_proto_goTypes, DependencyIndexes: file_management_proto_depIdxs, EnumInfos: file_management_proto_enumTypes, MessageInfos: file_management_proto_msgTypes, }.Build() File_management_proto = out.File file_management_proto_rawDesc = nil file_management_proto_goTypes = nil file_management_proto_depIdxs = nil } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConnInterface // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion6 // ManagementServiceClient is the client API for ManagementService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type ManagementServiceClient interface { //READINESS Healthz(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) Ready(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) Validate(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*_struct.Struct, error) GetZitadelDocs(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*ZitadelDocs, error) // GetIam returns some needed settings of the iam (Global Organisation ID, Zitadel Project ID) GetIam(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Iam, error) GetUserByID(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*UserView, error) // GetUserByEmailGlobal returns User, global search is overall organisations GetUserByEmailGlobal(ctx context.Context, in *Email, opts ...grpc.CallOption) (*UserView, error) // Limit should always be set, there is a default limit set by the service SearchUsers(ctx context.Context, in *UserSearchRequest, opts ...grpc.CallOption) (*UserSearchResponse, error) IsUserUnique(ctx context.Context, in *UniqueUserRequest, opts ...grpc.CallOption) (*UniqueUserResponse, error) CreateUser(ctx context.Context, in *CreateUserRequest, opts ...grpc.CallOption) (*User, error) DeactivateUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*User, error) ReactivateUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*User, error) LockUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*User, error) UnlockUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*User, error) DeleteUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*empty.Empty, error) // UserChanges returns the event stream of the user object UserChanges(ctx context.Context, in *ChangeRequest, opts ...grpc.CallOption) (*Changes, error) // ApplicationChanges returns the event stream of the application object ApplicationChanges(ctx context.Context, in *ChangeRequest, opts ...grpc.CallOption) (*Changes, error) // OrgChanges returns the event stream of the org object OrgChanges(ctx context.Context, in *ChangeRequest, opts ...grpc.CallOption) (*Changes, error) // ProjectChanges returns the event stream of the project object ProjectChanges(ctx context.Context, in *ChangeRequest, opts ...grpc.CallOption) (*Changes, error) GetUserProfile(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*UserProfileView, error) UpdateUserProfile(ctx context.Context, in *UpdateUserProfileRequest, opts ...grpc.CallOption) (*UserProfile, error) GetUserEmail(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*UserEmailView, error) ChangeUserEmail(ctx context.Context, in *UpdateUserEmailRequest, opts ...grpc.CallOption) (*UserEmail, error) ResendEmailVerificationMail(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*empty.Empty, error) GetUserPhone(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*UserPhoneView, error) ChangeUserPhone(ctx context.Context, in *UpdateUserPhoneRequest, opts ...grpc.CallOption) (*UserPhone, error) RemoveUserPhone(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*empty.Empty, error) ResendPhoneVerificationCode(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*empty.Empty, error) GetUserAddress(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*UserAddressView, error) UpdateUserAddress(ctx context.Context, in *UpdateUserAddressRequest, opts ...grpc.CallOption) (*UserAddress, error) GetUserMfas(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*MultiFactors, error) // Sends an Notification (Email/SMS) with a password reset Link SendSetPasswordNotification(ctx context.Context, in *SetPasswordNotificationRequest, opts ...grpc.CallOption) (*empty.Empty, error) // A Manager is only allowed to set an initial password, on the next login the user has to change his password SetInitialPassword(ctx context.Context, in *PasswordRequest, opts ...grpc.CallOption) (*empty.Empty, error) SearchUserMemberships(ctx context.Context, in *UserMembershipSearchRequest, opts ...grpc.CallOption) (*UserMembershipSearchResponse, error) // returns default policy if nothing other set on organisation GetPasswordComplexityPolicy(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*PasswordComplexityPolicy, error) GetDefaultPasswordComplexityPolicy(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*PasswordComplexityPolicy, error) CreatePasswordComplexityPolicy(ctx context.Context, in *PasswordComplexityPolicyCreate, opts ...grpc.CallOption) (*PasswordComplexityPolicy, error) UpdatePasswordComplexityPolicy(ctx context.Context, in *PasswordComplexityPolicyUpdate, opts ...grpc.CallOption) (*PasswordComplexityPolicy, error) DeletePasswordComplexityPolicy(ctx context.Context, in *PasswordComplexityPolicyID, opts ...grpc.CallOption) (*empty.Empty, error) // returns default if nothing other set on organisation GetPasswordAgePolicy(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*PasswordAgePolicy, error) CreatePasswordAgePolicy(ctx context.Context, in *PasswordAgePolicyCreate, opts ...grpc.CallOption) (*PasswordAgePolicy, error) UpdatePasswordAgePolicy(ctx context.Context, in *PasswordAgePolicyUpdate, opts ...grpc.CallOption) (*PasswordAgePolicy, error) DeletePasswordAgePolicy(ctx context.Context, in *PasswordAgePolicyID, opts ...grpc.CallOption) (*empty.Empty, error) // returns default if nothing other set on organisation GetPasswordLockoutPolicy(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*PasswordLockoutPolicy, error) CreatePasswordLockoutPolicy(ctx context.Context, in *PasswordLockoutPolicyCreate, opts ...grpc.CallOption) (*PasswordLockoutPolicy, error) UpdatePasswordLockoutPolicy(ctx context.Context, in *PasswordLockoutPolicyUpdate, opts ...grpc.CallOption) (*PasswordLockoutPolicy, error) DeletePasswordLockoutPolicy(ctx context.Context, in *PasswordLockoutPolicyID, opts ...grpc.CallOption) (*empty.Empty, error) CreateOrg(ctx context.Context, in *OrgCreateRequest, opts ...grpc.CallOption) (*Org, error) GetMyOrg(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*OrgView, error) // search a organisation by its domain overall organisations GetOrgByDomainGlobal(ctx context.Context, in *Domain, opts ...grpc.CallOption) (*OrgView, error) DeactivateMyOrg(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Org, error) ReactivateMyOrg(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Org, error) SearchMyOrgDomains(ctx context.Context, in *OrgDomainSearchRequest, opts ...grpc.CallOption) (*OrgDomainSearchResponse, error) AddMyOrgDomain(ctx context.Context, in *AddOrgDomainRequest, opts ...grpc.CallOption) (*OrgDomain, error) RemoveMyOrgDomain(ctx context.Context, in *RemoveOrgDomainRequest, opts ...grpc.CallOption) (*empty.Empty, error) GetMyOrgIamPolicy(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*OrgIamPolicy, error) GetOrgMemberRoles(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*OrgMemberRoles, error) AddMyOrgMember(ctx context.Context, in *AddOrgMemberRequest, opts ...grpc.CallOption) (*OrgMember, error) ChangeMyOrgMember(ctx context.Context, in *ChangeOrgMemberRequest, opts ...grpc.CallOption) (*OrgMember, error) RemoveMyOrgMember(ctx context.Context, in *RemoveOrgMemberRequest, opts ...grpc.CallOption) (*empty.Empty, error) SearchMyOrgMembers(ctx context.Context, in *OrgMemberSearchRequest, opts ...grpc.CallOption) (*OrgMemberSearchResponse, error) SearchProjects(ctx context.Context, in *ProjectSearchRequest, opts ...grpc.CallOption) (*ProjectSearchResponse, error) ProjectByID(ctx context.Context, in *ProjectID, opts ...grpc.CallOption) (*ProjectView, error) CreateProject(ctx context.Context, in *ProjectCreateRequest, opts ...grpc.CallOption) (*Project, error) UpdateProject(ctx context.Context, in *ProjectUpdateRequest, opts ...grpc.CallOption) (*Project, error) DeactivateProject(ctx context.Context, in *ProjectID, opts ...grpc.CallOption) (*Project, error) ReactivateProject(ctx context.Context, in *ProjectID, opts ...grpc.CallOption) (*Project, error) RemoveProject(ctx context.Context, in *ProjectID, opts ...grpc.CallOption) (*empty.Empty, error) // returns all projects my organisation got granted from another organisation SearchGrantedProjects(ctx context.Context, in *GrantedProjectSearchRequest, opts ...grpc.CallOption) (*ProjectGrantSearchResponse, error) // returns a project my organisation got granted from another organisation GetGrantedProjectByID(ctx context.Context, in *ProjectGrantID, opts ...grpc.CallOption) (*ProjectGrantView, error) GetProjectMemberRoles(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*ProjectMemberRoles, error) SearchProjectMembers(ctx context.Context, in *ProjectMemberSearchRequest, opts ...grpc.CallOption) (*ProjectMemberSearchResponse, error) AddProjectMember(ctx context.Context, in *ProjectMemberAdd, opts ...grpc.CallOption) (*ProjectMember, error) ChangeProjectMember(ctx context.Context, in *ProjectMemberChange, opts ...grpc.CallOption) (*ProjectMember, error) RemoveProjectMember(ctx context.Context, in *ProjectMemberRemove, opts ...grpc.CallOption) (*empty.Empty, error) SearchProjectRoles(ctx context.Context, in *ProjectRoleSearchRequest, opts ...grpc.CallOption) (*ProjectRoleSearchResponse, error) AddProjectRole(ctx context.Context, in *ProjectRoleAdd, opts ...grpc.CallOption) (*ProjectRole, error) // add a list of project roles in one request BulkAddProjectRole(ctx context.Context, in *ProjectRoleAddBulk, opts ...grpc.CallOption) (*empty.Empty, error) ChangeProjectRole(ctx context.Context, in *ProjectRoleChange, opts ...grpc.CallOption) (*ProjectRole, error) // RemoveProjectRole removes role from UserGrants, ProjectGrants and from Project RemoveProjectRole(ctx context.Context, in *ProjectRoleRemove, opts ...grpc.CallOption) (*empty.Empty, error) SearchApplications(ctx context.Context, in *ApplicationSearchRequest, opts ...grpc.CallOption) (*ApplicationSearchResponse, error) ApplicationByID(ctx context.Context, in *ApplicationID, opts ...grpc.CallOption) (*ApplicationView, error) CreateOIDCApplication(ctx context.Context, in *OIDCApplicationCreate, opts ...grpc.CallOption) (*Application, error) UpdateApplication(ctx context.Context, in *ApplicationUpdate, opts ...grpc.CallOption) (*Application, error) DeactivateApplication(ctx context.Context, in *ApplicationID, opts ...grpc.CallOption) (*Application, error) ReactivateApplication(ctx context.Context, in *ApplicationID, opts ...grpc.CallOption) (*Application, error) RemoveApplication(ctx context.Context, in *ApplicationID, opts ...grpc.CallOption) (*empty.Empty, error) UpdateApplicationOIDCConfig(ctx context.Context, in *OIDCConfigUpdate, opts ...grpc.CallOption) (*OIDCConfig, error) RegenerateOIDCClientSecret(ctx context.Context, in *ApplicationID, opts ...grpc.CallOption) (*ClientSecret, error) SearchProjectGrants(ctx context.Context, in *ProjectGrantSearchRequest, opts ...grpc.CallOption) (*ProjectGrantSearchResponse, error) ProjectGrantByID(ctx context.Context, in *ProjectGrantID, opts ...grpc.CallOption) (*ProjectGrantView, error) CreateProjectGrant(ctx context.Context, in *ProjectGrantCreate, opts ...grpc.CallOption) (*ProjectGrant, error) UpdateProjectGrant(ctx context.Context, in *ProjectGrantUpdate, opts ...grpc.CallOption) (*ProjectGrant, error) DeactivateProjectGrant(ctx context.Context, in *ProjectGrantID, opts ...grpc.CallOption) (*ProjectGrant, error) ReactivateProjectGrant(ctx context.Context, in *ProjectGrantID, opts ...grpc.CallOption) (*ProjectGrant, error) // RemoveProjectGrant removes project grant and all user grants for this project grant RemoveProjectGrant(ctx context.Context, in *ProjectGrantID, opts ...grpc.CallOption) (*empty.Empty, error) GetProjectGrantMemberRoles(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*ProjectGrantMemberRoles, error) SearchProjectGrantMembers(ctx context.Context, in *ProjectGrantMemberSearchRequest, opts ...grpc.CallOption) (*ProjectGrantMemberSearchResponse, error) AddProjectGrantMember(ctx context.Context, in *ProjectGrantMemberAdd, opts ...grpc.CallOption) (*ProjectGrantMember, error) ChangeProjectGrantMember(ctx context.Context, in *ProjectGrantMemberChange, opts ...grpc.CallOption) (*ProjectGrantMember, error) RemoveProjectGrantMember(ctx context.Context, in *ProjectGrantMemberRemove, opts ...grpc.CallOption) (*empty.Empty, error) SearchUserGrants(ctx context.Context, in *UserGrantSearchRequest, opts ...grpc.CallOption) (*UserGrantSearchResponse, error) UserGrantByID(ctx context.Context, in *UserGrantID, opts ...grpc.CallOption) (*UserGrantView, error) CreateUserGrant(ctx context.Context, in *UserGrantCreate, opts ...grpc.CallOption) (*UserGrant, error) UpdateUserGrant(ctx context.Context, in *UserGrantUpdate, opts ...grpc.CallOption) (*UserGrant, error) DeactivateUserGrant(ctx context.Context, in *UserGrantID, opts ...grpc.CallOption) (*UserGrant, error) ReactivateUserGrant(ctx context.Context, in *UserGrantID, opts ...grpc.CallOption) (*UserGrant, error) RemoveUserGrant(ctx context.Context, in *UserGrantID, opts ...grpc.CallOption) (*empty.Empty, error) // remove a list of user grants in one request BulkRemoveUserGrant(ctx context.Context, in *UserGrantRemoveBulk, opts ...grpc.CallOption) (*empty.Empty, error) // Deprecated: Do not use. // search user grants based on a project // This request is required that the user authorizations of zitadel can be differentiated SearchProjectUserGrants(ctx context.Context, in *ProjectUserGrantSearchRequest, opts ...grpc.CallOption) (*UserGrantSearchResponse, error) // Deprecated: Do not use. // get user grant based on a project // This request is required that the user authorizations of zitadel can be differentiated ProjectUserGrantByID(ctx context.Context, in *ProjectUserGrantID, opts ...grpc.CallOption) (*UserGrantView, error) // Deprecated: Do not use. // create user grant based on a project // This request is required that the user authorizations of zitadel can be differentiated CreateProjectUserGrant(ctx context.Context, in *UserGrantCreate, opts ...grpc.CallOption) (*UserGrant, error) // Deprecated: Do not use. // update user grant based on a project // This request is required that the user authorizations of zitadel can be differentiated UpdateProjectUserGrant(ctx context.Context, in *ProjectUserGrantUpdate, opts ...grpc.CallOption) (*UserGrant, error) // Deprecated: Do not use. // deactivate user grant based on a project // This request is required that the user authorizations of zitadel can be differentiated DeactivateProjectUserGrant(ctx context.Context, in *ProjectUserGrantID, opts ...grpc.CallOption) (*UserGrant, error) // Deprecated: Do not use. // reactivate user grant based on a project // This request is required that the user authorizations of zitadel can be differentiated ReactivateProjectUserGrant(ctx context.Context, in *ProjectUserGrantID, opts ...grpc.CallOption) (*UserGrant, error) // Deprecated: Do not use. // search user grants based on a projectgrant // This request is required that the user authorizations of zitadel can be differentiated SearchProjectGrantUserGrants(ctx context.Context, in *ProjectGrantUserGrantSearchRequest, opts ...grpc.CallOption) (*UserGrantSearchResponse, error) // Deprecated: Do not use. // get user grant based on a projectgrant // This request is required that the user authorizations of zitadel can be differentiated ProjectGrantUserGrantByID(ctx context.Context, in *ProjectGrantUserGrantID, opts ...grpc.CallOption) (*UserGrantView, error) // Deprecated: Do not use. // create user grant based on a projectgrant // This request is required that the user authorizations of zitadel can be differentiated CreateProjectGrantUserGrant(ctx context.Context, in *ProjectGrantUserGrantCreate, opts ...grpc.CallOption) (*UserGrant, error) // Deprecated: Do not use. // update user grant based on a projectgrant // This request is required that the user authorizations of zitadel can be differentiated UpdateProjectGrantUserGrant(ctx context.Context, in *ProjectGrantUserGrantUpdate, opts ...grpc.CallOption) (*UserGrant, error) // Deprecated: Do not use. // deactivate user grant based on a projectgrant // This request is required that the user authorizations of zitadel can be differentiated DeactivateProjectGrantUserGrant(ctx context.Context, in *ProjectGrantUserGrantID, opts ...grpc.CallOption) (*UserGrant, error) // Deprecated: Do not use. // reactivate user grant based on a projectgrant // This request is required that the user authorizations of zitadel can be differentiated ReactivateProjectGrantUserGrant(ctx context.Context, in *ProjectGrantUserGrantID, opts ...grpc.CallOption) (*UserGrant, error) } type managementServiceClient struct { cc grpc.ClientConnInterface } func NewManagementServiceClient(cc grpc.ClientConnInterface) ManagementServiceClient { return &managementServiceClient{cc} } func (c *managementServiceClient) Healthz(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) { out := new(empty.Empty) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/Healthz", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) Ready(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) { out := new(empty.Empty) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/Ready", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) Validate(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*_struct.Struct, error) { out := new(_struct.Struct) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/Validate", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) GetZitadelDocs(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*ZitadelDocs, error) { out := new(ZitadelDocs) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetZitadelDocs", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) GetIam(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Iam, error) { out := new(Iam) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetIam", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) GetUserByID(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*UserView, error) { out := new(UserView) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetUserByID", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) GetUserByEmailGlobal(ctx context.Context, in *Email, opts ...grpc.CallOption) (*UserView, error) { out := new(UserView) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetUserByEmailGlobal", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) SearchUsers(ctx context.Context, in *UserSearchRequest, opts ...grpc.CallOption) (*UserSearchResponse, error) { out := new(UserSearchResponse) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/SearchUsers", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) IsUserUnique(ctx context.Context, in *UniqueUserRequest, opts ...grpc.CallOption) (*UniqueUserResponse, error) { out := new(UniqueUserResponse) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/IsUserUnique", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) CreateUser(ctx context.Context, in *CreateUserRequest, opts ...grpc.CallOption) (*User, error) { out := new(User) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/CreateUser", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) DeactivateUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*User, error) { out := new(User) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/DeactivateUser", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) ReactivateUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*User, error) { out := new(User) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ReactivateUser", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) LockUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*User, error) { out := new(User) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/LockUser", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) UnlockUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*User, error) { out := new(User) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/UnlockUser", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) DeleteUser(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*empty.Empty, error) { out := new(empty.Empty) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/DeleteUser", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) UserChanges(ctx context.Context, in *ChangeRequest, opts ...grpc.CallOption) (*Changes, error) { out := new(Changes) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/UserChanges", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) ApplicationChanges(ctx context.Context, in *ChangeRequest, opts ...grpc.CallOption) (*Changes, error) { out := new(Changes) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ApplicationChanges", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) OrgChanges(ctx context.Context, in *ChangeRequest, opts ...grpc.CallOption) (*Changes, error) { out := new(Changes) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/OrgChanges", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) ProjectChanges(ctx context.Context, in *ChangeRequest, opts ...grpc.CallOption) (*Changes, error) { out := new(Changes) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ProjectChanges", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) GetUserProfile(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*UserProfileView, error) { out := new(UserProfileView) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetUserProfile", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) UpdateUserProfile(ctx context.Context, in *UpdateUserProfileRequest, opts ...grpc.CallOption) (*UserProfile, error) { out := new(UserProfile) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/UpdateUserProfile", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) GetUserEmail(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*UserEmailView, error) { out := new(UserEmailView) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetUserEmail", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) ChangeUserEmail(ctx context.Context, in *UpdateUserEmailRequest, opts ...grpc.CallOption) (*UserEmail, error) { out := new(UserEmail) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ChangeUserEmail", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) ResendEmailVerificationMail(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*empty.Empty, error) { out := new(empty.Empty) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ResendEmailVerificationMail", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) GetUserPhone(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*UserPhoneView, error) { out := new(UserPhoneView) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetUserPhone", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) ChangeUserPhone(ctx context.Context, in *UpdateUserPhoneRequest, opts ...grpc.CallOption) (*UserPhone, error) { out := new(UserPhone) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ChangeUserPhone", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) RemoveUserPhone(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*empty.Empty, error) { out := new(empty.Empty) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/RemoveUserPhone", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) ResendPhoneVerificationCode(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*empty.Empty, error) { out := new(empty.Empty) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ResendPhoneVerificationCode", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) GetUserAddress(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*UserAddressView, error) { out := new(UserAddressView) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetUserAddress", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) UpdateUserAddress(ctx context.Context, in *UpdateUserAddressRequest, opts ...grpc.CallOption) (*UserAddress, error) { out := new(UserAddress) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/UpdateUserAddress", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) GetUserMfas(ctx context.Context, in *UserID, opts ...grpc.CallOption) (*MultiFactors, error) { out := new(MultiFactors) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetUserMfas", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) SendSetPasswordNotification(ctx context.Context, in *SetPasswordNotificationRequest, opts ...grpc.CallOption) (*empty.Empty, error) { out := new(empty.Empty) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/SendSetPasswordNotification", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) SetInitialPassword(ctx context.Context, in *PasswordRequest, opts ...grpc.CallOption) (*empty.Empty, error) { out := new(empty.Empty) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/SetInitialPassword", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) SearchUserMemberships(ctx context.Context, in *UserMembershipSearchRequest, opts ...grpc.CallOption) (*UserMembershipSearchResponse, error) { out := new(UserMembershipSearchResponse) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/SearchUserMemberships", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) GetPasswordComplexityPolicy(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*PasswordComplexityPolicy, error) { out := new(PasswordComplexityPolicy) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetPasswordComplexityPolicy", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) GetDefaultPasswordComplexityPolicy(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*PasswordComplexityPolicy, error) { out := new(PasswordComplexityPolicy) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetDefaultPasswordComplexityPolicy", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) CreatePasswordComplexityPolicy(ctx context.Context, in *PasswordComplexityPolicyCreate, opts ...grpc.CallOption) (*PasswordComplexityPolicy, error) { out := new(PasswordComplexityPolicy) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/CreatePasswordComplexityPolicy", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) UpdatePasswordComplexityPolicy(ctx context.Context, in *PasswordComplexityPolicyUpdate, opts ...grpc.CallOption) (*PasswordComplexityPolicy, error) { out := new(PasswordComplexityPolicy) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/UpdatePasswordComplexityPolicy", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) DeletePasswordComplexityPolicy(ctx context.Context, in *PasswordComplexityPolicyID, opts ...grpc.CallOption) (*empty.Empty, error) { out := new(empty.Empty) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/DeletePasswordComplexityPolicy", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) GetPasswordAgePolicy(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*PasswordAgePolicy, error) { out := new(PasswordAgePolicy) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetPasswordAgePolicy", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) CreatePasswordAgePolicy(ctx context.Context, in *PasswordAgePolicyCreate, opts ...grpc.CallOption) (*PasswordAgePolicy, error) { out := new(PasswordAgePolicy) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/CreatePasswordAgePolicy", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) UpdatePasswordAgePolicy(ctx context.Context, in *PasswordAgePolicyUpdate, opts ...grpc.CallOption) (*PasswordAgePolicy, error) { out := new(PasswordAgePolicy) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/UpdatePasswordAgePolicy", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) DeletePasswordAgePolicy(ctx context.Context, in *PasswordAgePolicyID, opts ...grpc.CallOption) (*empty.Empty, error) { out := new(empty.Empty) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/DeletePasswordAgePolicy", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) GetPasswordLockoutPolicy(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*PasswordLockoutPolicy, error) { out := new(PasswordLockoutPolicy) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetPasswordLockoutPolicy", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) CreatePasswordLockoutPolicy(ctx context.Context, in *PasswordLockoutPolicyCreate, opts ...grpc.CallOption) (*PasswordLockoutPolicy, error) { out := new(PasswordLockoutPolicy) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/CreatePasswordLockoutPolicy", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) UpdatePasswordLockoutPolicy(ctx context.Context, in *PasswordLockoutPolicyUpdate, opts ...grpc.CallOption) (*PasswordLockoutPolicy, error) { out := new(PasswordLockoutPolicy) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/UpdatePasswordLockoutPolicy", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) DeletePasswordLockoutPolicy(ctx context.Context, in *PasswordLockoutPolicyID, opts ...grpc.CallOption) (*empty.Empty, error) { out := new(empty.Empty) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/DeletePasswordLockoutPolicy", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) CreateOrg(ctx context.Context, in *OrgCreateRequest, opts ...grpc.CallOption) (*Org, error) { out := new(Org) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/CreateOrg", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) GetMyOrg(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*OrgView, error) { out := new(OrgView) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetMyOrg", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) GetOrgByDomainGlobal(ctx context.Context, in *Domain, opts ...grpc.CallOption) (*OrgView, error) { out := new(OrgView) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetOrgByDomainGlobal", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) DeactivateMyOrg(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Org, error) { out := new(Org) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/DeactivateMyOrg", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) ReactivateMyOrg(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*Org, error) { out := new(Org) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ReactivateMyOrg", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) SearchMyOrgDomains(ctx context.Context, in *OrgDomainSearchRequest, opts ...grpc.CallOption) (*OrgDomainSearchResponse, error) { out := new(OrgDomainSearchResponse) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/SearchMyOrgDomains", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) AddMyOrgDomain(ctx context.Context, in *AddOrgDomainRequest, opts ...grpc.CallOption) (*OrgDomain, error) { out := new(OrgDomain) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/AddMyOrgDomain", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) RemoveMyOrgDomain(ctx context.Context, in *RemoveOrgDomainRequest, opts ...grpc.CallOption) (*empty.Empty, error) { out := new(empty.Empty) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/RemoveMyOrgDomain", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) GetMyOrgIamPolicy(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*OrgIamPolicy, error) { out := new(OrgIamPolicy) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetMyOrgIamPolicy", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) GetOrgMemberRoles(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*OrgMemberRoles, error) { out := new(OrgMemberRoles) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetOrgMemberRoles", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) AddMyOrgMember(ctx context.Context, in *AddOrgMemberRequest, opts ...grpc.CallOption) (*OrgMember, error) { out := new(OrgMember) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/AddMyOrgMember", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) ChangeMyOrgMember(ctx context.Context, in *ChangeOrgMemberRequest, opts ...grpc.CallOption) (*OrgMember, error) { out := new(OrgMember) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ChangeMyOrgMember", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) RemoveMyOrgMember(ctx context.Context, in *RemoveOrgMemberRequest, opts ...grpc.CallOption) (*empty.Empty, error) { out := new(empty.Empty) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/RemoveMyOrgMember", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) SearchMyOrgMembers(ctx context.Context, in *OrgMemberSearchRequest, opts ...grpc.CallOption) (*OrgMemberSearchResponse, error) { out := new(OrgMemberSearchResponse) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/SearchMyOrgMembers", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) SearchProjects(ctx context.Context, in *ProjectSearchRequest, opts ...grpc.CallOption) (*ProjectSearchResponse, error) { out := new(ProjectSearchResponse) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/SearchProjects", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) ProjectByID(ctx context.Context, in *ProjectID, opts ...grpc.CallOption) (*ProjectView, error) { out := new(ProjectView) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ProjectByID", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) CreateProject(ctx context.Context, in *ProjectCreateRequest, opts ...grpc.CallOption) (*Project, error) { out := new(Project) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/CreateProject", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) UpdateProject(ctx context.Context, in *ProjectUpdateRequest, opts ...grpc.CallOption) (*Project, error) { out := new(Project) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/UpdateProject", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) DeactivateProject(ctx context.Context, in *ProjectID, opts ...grpc.CallOption) (*Project, error) { out := new(Project) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/DeactivateProject", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) ReactivateProject(ctx context.Context, in *ProjectID, opts ...grpc.CallOption) (*Project, error) { out := new(Project) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ReactivateProject", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) RemoveProject(ctx context.Context, in *ProjectID, opts ...grpc.CallOption) (*empty.Empty, error) { out := new(empty.Empty) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/RemoveProject", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) SearchGrantedProjects(ctx context.Context, in *GrantedProjectSearchRequest, opts ...grpc.CallOption) (*ProjectGrantSearchResponse, error) { out := new(ProjectGrantSearchResponse) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/SearchGrantedProjects", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) GetGrantedProjectByID(ctx context.Context, in *ProjectGrantID, opts ...grpc.CallOption) (*ProjectGrantView, error) { out := new(ProjectGrantView) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetGrantedProjectByID", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) GetProjectMemberRoles(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*ProjectMemberRoles, error) { out := new(ProjectMemberRoles) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetProjectMemberRoles", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) SearchProjectMembers(ctx context.Context, in *ProjectMemberSearchRequest, opts ...grpc.CallOption) (*ProjectMemberSearchResponse, error) { out := new(ProjectMemberSearchResponse) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/SearchProjectMembers", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) AddProjectMember(ctx context.Context, in *ProjectMemberAdd, opts ...grpc.CallOption) (*ProjectMember, error) { out := new(ProjectMember) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/AddProjectMember", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) ChangeProjectMember(ctx context.Context, in *ProjectMemberChange, opts ...grpc.CallOption) (*ProjectMember, error) { out := new(ProjectMember) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ChangeProjectMember", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) RemoveProjectMember(ctx context.Context, in *ProjectMemberRemove, opts ...grpc.CallOption) (*empty.Empty, error) { out := new(empty.Empty) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/RemoveProjectMember", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) SearchProjectRoles(ctx context.Context, in *ProjectRoleSearchRequest, opts ...grpc.CallOption) (*ProjectRoleSearchResponse, error) { out := new(ProjectRoleSearchResponse) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/SearchProjectRoles", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) AddProjectRole(ctx context.Context, in *ProjectRoleAdd, opts ...grpc.CallOption) (*ProjectRole, error) { out := new(ProjectRole) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/AddProjectRole", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) BulkAddProjectRole(ctx context.Context, in *ProjectRoleAddBulk, opts ...grpc.CallOption) (*empty.Empty, error) { out := new(empty.Empty) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/BulkAddProjectRole", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) ChangeProjectRole(ctx context.Context, in *ProjectRoleChange, opts ...grpc.CallOption) (*ProjectRole, error) { out := new(ProjectRole) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ChangeProjectRole", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) RemoveProjectRole(ctx context.Context, in *ProjectRoleRemove, opts ...grpc.CallOption) (*empty.Empty, error) { out := new(empty.Empty) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/RemoveProjectRole", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) SearchApplications(ctx context.Context, in *ApplicationSearchRequest, opts ...grpc.CallOption) (*ApplicationSearchResponse, error) { out := new(ApplicationSearchResponse) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/SearchApplications", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) ApplicationByID(ctx context.Context, in *ApplicationID, opts ...grpc.CallOption) (*ApplicationView, error) { out := new(ApplicationView) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ApplicationByID", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) CreateOIDCApplication(ctx context.Context, in *OIDCApplicationCreate, opts ...grpc.CallOption) (*Application, error) { out := new(Application) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/CreateOIDCApplication", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) UpdateApplication(ctx context.Context, in *ApplicationUpdate, opts ...grpc.CallOption) (*Application, error) { out := new(Application) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/UpdateApplication", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) DeactivateApplication(ctx context.Context, in *ApplicationID, opts ...grpc.CallOption) (*Application, error) { out := new(Application) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/DeactivateApplication", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) ReactivateApplication(ctx context.Context, in *ApplicationID, opts ...grpc.CallOption) (*Application, error) { out := new(Application) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ReactivateApplication", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) RemoveApplication(ctx context.Context, in *ApplicationID, opts ...grpc.CallOption) (*empty.Empty, error) { out := new(empty.Empty) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/RemoveApplication", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) UpdateApplicationOIDCConfig(ctx context.Context, in *OIDCConfigUpdate, opts ...grpc.CallOption) (*OIDCConfig, error) { out := new(OIDCConfig) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/UpdateApplicationOIDCConfig", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) RegenerateOIDCClientSecret(ctx context.Context, in *ApplicationID, opts ...grpc.CallOption) (*ClientSecret, error) { out := new(ClientSecret) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/RegenerateOIDCClientSecret", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) SearchProjectGrants(ctx context.Context, in *ProjectGrantSearchRequest, opts ...grpc.CallOption) (*ProjectGrantSearchResponse, error) { out := new(ProjectGrantSearchResponse) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/SearchProjectGrants", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) ProjectGrantByID(ctx context.Context, in *ProjectGrantID, opts ...grpc.CallOption) (*ProjectGrantView, error) { out := new(ProjectGrantView) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ProjectGrantByID", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) CreateProjectGrant(ctx context.Context, in *ProjectGrantCreate, opts ...grpc.CallOption) (*ProjectGrant, error) { out := new(ProjectGrant) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/CreateProjectGrant", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) UpdateProjectGrant(ctx context.Context, in *ProjectGrantUpdate, opts ...grpc.CallOption) (*ProjectGrant, error) { out := new(ProjectGrant) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/UpdateProjectGrant", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) DeactivateProjectGrant(ctx context.Context, in *ProjectGrantID, opts ...grpc.CallOption) (*ProjectGrant, error) { out := new(ProjectGrant) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/DeactivateProjectGrant", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) ReactivateProjectGrant(ctx context.Context, in *ProjectGrantID, opts ...grpc.CallOption) (*ProjectGrant, error) { out := new(ProjectGrant) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ReactivateProjectGrant", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) RemoveProjectGrant(ctx context.Context, in *ProjectGrantID, opts ...grpc.CallOption) (*empty.Empty, error) { out := new(empty.Empty) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/RemoveProjectGrant", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) GetProjectGrantMemberRoles(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*ProjectGrantMemberRoles, error) { out := new(ProjectGrantMemberRoles) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/GetProjectGrantMemberRoles", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) SearchProjectGrantMembers(ctx context.Context, in *ProjectGrantMemberSearchRequest, opts ...grpc.CallOption) (*ProjectGrantMemberSearchResponse, error) { out := new(ProjectGrantMemberSearchResponse) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/SearchProjectGrantMembers", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) AddProjectGrantMember(ctx context.Context, in *ProjectGrantMemberAdd, opts ...grpc.CallOption) (*ProjectGrantMember, error) { out := new(ProjectGrantMember) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/AddProjectGrantMember", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) ChangeProjectGrantMember(ctx context.Context, in *ProjectGrantMemberChange, opts ...grpc.CallOption) (*ProjectGrantMember, error) { out := new(ProjectGrantMember) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ChangeProjectGrantMember", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) RemoveProjectGrantMember(ctx context.Context, in *ProjectGrantMemberRemove, opts ...grpc.CallOption) (*empty.Empty, error) { out := new(empty.Empty) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/RemoveProjectGrantMember", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) SearchUserGrants(ctx context.Context, in *UserGrantSearchRequest, opts ...grpc.CallOption) (*UserGrantSearchResponse, error) { out := new(UserGrantSearchResponse) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/SearchUserGrants", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) UserGrantByID(ctx context.Context, in *UserGrantID, opts ...grpc.CallOption) (*UserGrantView, error) { out := new(UserGrantView) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/UserGrantByID", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) CreateUserGrant(ctx context.Context, in *UserGrantCreate, opts ...grpc.CallOption) (*UserGrant, error) { out := new(UserGrant) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/CreateUserGrant", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) UpdateUserGrant(ctx context.Context, in *UserGrantUpdate, opts ...grpc.CallOption) (*UserGrant, error) { out := new(UserGrant) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/UpdateUserGrant", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) DeactivateUserGrant(ctx context.Context, in *UserGrantID, opts ...grpc.CallOption) (*UserGrant, error) { out := new(UserGrant) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/DeactivateUserGrant", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) ReactivateUserGrant(ctx context.Context, in *UserGrantID, opts ...grpc.CallOption) (*UserGrant, error) { out := new(UserGrant) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ReactivateUserGrant", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) RemoveUserGrant(ctx context.Context, in *UserGrantID, opts ...grpc.CallOption) (*empty.Empty, error) { out := new(empty.Empty) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/RemoveUserGrant", in, out, opts...) if err != nil { return nil, err } return out, nil } func (c *managementServiceClient) BulkRemoveUserGrant(ctx context.Context, in *UserGrantRemoveBulk, opts ...grpc.CallOption) (*empty.Empty, error) { out := new(empty.Empty) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/BulkRemoveUserGrant", in, out, opts...) if err != nil { return nil, err } return out, nil } // Deprecated: Do not use. func (c *managementServiceClient) SearchProjectUserGrants(ctx context.Context, in *ProjectUserGrantSearchRequest, opts ...grpc.CallOption) (*UserGrantSearchResponse, error) { out := new(UserGrantSearchResponse) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/SearchProjectUserGrants", in, out, opts...) if err != nil { return nil, err } return out, nil } // Deprecated: Do not use. func (c *managementServiceClient) ProjectUserGrantByID(ctx context.Context, in *ProjectUserGrantID, opts ...grpc.CallOption) (*UserGrantView, error) { out := new(UserGrantView) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ProjectUserGrantByID", in, out, opts...) if err != nil { return nil, err } return out, nil } // Deprecated: Do not use. func (c *managementServiceClient) CreateProjectUserGrant(ctx context.Context, in *UserGrantCreate, opts ...grpc.CallOption) (*UserGrant, error) { out := new(UserGrant) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/CreateProjectUserGrant", in, out, opts...) if err != nil { return nil, err } return out, nil } // Deprecated: Do not use. func (c *managementServiceClient) UpdateProjectUserGrant(ctx context.Context, in *ProjectUserGrantUpdate, opts ...grpc.CallOption) (*UserGrant, error) { out := new(UserGrant) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/UpdateProjectUserGrant", in, out, opts...) if err != nil { return nil, err } return out, nil } // Deprecated: Do not use. func (c *managementServiceClient) DeactivateProjectUserGrant(ctx context.Context, in *ProjectUserGrantID, opts ...grpc.CallOption) (*UserGrant, error) { out := new(UserGrant) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/DeactivateProjectUserGrant", in, out, opts...) if err != nil { return nil, err } return out, nil } // Deprecated: Do not use. func (c *managementServiceClient) ReactivateProjectUserGrant(ctx context.Context, in *ProjectUserGrantID, opts ...grpc.CallOption) (*UserGrant, error) { out := new(UserGrant) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ReactivateProjectUserGrant", in, out, opts...) if err != nil { return nil, err } return out, nil } // Deprecated: Do not use. func (c *managementServiceClient) SearchProjectGrantUserGrants(ctx context.Context, in *ProjectGrantUserGrantSearchRequest, opts ...grpc.CallOption) (*UserGrantSearchResponse, error) { out := new(UserGrantSearchResponse) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/SearchProjectGrantUserGrants", in, out, opts...) if err != nil { return nil, err } return out, nil } // Deprecated: Do not use. func (c *managementServiceClient) ProjectGrantUserGrantByID(ctx context.Context, in *ProjectGrantUserGrantID, opts ...grpc.CallOption) (*UserGrantView, error) { out := new(UserGrantView) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ProjectGrantUserGrantByID", in, out, opts...) if err != nil { return nil, err } return out, nil } // Deprecated: Do not use. func (c *managementServiceClient) CreateProjectGrantUserGrant(ctx context.Context, in *ProjectGrantUserGrantCreate, opts ...grpc.CallOption) (*UserGrant, error) { out := new(UserGrant) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/CreateProjectGrantUserGrant", in, out, opts...) if err != nil { return nil, err } return out, nil } // Deprecated: Do not use. func (c *managementServiceClient) UpdateProjectGrantUserGrant(ctx context.Context, in *ProjectGrantUserGrantUpdate, opts ...grpc.CallOption) (*UserGrant, error) { out := new(UserGrant) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/UpdateProjectGrantUserGrant", in, out, opts...) if err != nil { return nil, err } return out, nil } // Deprecated: Do not use. func (c *managementServiceClient) DeactivateProjectGrantUserGrant(ctx context.Context, in *ProjectGrantUserGrantID, opts ...grpc.CallOption) (*UserGrant, error) { out := new(UserGrant) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/DeactivateProjectGrantUserGrant", in, out, opts...) if err != nil { return nil, err } return out, nil } // Deprecated: Do not use. func (c *managementServiceClient) ReactivateProjectGrantUserGrant(ctx context.Context, in *ProjectGrantUserGrantID, opts ...grpc.CallOption) (*UserGrant, error) { out := new(UserGrant) err := c.cc.Invoke(ctx, "/caos.zitadel.management.api.v1.ManagementService/ReactivateProjectGrantUserGrant", in, out, opts...) if err != nil { return nil, err } return out, nil } // ManagementServiceServer is the server API for ManagementService service. type ManagementServiceServer interface { //READINESS Healthz(context.Context, *empty.Empty) (*empty.Empty, error) Ready(context.Context, *empty.Empty) (*empty.Empty, error) Validate(context.Context, *empty.Empty) (*_struct.Struct, error) GetZitadelDocs(context.Context, *empty.Empty) (*ZitadelDocs, error) // GetIam returns some needed settings of the iam (Global Organisation ID, Zitadel Project ID) GetIam(context.Context, *empty.Empty) (*Iam, error) GetUserByID(context.Context, *UserID) (*UserView, error) // GetUserByEmailGlobal returns User, global search is overall organisations GetUserByEmailGlobal(context.Context, *Email) (*UserView, error) // Limit should always be set, there is a default limit set by the service SearchUsers(context.Context, *UserSearchRequest) (*UserSearchResponse, error) IsUserUnique(context.Context, *UniqueUserRequest) (*UniqueUserResponse, error) CreateUser(context.Context, *CreateUserRequest) (*User, error) DeactivateUser(context.Context, *UserID) (*User, error) ReactivateUser(context.Context, *UserID) (*User, error) LockUser(context.Context, *UserID) (*User, error) UnlockUser(context.Context, *UserID) (*User, error) DeleteUser(context.Context, *UserID) (*empty.Empty, error) // UserChanges returns the event stream of the user object UserChanges(context.Context, *ChangeRequest) (*Changes, error) // ApplicationChanges returns the event stream of the application object ApplicationChanges(context.Context, *ChangeRequest) (*Changes, error) // OrgChanges returns the event stream of the org object OrgChanges(context.Context, *ChangeRequest) (*Changes, error) // ProjectChanges returns the event stream of the project object ProjectChanges(context.Context, *ChangeRequest) (*Changes, error) GetUserProfile(context.Context, *UserID) (*UserProfileView, error) UpdateUserProfile(context.Context, *UpdateUserProfileRequest) (*UserProfile, error) GetUserEmail(context.Context, *UserID) (*UserEmailView, error) ChangeUserEmail(context.Context, *UpdateUserEmailRequest) (*UserEmail, error) ResendEmailVerificationMail(context.Context, *UserID) (*empty.Empty, error) GetUserPhone(context.Context, *UserID) (*UserPhoneView, error) ChangeUserPhone(context.Context, *UpdateUserPhoneRequest) (*UserPhone, error) RemoveUserPhone(context.Context, *UserID) (*empty.Empty, error) ResendPhoneVerificationCode(context.Context, *UserID) (*empty.Empty, error) GetUserAddress(context.Context, *UserID) (*UserAddressView, error) UpdateUserAddress(context.Context, *UpdateUserAddressRequest) (*UserAddress, error) GetUserMfas(context.Context, *UserID) (*MultiFactors, error) // Sends an Notification (Email/SMS) with a password reset Link SendSetPasswordNotification(context.Context, *SetPasswordNotificationRequest) (*empty.Empty, error) // A Manager is only allowed to set an initial password, on the next login the user has to change his password SetInitialPassword(context.Context, *PasswordRequest) (*empty.Empty, error) SearchUserMemberships(context.Context, *UserMembershipSearchRequest) (*UserMembershipSearchResponse, error) // returns default policy if nothing other set on organisation GetPasswordComplexityPolicy(context.Context, *empty.Empty) (*PasswordComplexityPolicy, error) GetDefaultPasswordComplexityPolicy(context.Context, *empty.Empty) (*PasswordComplexityPolicy, error) CreatePasswordComplexityPolicy(context.Context, *PasswordComplexityPolicyCreate) (*PasswordComplexityPolicy, error) UpdatePasswordComplexityPolicy(context.Context, *PasswordComplexityPolicyUpdate) (*PasswordComplexityPolicy, error) DeletePasswordComplexityPolicy(context.Context, *PasswordComplexityPolicyID) (*empty.Empty, error) // returns default if nothing other set on organisation GetPasswordAgePolicy(context.Context, *empty.Empty) (*PasswordAgePolicy, error) CreatePasswordAgePolicy(context.Context, *PasswordAgePolicyCreate) (*PasswordAgePolicy, error) UpdatePasswordAgePolicy(context.Context, *PasswordAgePolicyUpdate) (*PasswordAgePolicy, error) DeletePasswordAgePolicy(context.Context, *PasswordAgePolicyID) (*empty.Empty, error) // returns default if nothing other set on organisation GetPasswordLockoutPolicy(context.Context, *empty.Empty) (*PasswordLockoutPolicy, error) CreatePasswordLockoutPolicy(context.Context, *PasswordLockoutPolicyCreate) (*PasswordLockoutPolicy, error) UpdatePasswordLockoutPolicy(context.Context, *PasswordLockoutPolicyUpdate) (*PasswordLockoutPolicy, error) DeletePasswordLockoutPolicy(context.Context, *PasswordLockoutPolicyID) (*empty.Empty, error) CreateOrg(context.Context, *OrgCreateRequest) (*Org, error) GetMyOrg(context.Context, *empty.Empty) (*OrgView, error) // search a organisation by its domain overall organisations GetOrgByDomainGlobal(context.Context, *Domain) (*OrgView, error) DeactivateMyOrg(context.Context, *empty.Empty) (*Org, error) ReactivateMyOrg(context.Context, *empty.Empty) (*Org, error) SearchMyOrgDomains(context.Context, *OrgDomainSearchRequest) (*OrgDomainSearchResponse, error) AddMyOrgDomain(context.Context, *AddOrgDomainRequest) (*OrgDomain, error) RemoveMyOrgDomain(context.Context, *RemoveOrgDomainRequest) (*empty.Empty, error) GetMyOrgIamPolicy(context.Context, *empty.Empty) (*OrgIamPolicy, error) GetOrgMemberRoles(context.Context, *empty.Empty) (*OrgMemberRoles, error) AddMyOrgMember(context.Context, *AddOrgMemberRequest) (*OrgMember, error) ChangeMyOrgMember(context.Context, *ChangeOrgMemberRequest) (*OrgMember, error) RemoveMyOrgMember(context.Context, *RemoveOrgMemberRequest) (*empty.Empty, error) SearchMyOrgMembers(context.Context, *OrgMemberSearchRequest) (*OrgMemberSearchResponse, error) SearchProjects(context.Context, *ProjectSearchRequest) (*ProjectSearchResponse, error) ProjectByID(context.Context, *ProjectID) (*ProjectView, error) CreateProject(context.Context, *ProjectCreateRequest) (*Project, error) UpdateProject(context.Context, *ProjectUpdateRequest) (*Project, error) DeactivateProject(context.Context, *ProjectID) (*Project, error) ReactivateProject(context.Context, *ProjectID) (*Project, error) RemoveProject(context.Context, *ProjectID) (*empty.Empty, error) // returns all projects my organisation got granted from another organisation SearchGrantedProjects(context.Context, *GrantedProjectSearchRequest) (*ProjectGrantSearchResponse, error) // returns a project my organisation got granted from another organisation GetGrantedProjectByID(context.Context, *ProjectGrantID) (*ProjectGrantView, error) GetProjectMemberRoles(context.Context, *empty.Empty) (*ProjectMemberRoles, error) SearchProjectMembers(context.Context, *ProjectMemberSearchRequest) (*ProjectMemberSearchResponse, error) AddProjectMember(context.Context, *ProjectMemberAdd) (*ProjectMember, error) ChangeProjectMember(context.Context, *ProjectMemberChange) (*ProjectMember, error) RemoveProjectMember(context.Context, *ProjectMemberRemove) (*empty.Empty, error) SearchProjectRoles(context.Context, *ProjectRoleSearchRequest) (*ProjectRoleSearchResponse, error) AddProjectRole(context.Context, *ProjectRoleAdd) (*ProjectRole, error) // add a list of project roles in one request BulkAddProjectRole(context.Context, *ProjectRoleAddBulk) (*empty.Empty, error) ChangeProjectRole(context.Context, *ProjectRoleChange) (*ProjectRole, error) // RemoveProjectRole removes role from UserGrants, ProjectGrants and from Project RemoveProjectRole(context.Context, *ProjectRoleRemove) (*empty.Empty, error) SearchApplications(context.Context, *ApplicationSearchRequest) (*ApplicationSearchResponse, error) ApplicationByID(context.Context, *ApplicationID) (*ApplicationView, error) CreateOIDCApplication(context.Context, *OIDCApplicationCreate) (*Application, error) UpdateApplication(context.Context, *ApplicationUpdate) (*Application, error) DeactivateApplication(context.Context, *ApplicationID) (*Application, error) ReactivateApplication(context.Context, *ApplicationID) (*Application, error) RemoveApplication(context.Context, *ApplicationID) (*empty.Empty, error) UpdateApplicationOIDCConfig(context.Context, *OIDCConfigUpdate) (*OIDCConfig, error) RegenerateOIDCClientSecret(context.Context, *ApplicationID) (*ClientSecret, error) SearchProjectGrants(context.Context, *ProjectGrantSearchRequest) (*ProjectGrantSearchResponse, error) ProjectGrantByID(context.Context, *ProjectGrantID) (*ProjectGrantView, error) CreateProjectGrant(context.Context, *ProjectGrantCreate) (*ProjectGrant, error) UpdateProjectGrant(context.Context, *ProjectGrantUpdate) (*ProjectGrant, error) DeactivateProjectGrant(context.Context, *ProjectGrantID) (*ProjectGrant, error) ReactivateProjectGrant(context.Context, *ProjectGrantID) (*ProjectGrant, error) // RemoveProjectGrant removes project grant and all user grants for this project grant RemoveProjectGrant(context.Context, *ProjectGrantID) (*empty.Empty, error) GetProjectGrantMemberRoles(context.Context, *empty.Empty) (*ProjectGrantMemberRoles, error) SearchProjectGrantMembers(context.Context, *ProjectGrantMemberSearchRequest) (*ProjectGrantMemberSearchResponse, error) AddProjectGrantMember(context.Context, *ProjectGrantMemberAdd) (*ProjectGrantMember, error) ChangeProjectGrantMember(context.Context, *ProjectGrantMemberChange) (*ProjectGrantMember, error) RemoveProjectGrantMember(context.Context, *ProjectGrantMemberRemove) (*empty.Empty, error) SearchUserGrants(context.Context, *UserGrantSearchRequest) (*UserGrantSearchResponse, error) UserGrantByID(context.Context, *UserGrantID) (*UserGrantView, error) CreateUserGrant(context.Context, *UserGrantCreate) (*UserGrant, error) UpdateUserGrant(context.Context, *UserGrantUpdate) (*UserGrant, error) DeactivateUserGrant(context.Context, *UserGrantID) (*UserGrant, error) ReactivateUserGrant(context.Context, *UserGrantID) (*UserGrant, error) RemoveUserGrant(context.Context, *UserGrantID) (*empty.Empty, error) // remove a list of user grants in one request BulkRemoveUserGrant(context.Context, *UserGrantRemoveBulk) (*empty.Empty, error) // Deprecated: Do not use. // search user grants based on a project // This request is required that the user authorizations of zitadel can be differentiated SearchProjectUserGrants(context.Context, *ProjectUserGrantSearchRequest) (*UserGrantSearchResponse, error) // Deprecated: Do not use. // get user grant based on a project // This request is required that the user authorizations of zitadel can be differentiated ProjectUserGrantByID(context.Context, *ProjectUserGrantID) (*UserGrantView, error) // Deprecated: Do not use. // create user grant based on a project // This request is required that the user authorizations of zitadel can be differentiated CreateProjectUserGrant(context.Context, *UserGrantCreate) (*UserGrant, error) // Deprecated: Do not use. // update user grant based on a project // This request is required that the user authorizations of zitadel can be differentiated UpdateProjectUserGrant(context.Context, *ProjectUserGrantUpdate) (*UserGrant, error) // Deprecated: Do not use. // deactivate user grant based on a project // This request is required that the user authorizations of zitadel can be differentiated DeactivateProjectUserGrant(context.Context, *ProjectUserGrantID) (*UserGrant, error) // Deprecated: Do not use. // reactivate user grant based on a project // This request is required that the user authorizations of zitadel can be differentiated ReactivateProjectUserGrant(context.Context, *ProjectUserGrantID) (*UserGrant, error) // Deprecated: Do not use. // search user grants based on a projectgrant // This request is required that the user authorizations of zitadel can be differentiated SearchProjectGrantUserGrants(context.Context, *ProjectGrantUserGrantSearchRequest) (*UserGrantSearchResponse, error) // Deprecated: Do not use. // get user grant based on a projectgrant // This request is required that the user authorizations of zitadel can be differentiated ProjectGrantUserGrantByID(context.Context, *ProjectGrantUserGrantID) (*UserGrantView, error) // Deprecated: Do not use. // create user grant based on a projectgrant // This request is required that the user authorizations of zitadel can be differentiated CreateProjectGrantUserGrant(context.Context, *ProjectGrantUserGrantCreate) (*UserGrant, error) // Deprecated: Do not use. // update user grant based on a projectgrant // This request is required that the user authorizations of zitadel can be differentiated UpdateProjectGrantUserGrant(context.Context, *ProjectGrantUserGrantUpdate) (*UserGrant, error) // Deprecated: Do not use. // deactivate user grant based on a projectgrant // This request is required that the user authorizations of zitadel can be differentiated DeactivateProjectGrantUserGrant(context.Context, *ProjectGrantUserGrantID) (*UserGrant, error) // Deprecated: Do not use. // reactivate user grant based on a projectgrant // This request is required that the user authorizations of zitadel can be differentiated ReactivateProjectGrantUserGrant(context.Context, *ProjectGrantUserGrantID) (*UserGrant, error) } // UnimplementedManagementServiceServer can be embedded to have forward compatible implementations. type UnimplementedManagementServiceServer struct { } func (*UnimplementedManagementServiceServer) Healthz(context.Context, *empty.Empty) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method Healthz not implemented") } func (*UnimplementedManagementServiceServer) Ready(context.Context, *empty.Empty) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method Ready not implemented") } func (*UnimplementedManagementServiceServer) Validate(context.Context, *empty.Empty) (*_struct.Struct, error) { return nil, status.Errorf(codes.Unimplemented, "method Validate not implemented") } func (*UnimplementedManagementServiceServer) GetZitadelDocs(context.Context, *empty.Empty) (*ZitadelDocs, error) { return nil, status.Errorf(codes.Unimplemented, "method GetZitadelDocs not implemented") } func (*UnimplementedManagementServiceServer) GetIam(context.Context, *empty.Empty) (*Iam, error) { return nil, status.Errorf(codes.Unimplemented, "method GetIam not implemented") } func (*UnimplementedManagementServiceServer) GetUserByID(context.Context, *UserID) (*UserView, error) { return nil, status.Errorf(codes.Unimplemented, "method GetUserByID not implemented") } func (*UnimplementedManagementServiceServer) GetUserByEmailGlobal(context.Context, *Email) (*UserView, error) { return nil, status.Errorf(codes.Unimplemented, "method GetUserByEmailGlobal not implemented") } func (*UnimplementedManagementServiceServer) SearchUsers(context.Context, *UserSearchRequest) (*UserSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchUsers not implemented") } func (*UnimplementedManagementServiceServer) IsUserUnique(context.Context, *UniqueUserRequest) (*UniqueUserResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method IsUserUnique not implemented") } func (*UnimplementedManagementServiceServer) CreateUser(context.Context, *CreateUserRequest) (*User, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateUser not implemented") } func (*UnimplementedManagementServiceServer) DeactivateUser(context.Context, *UserID) (*User, error) { return nil, status.Errorf(codes.Unimplemented, "method DeactivateUser not implemented") } func (*UnimplementedManagementServiceServer) ReactivateUser(context.Context, *UserID) (*User, error) { return nil, status.Errorf(codes.Unimplemented, "method ReactivateUser not implemented") } func (*UnimplementedManagementServiceServer) LockUser(context.Context, *UserID) (*User, error) { return nil, status.Errorf(codes.Unimplemented, "method LockUser not implemented") } func (*UnimplementedManagementServiceServer) UnlockUser(context.Context, *UserID) (*User, error) { return nil, status.Errorf(codes.Unimplemented, "method UnlockUser not implemented") } func (*UnimplementedManagementServiceServer) DeleteUser(context.Context, *UserID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteUser not implemented") } func (*UnimplementedManagementServiceServer) UserChanges(context.Context, *ChangeRequest) (*Changes, error) { return nil, status.Errorf(codes.Unimplemented, "method UserChanges not implemented") } func (*UnimplementedManagementServiceServer) ApplicationChanges(context.Context, *ChangeRequest) (*Changes, error) { return nil, status.Errorf(codes.Unimplemented, "method ApplicationChanges not implemented") } func (*UnimplementedManagementServiceServer) OrgChanges(context.Context, *ChangeRequest) (*Changes, error) { return nil, status.Errorf(codes.Unimplemented, "method OrgChanges not implemented") } func (*UnimplementedManagementServiceServer) ProjectChanges(context.Context, *ChangeRequest) (*Changes, error) { return nil, status.Errorf(codes.Unimplemented, "method ProjectChanges not implemented") } func (*UnimplementedManagementServiceServer) GetUserProfile(context.Context, *UserID) (*UserProfileView, error) { return nil, status.Errorf(codes.Unimplemented, "method GetUserProfile not implemented") } func (*UnimplementedManagementServiceServer) UpdateUserProfile(context.Context, *UpdateUserProfileRequest) (*UserProfile, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateUserProfile not implemented") } func (*UnimplementedManagementServiceServer) GetUserEmail(context.Context, *UserID) (*UserEmailView, error) { return nil, status.Errorf(codes.Unimplemented, "method GetUserEmail not implemented") } func (*UnimplementedManagementServiceServer) ChangeUserEmail(context.Context, *UpdateUserEmailRequest) (*UserEmail, error) { return nil, status.Errorf(codes.Unimplemented, "method ChangeUserEmail not implemented") } func (*UnimplementedManagementServiceServer) ResendEmailVerificationMail(context.Context, *UserID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method ResendEmailVerificationMail not implemented") } func (*UnimplementedManagementServiceServer) GetUserPhone(context.Context, *UserID) (*UserPhoneView, error) { return nil, status.Errorf(codes.Unimplemented, "method GetUserPhone not implemented") } func (*UnimplementedManagementServiceServer) ChangeUserPhone(context.Context, *UpdateUserPhoneRequest) (*UserPhone, error) { return nil, status.Errorf(codes.Unimplemented, "method ChangeUserPhone not implemented") } func (*UnimplementedManagementServiceServer) RemoveUserPhone(context.Context, *UserID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveUserPhone not implemented") } func (*UnimplementedManagementServiceServer) ResendPhoneVerificationCode(context.Context, *UserID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method ResendPhoneVerificationCode not implemented") } func (*UnimplementedManagementServiceServer) GetUserAddress(context.Context, *UserID) (*UserAddressView, error) { return nil, status.Errorf(codes.Unimplemented, "method GetUserAddress not implemented") } func (*UnimplementedManagementServiceServer) UpdateUserAddress(context.Context, *UpdateUserAddressRequest) (*UserAddress, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateUserAddress not implemented") } func (*UnimplementedManagementServiceServer) GetUserMfas(context.Context, *UserID) (*MultiFactors, error) { return nil, status.Errorf(codes.Unimplemented, "method GetUserMfas not implemented") } func (*UnimplementedManagementServiceServer) SendSetPasswordNotification(context.Context, *SetPasswordNotificationRequest) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method SendSetPasswordNotification not implemented") } func (*UnimplementedManagementServiceServer) SetInitialPassword(context.Context, *PasswordRequest) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method SetInitialPassword not implemented") } func (*UnimplementedManagementServiceServer) SearchUserMemberships(context.Context, *UserMembershipSearchRequest) (*UserMembershipSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchUserMemberships not implemented") } func (*UnimplementedManagementServiceServer) GetPasswordComplexityPolicy(context.Context, *empty.Empty) (*PasswordComplexityPolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method GetPasswordComplexityPolicy not implemented") } func (*UnimplementedManagementServiceServer) GetDefaultPasswordComplexityPolicy(context.Context, *empty.Empty) (*PasswordComplexityPolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method GetDefaultPasswordComplexityPolicy not implemented") } func (*UnimplementedManagementServiceServer) CreatePasswordComplexityPolicy(context.Context, *PasswordComplexityPolicyCreate) (*PasswordComplexityPolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method CreatePasswordComplexityPolicy not implemented") } func (*UnimplementedManagementServiceServer) UpdatePasswordComplexityPolicy(context.Context, *PasswordComplexityPolicyUpdate) (*PasswordComplexityPolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdatePasswordComplexityPolicy not implemented") } func (*UnimplementedManagementServiceServer) DeletePasswordComplexityPolicy(context.Context, *PasswordComplexityPolicyID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method DeletePasswordComplexityPolicy not implemented") } func (*UnimplementedManagementServiceServer) GetPasswordAgePolicy(context.Context, *empty.Empty) (*PasswordAgePolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method GetPasswordAgePolicy not implemented") } func (*UnimplementedManagementServiceServer) CreatePasswordAgePolicy(context.Context, *PasswordAgePolicyCreate) (*PasswordAgePolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method CreatePasswordAgePolicy not implemented") } func (*UnimplementedManagementServiceServer) UpdatePasswordAgePolicy(context.Context, *PasswordAgePolicyUpdate) (*PasswordAgePolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdatePasswordAgePolicy not implemented") } func (*UnimplementedManagementServiceServer) DeletePasswordAgePolicy(context.Context, *PasswordAgePolicyID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method DeletePasswordAgePolicy not implemented") } func (*UnimplementedManagementServiceServer) GetPasswordLockoutPolicy(context.Context, *empty.Empty) (*PasswordLockoutPolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method GetPasswordLockoutPolicy not implemented") } func (*UnimplementedManagementServiceServer) CreatePasswordLockoutPolicy(context.Context, *PasswordLockoutPolicyCreate) (*PasswordLockoutPolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method CreatePasswordLockoutPolicy not implemented") } func (*UnimplementedManagementServiceServer) UpdatePasswordLockoutPolicy(context.Context, *PasswordLockoutPolicyUpdate) (*PasswordLockoutPolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdatePasswordLockoutPolicy not implemented") } func (*UnimplementedManagementServiceServer) DeletePasswordLockoutPolicy(context.Context, *PasswordLockoutPolicyID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method DeletePasswordLockoutPolicy not implemented") } func (*UnimplementedManagementServiceServer) CreateOrg(context.Context, *OrgCreateRequest) (*Org, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateOrg not implemented") } func (*UnimplementedManagementServiceServer) GetMyOrg(context.Context, *empty.Empty) (*OrgView, error) { return nil, status.Errorf(codes.Unimplemented, "method GetMyOrg not implemented") } func (*UnimplementedManagementServiceServer) GetOrgByDomainGlobal(context.Context, *Domain) (*OrgView, error) { return nil, status.Errorf(codes.Unimplemented, "method GetOrgByDomainGlobal not implemented") } func (*UnimplementedManagementServiceServer) DeactivateMyOrg(context.Context, *empty.Empty) (*Org, error) { return nil, status.Errorf(codes.Unimplemented, "method DeactivateMyOrg not implemented") } func (*UnimplementedManagementServiceServer) ReactivateMyOrg(context.Context, *empty.Empty) (*Org, error) { return nil, status.Errorf(codes.Unimplemented, "method ReactivateMyOrg not implemented") } func (*UnimplementedManagementServiceServer) SearchMyOrgDomains(context.Context, *OrgDomainSearchRequest) (*OrgDomainSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchMyOrgDomains not implemented") } func (*UnimplementedManagementServiceServer) AddMyOrgDomain(context.Context, *AddOrgDomainRequest) (*OrgDomain, error) { return nil, status.Errorf(codes.Unimplemented, "method AddMyOrgDomain not implemented") } func (*UnimplementedManagementServiceServer) RemoveMyOrgDomain(context.Context, *RemoveOrgDomainRequest) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveMyOrgDomain not implemented") } func (*UnimplementedManagementServiceServer) GetMyOrgIamPolicy(context.Context, *empty.Empty) (*OrgIamPolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method GetMyOrgIamPolicy not implemented") } func (*UnimplementedManagementServiceServer) GetOrgMemberRoles(context.Context, *empty.Empty) (*OrgMemberRoles, error) { return nil, status.Errorf(codes.Unimplemented, "method GetOrgMemberRoles not implemented") } func (*UnimplementedManagementServiceServer) AddMyOrgMember(context.Context, *AddOrgMemberRequest) (*OrgMember, error) { return nil, status.Errorf(codes.Unimplemented, "method AddMyOrgMember not implemented") } func (*UnimplementedManagementServiceServer) ChangeMyOrgMember(context.Context, *ChangeOrgMemberRequest) (*OrgMember, error) { return nil, status.Errorf(codes.Unimplemented, "method ChangeMyOrgMember not implemented") } func (*UnimplementedManagementServiceServer) RemoveMyOrgMember(context.Context, *RemoveOrgMemberRequest) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveMyOrgMember not implemented") } func (*UnimplementedManagementServiceServer) SearchMyOrgMembers(context.Context, *OrgMemberSearchRequest) (*OrgMemberSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchMyOrgMembers not implemented") } func (*UnimplementedManagementServiceServer) SearchProjects(context.Context, *ProjectSearchRequest) (*ProjectSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchProjects not implemented") } func (*UnimplementedManagementServiceServer) ProjectByID(context.Context, *ProjectID) (*ProjectView, error) { return nil, status.Errorf(codes.Unimplemented, "method ProjectByID not implemented") } func (*UnimplementedManagementServiceServer) CreateProject(context.Context, *ProjectCreateRequest) (*Project, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateProject not implemented") } func (*UnimplementedManagementServiceServer) UpdateProject(context.Context, *ProjectUpdateRequest) (*Project, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateProject not implemented") } func (*UnimplementedManagementServiceServer) DeactivateProject(context.Context, *ProjectID) (*Project, error) { return nil, status.Errorf(codes.Unimplemented, "method DeactivateProject not implemented") } func (*UnimplementedManagementServiceServer) ReactivateProject(context.Context, *ProjectID) (*Project, error) { return nil, status.Errorf(codes.Unimplemented, "method ReactivateProject not implemented") } func (*UnimplementedManagementServiceServer) RemoveProject(context.Context, *ProjectID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveProject not implemented") } func (*UnimplementedManagementServiceServer) SearchGrantedProjects(context.Context, *GrantedProjectSearchRequest) (*ProjectGrantSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchGrantedProjects not implemented") } func (*UnimplementedManagementServiceServer) GetGrantedProjectByID(context.Context, *ProjectGrantID) (*ProjectGrantView, error) { return nil, status.Errorf(codes.Unimplemented, "method GetGrantedProjectByID not implemented") } func (*UnimplementedManagementServiceServer) GetProjectMemberRoles(context.Context, *empty.Empty) (*ProjectMemberRoles, error) { return nil, status.Errorf(codes.Unimplemented, "method GetProjectMemberRoles not implemented") } func (*UnimplementedManagementServiceServer) SearchProjectMembers(context.Context, *ProjectMemberSearchRequest) (*ProjectMemberSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchProjectMembers not implemented") } func (*UnimplementedManagementServiceServer) AddProjectMember(context.Context, *ProjectMemberAdd) (*ProjectMember, error) { return nil, status.Errorf(codes.Unimplemented, "method AddProjectMember not implemented") } func (*UnimplementedManagementServiceServer) ChangeProjectMember(context.Context, *ProjectMemberChange) (*ProjectMember, error) { return nil, status.Errorf(codes.Unimplemented, "method ChangeProjectMember not implemented") } func (*UnimplementedManagementServiceServer) RemoveProjectMember(context.Context, *ProjectMemberRemove) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveProjectMember not implemented") } func (*UnimplementedManagementServiceServer) SearchProjectRoles(context.Context, *ProjectRoleSearchRequest) (*ProjectRoleSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchProjectRoles not implemented") } func (*UnimplementedManagementServiceServer) AddProjectRole(context.Context, *ProjectRoleAdd) (*ProjectRole, error) { return nil, status.Errorf(codes.Unimplemented, "method AddProjectRole not implemented") } func (*UnimplementedManagementServiceServer) BulkAddProjectRole(context.Context, *ProjectRoleAddBulk) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method BulkAddProjectRole not implemented") } func (*UnimplementedManagementServiceServer) ChangeProjectRole(context.Context, *ProjectRoleChange) (*ProjectRole, error) { return nil, status.Errorf(codes.Unimplemented, "method ChangeProjectRole not implemented") } func (*UnimplementedManagementServiceServer) RemoveProjectRole(context.Context, *ProjectRoleRemove) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveProjectRole not implemented") } func (*UnimplementedManagementServiceServer) SearchApplications(context.Context, *ApplicationSearchRequest) (*ApplicationSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchApplications not implemented") } func (*UnimplementedManagementServiceServer) ApplicationByID(context.Context, *ApplicationID) (*ApplicationView, error) { return nil, status.Errorf(codes.Unimplemented, "method ApplicationByID not implemented") } func (*UnimplementedManagementServiceServer) CreateOIDCApplication(context.Context, *OIDCApplicationCreate) (*Application, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateOIDCApplication not implemented") } func (*UnimplementedManagementServiceServer) UpdateApplication(context.Context, *ApplicationUpdate) (*Application, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateApplication not implemented") } func (*UnimplementedManagementServiceServer) DeactivateApplication(context.Context, *ApplicationID) (*Application, error) { return nil, status.Errorf(codes.Unimplemented, "method DeactivateApplication not implemented") } func (*UnimplementedManagementServiceServer) ReactivateApplication(context.Context, *ApplicationID) (*Application, error) { return nil, status.Errorf(codes.Unimplemented, "method ReactivateApplication not implemented") } func (*UnimplementedManagementServiceServer) RemoveApplication(context.Context, *ApplicationID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveApplication not implemented") } func (*UnimplementedManagementServiceServer) UpdateApplicationOIDCConfig(context.Context, *OIDCConfigUpdate) (*OIDCConfig, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateApplicationOIDCConfig not implemented") } func (*UnimplementedManagementServiceServer) RegenerateOIDCClientSecret(context.Context, *ApplicationID) (*ClientSecret, error) { return nil, status.Errorf(codes.Unimplemented, "method RegenerateOIDCClientSecret not implemented") } func (*UnimplementedManagementServiceServer) SearchProjectGrants(context.Context, *ProjectGrantSearchRequest) (*ProjectGrantSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchProjectGrants not implemented") } func (*UnimplementedManagementServiceServer) ProjectGrantByID(context.Context, *ProjectGrantID) (*ProjectGrantView, error) { return nil, status.Errorf(codes.Unimplemented, "method ProjectGrantByID not implemented") } func (*UnimplementedManagementServiceServer) CreateProjectGrant(context.Context, *ProjectGrantCreate) (*ProjectGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateProjectGrant not implemented") } func (*UnimplementedManagementServiceServer) UpdateProjectGrant(context.Context, *ProjectGrantUpdate) (*ProjectGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateProjectGrant not implemented") } func (*UnimplementedManagementServiceServer) DeactivateProjectGrant(context.Context, *ProjectGrantID) (*ProjectGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method DeactivateProjectGrant not implemented") } func (*UnimplementedManagementServiceServer) ReactivateProjectGrant(context.Context, *ProjectGrantID) (*ProjectGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method ReactivateProjectGrant not implemented") } func (*UnimplementedManagementServiceServer) RemoveProjectGrant(context.Context, *ProjectGrantID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveProjectGrant not implemented") } func (*UnimplementedManagementServiceServer) GetProjectGrantMemberRoles(context.Context, *empty.Empty) (*ProjectGrantMemberRoles, error) { return nil, status.Errorf(codes.Unimplemented, "method GetProjectGrantMemberRoles not implemented") } func (*UnimplementedManagementServiceServer) SearchProjectGrantMembers(context.Context, *ProjectGrantMemberSearchRequest) (*ProjectGrantMemberSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchProjectGrantMembers not implemented") } func (*UnimplementedManagementServiceServer) AddProjectGrantMember(context.Context, *ProjectGrantMemberAdd) (*ProjectGrantMember, error) { return nil, status.Errorf(codes.Unimplemented, "method AddProjectGrantMember not implemented") } func (*UnimplementedManagementServiceServer) ChangeProjectGrantMember(context.Context, *ProjectGrantMemberChange) (*ProjectGrantMember, error) { return nil, status.Errorf(codes.Unimplemented, "method ChangeProjectGrantMember not implemented") } func (*UnimplementedManagementServiceServer) RemoveProjectGrantMember(context.Context, *ProjectGrantMemberRemove) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveProjectGrantMember not implemented") } func (*UnimplementedManagementServiceServer) SearchUserGrants(context.Context, *UserGrantSearchRequest) (*UserGrantSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchUserGrants not implemented") } func (*UnimplementedManagementServiceServer) UserGrantByID(context.Context, *UserGrantID) (*UserGrantView, error) { return nil, status.Errorf(codes.Unimplemented, "method UserGrantByID not implemented") } func (*UnimplementedManagementServiceServer) CreateUserGrant(context.Context, *UserGrantCreate) (*UserGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateUserGrant not implemented") } func (*UnimplementedManagementServiceServer) UpdateUserGrant(context.Context, *UserGrantUpdate) (*UserGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateUserGrant not implemented") } func (*UnimplementedManagementServiceServer) DeactivateUserGrant(context.Context, *UserGrantID) (*UserGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method DeactivateUserGrant not implemented") } func (*UnimplementedManagementServiceServer) ReactivateUserGrant(context.Context, *UserGrantID) (*UserGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method ReactivateUserGrant not implemented") } func (*UnimplementedManagementServiceServer) RemoveUserGrant(context.Context, *UserGrantID) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveUserGrant not implemented") } func (*UnimplementedManagementServiceServer) BulkRemoveUserGrant(context.Context, *UserGrantRemoveBulk) (*empty.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method BulkRemoveUserGrant not implemented") } func (*UnimplementedManagementServiceServer) SearchProjectUserGrants(context.Context, *ProjectUserGrantSearchRequest) (*UserGrantSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchProjectUserGrants not implemented") } func (*UnimplementedManagementServiceServer) ProjectUserGrantByID(context.Context, *ProjectUserGrantID) (*UserGrantView, error) { return nil, status.Errorf(codes.Unimplemented, "method ProjectUserGrantByID not implemented") } func (*UnimplementedManagementServiceServer) CreateProjectUserGrant(context.Context, *UserGrantCreate) (*UserGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateProjectUserGrant not implemented") } func (*UnimplementedManagementServiceServer) UpdateProjectUserGrant(context.Context, *ProjectUserGrantUpdate) (*UserGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateProjectUserGrant not implemented") } func (*UnimplementedManagementServiceServer) DeactivateProjectUserGrant(context.Context, *ProjectUserGrantID) (*UserGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method DeactivateProjectUserGrant not implemented") } func (*UnimplementedManagementServiceServer) ReactivateProjectUserGrant(context.Context, *ProjectUserGrantID) (*UserGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method ReactivateProjectUserGrant not implemented") } func (*UnimplementedManagementServiceServer) SearchProjectGrantUserGrants(context.Context, *ProjectGrantUserGrantSearchRequest) (*UserGrantSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SearchProjectGrantUserGrants not implemented") } func (*UnimplementedManagementServiceServer) ProjectGrantUserGrantByID(context.Context, *ProjectGrantUserGrantID) (*UserGrantView, error) { return nil, status.Errorf(codes.Unimplemented, "method ProjectGrantUserGrantByID not implemented") } func (*UnimplementedManagementServiceServer) CreateProjectGrantUserGrant(context.Context, *ProjectGrantUserGrantCreate) (*UserGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateProjectGrantUserGrant not implemented") } func (*UnimplementedManagementServiceServer) UpdateProjectGrantUserGrant(context.Context, *ProjectGrantUserGrantUpdate) (*UserGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateProjectGrantUserGrant not implemented") } func (*UnimplementedManagementServiceServer) DeactivateProjectGrantUserGrant(context.Context, *ProjectGrantUserGrantID) (*UserGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method DeactivateProjectGrantUserGrant not implemented") } func (*UnimplementedManagementServiceServer) ReactivateProjectGrantUserGrant(context.Context, *ProjectGrantUserGrantID) (*UserGrant, error) { return nil, status.Errorf(codes.Unimplemented, "method ReactivateProjectGrantUserGrant not implemented") } func RegisterManagementServiceServer(s *grpc.Server, srv ManagementServiceServer) { s.RegisterService(&_ManagementService_serviceDesc, srv) } func _ManagementService_Healthz_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(empty.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).Healthz(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/Healthz", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).Healthz(ctx, req.(*empty.Empty)) } return interceptor(ctx, in, info, handler) } func _ManagementService_Ready_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(empty.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).Ready(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/Ready", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).Ready(ctx, req.(*empty.Empty)) } return interceptor(ctx, in, info, handler) } func _ManagementService_Validate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(empty.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).Validate(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/Validate", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).Validate(ctx, req.(*empty.Empty)) } return interceptor(ctx, in, info, handler) } func _ManagementService_GetZitadelDocs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(empty.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).GetZitadelDocs(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/GetZitadelDocs", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).GetZitadelDocs(ctx, req.(*empty.Empty)) } return interceptor(ctx, in, info, handler) } func _ManagementService_GetIam_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(empty.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).GetIam(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/GetIam", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).GetIam(ctx, req.(*empty.Empty)) } return interceptor(ctx, in, info, handler) } func _ManagementService_GetUserByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).GetUserByID(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/GetUserByID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).GetUserByID(ctx, req.(*UserID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_GetUserByEmailGlobal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(Email) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).GetUserByEmailGlobal(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/GetUserByEmailGlobal", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).GetUserByEmailGlobal(ctx, req.(*Email)) } return interceptor(ctx, in, info, handler) } func _ManagementService_SearchUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserSearchRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).SearchUsers(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/SearchUsers", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).SearchUsers(ctx, req.(*UserSearchRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_IsUserUnique_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UniqueUserRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).IsUserUnique(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/IsUserUnique", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).IsUserUnique(ctx, req.(*UniqueUserRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_CreateUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CreateUserRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).CreateUser(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/CreateUser", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).CreateUser(ctx, req.(*CreateUserRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_DeactivateUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).DeactivateUser(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/DeactivateUser", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).DeactivateUser(ctx, req.(*UserID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_ReactivateUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).ReactivateUser(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ReactivateUser", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).ReactivateUser(ctx, req.(*UserID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_LockUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).LockUser(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/LockUser", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).LockUser(ctx, req.(*UserID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_UnlockUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).UnlockUser(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/UnlockUser", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).UnlockUser(ctx, req.(*UserID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_DeleteUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).DeleteUser(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/DeleteUser", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).DeleteUser(ctx, req.(*UserID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_UserChanges_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ChangeRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).UserChanges(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/UserChanges", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).UserChanges(ctx, req.(*ChangeRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_ApplicationChanges_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ChangeRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).ApplicationChanges(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ApplicationChanges", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).ApplicationChanges(ctx, req.(*ChangeRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_OrgChanges_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ChangeRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).OrgChanges(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/OrgChanges", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).OrgChanges(ctx, req.(*ChangeRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_ProjectChanges_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ChangeRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).ProjectChanges(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ProjectChanges", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).ProjectChanges(ctx, req.(*ChangeRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_GetUserProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).GetUserProfile(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/GetUserProfile", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).GetUserProfile(ctx, req.(*UserID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_UpdateUserProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateUserProfileRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).UpdateUserProfile(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/UpdateUserProfile", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).UpdateUserProfile(ctx, req.(*UpdateUserProfileRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_GetUserEmail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).GetUserEmail(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/GetUserEmail", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).GetUserEmail(ctx, req.(*UserID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_ChangeUserEmail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateUserEmailRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).ChangeUserEmail(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ChangeUserEmail", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).ChangeUserEmail(ctx, req.(*UpdateUserEmailRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_ResendEmailVerificationMail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).ResendEmailVerificationMail(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ResendEmailVerificationMail", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).ResendEmailVerificationMail(ctx, req.(*UserID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_GetUserPhone_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).GetUserPhone(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/GetUserPhone", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).GetUserPhone(ctx, req.(*UserID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_ChangeUserPhone_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateUserPhoneRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).ChangeUserPhone(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ChangeUserPhone", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).ChangeUserPhone(ctx, req.(*UpdateUserPhoneRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_RemoveUserPhone_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).RemoveUserPhone(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/RemoveUserPhone", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).RemoveUserPhone(ctx, req.(*UserID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_ResendPhoneVerificationCode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).ResendPhoneVerificationCode(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ResendPhoneVerificationCode", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).ResendPhoneVerificationCode(ctx, req.(*UserID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_GetUserAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).GetUserAddress(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/GetUserAddress", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).GetUserAddress(ctx, req.(*UserID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_UpdateUserAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateUserAddressRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).UpdateUserAddress(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/UpdateUserAddress", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).UpdateUserAddress(ctx, req.(*UpdateUserAddressRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_GetUserMfas_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).GetUserMfas(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/GetUserMfas", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).GetUserMfas(ctx, req.(*UserID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_SendSetPasswordNotification_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(SetPasswordNotificationRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).SendSetPasswordNotification(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/SendSetPasswordNotification", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).SendSetPasswordNotification(ctx, req.(*SetPasswordNotificationRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_SetInitialPassword_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(PasswordRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).SetInitialPassword(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/SetInitialPassword", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).SetInitialPassword(ctx, req.(*PasswordRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_SearchUserMemberships_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserMembershipSearchRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).SearchUserMemberships(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/SearchUserMemberships", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).SearchUserMemberships(ctx, req.(*UserMembershipSearchRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_GetPasswordComplexityPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(empty.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).GetPasswordComplexityPolicy(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/GetPasswordComplexityPolicy", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).GetPasswordComplexityPolicy(ctx, req.(*empty.Empty)) } return interceptor(ctx, in, info, handler) } func _ManagementService_GetDefaultPasswordComplexityPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(empty.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).GetDefaultPasswordComplexityPolicy(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/GetDefaultPasswordComplexityPolicy", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).GetDefaultPasswordComplexityPolicy(ctx, req.(*empty.Empty)) } return interceptor(ctx, in, info, handler) } func _ManagementService_CreatePasswordComplexityPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(PasswordComplexityPolicyCreate) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).CreatePasswordComplexityPolicy(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/CreatePasswordComplexityPolicy", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).CreatePasswordComplexityPolicy(ctx, req.(*PasswordComplexityPolicyCreate)) } return interceptor(ctx, in, info, handler) } func _ManagementService_UpdatePasswordComplexityPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(PasswordComplexityPolicyUpdate) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).UpdatePasswordComplexityPolicy(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/UpdatePasswordComplexityPolicy", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).UpdatePasswordComplexityPolicy(ctx, req.(*PasswordComplexityPolicyUpdate)) } return interceptor(ctx, in, info, handler) } func _ManagementService_DeletePasswordComplexityPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(PasswordComplexityPolicyID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).DeletePasswordComplexityPolicy(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/DeletePasswordComplexityPolicy", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).DeletePasswordComplexityPolicy(ctx, req.(*PasswordComplexityPolicyID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_GetPasswordAgePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(empty.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).GetPasswordAgePolicy(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/GetPasswordAgePolicy", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).GetPasswordAgePolicy(ctx, req.(*empty.Empty)) } return interceptor(ctx, in, info, handler) } func _ManagementService_CreatePasswordAgePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(PasswordAgePolicyCreate) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).CreatePasswordAgePolicy(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/CreatePasswordAgePolicy", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).CreatePasswordAgePolicy(ctx, req.(*PasswordAgePolicyCreate)) } return interceptor(ctx, in, info, handler) } func _ManagementService_UpdatePasswordAgePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(PasswordAgePolicyUpdate) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).UpdatePasswordAgePolicy(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/UpdatePasswordAgePolicy", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).UpdatePasswordAgePolicy(ctx, req.(*PasswordAgePolicyUpdate)) } return interceptor(ctx, in, info, handler) } func _ManagementService_DeletePasswordAgePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(PasswordAgePolicyID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).DeletePasswordAgePolicy(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/DeletePasswordAgePolicy", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).DeletePasswordAgePolicy(ctx, req.(*PasswordAgePolicyID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_GetPasswordLockoutPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(empty.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).GetPasswordLockoutPolicy(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/GetPasswordLockoutPolicy", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).GetPasswordLockoutPolicy(ctx, req.(*empty.Empty)) } return interceptor(ctx, in, info, handler) } func _ManagementService_CreatePasswordLockoutPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(PasswordLockoutPolicyCreate) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).CreatePasswordLockoutPolicy(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/CreatePasswordLockoutPolicy", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).CreatePasswordLockoutPolicy(ctx, req.(*PasswordLockoutPolicyCreate)) } return interceptor(ctx, in, info, handler) } func _ManagementService_UpdatePasswordLockoutPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(PasswordLockoutPolicyUpdate) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).UpdatePasswordLockoutPolicy(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/UpdatePasswordLockoutPolicy", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).UpdatePasswordLockoutPolicy(ctx, req.(*PasswordLockoutPolicyUpdate)) } return interceptor(ctx, in, info, handler) } func _ManagementService_DeletePasswordLockoutPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(PasswordLockoutPolicyID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).DeletePasswordLockoutPolicy(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/DeletePasswordLockoutPolicy", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).DeletePasswordLockoutPolicy(ctx, req.(*PasswordLockoutPolicyID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_CreateOrg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(OrgCreateRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).CreateOrg(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/CreateOrg", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).CreateOrg(ctx, req.(*OrgCreateRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_GetMyOrg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(empty.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).GetMyOrg(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/GetMyOrg", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).GetMyOrg(ctx, req.(*empty.Empty)) } return interceptor(ctx, in, info, handler) } func _ManagementService_GetOrgByDomainGlobal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(Domain) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).GetOrgByDomainGlobal(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/GetOrgByDomainGlobal", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).GetOrgByDomainGlobal(ctx, req.(*Domain)) } return interceptor(ctx, in, info, handler) } func _ManagementService_DeactivateMyOrg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(empty.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).DeactivateMyOrg(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/DeactivateMyOrg", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).DeactivateMyOrg(ctx, req.(*empty.Empty)) } return interceptor(ctx, in, info, handler) } func _ManagementService_ReactivateMyOrg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(empty.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).ReactivateMyOrg(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ReactivateMyOrg", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).ReactivateMyOrg(ctx, req.(*empty.Empty)) } return interceptor(ctx, in, info, handler) } func _ManagementService_SearchMyOrgDomains_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(OrgDomainSearchRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).SearchMyOrgDomains(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/SearchMyOrgDomains", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).SearchMyOrgDomains(ctx, req.(*OrgDomainSearchRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_AddMyOrgDomain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(AddOrgDomainRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).AddMyOrgDomain(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/AddMyOrgDomain", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).AddMyOrgDomain(ctx, req.(*AddOrgDomainRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_RemoveMyOrgDomain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(RemoveOrgDomainRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).RemoveMyOrgDomain(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/RemoveMyOrgDomain", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).RemoveMyOrgDomain(ctx, req.(*RemoveOrgDomainRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_GetMyOrgIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(empty.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).GetMyOrgIamPolicy(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/GetMyOrgIamPolicy", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).GetMyOrgIamPolicy(ctx, req.(*empty.Empty)) } return interceptor(ctx, in, info, handler) } func _ManagementService_GetOrgMemberRoles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(empty.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).GetOrgMemberRoles(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/GetOrgMemberRoles", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).GetOrgMemberRoles(ctx, req.(*empty.Empty)) } return interceptor(ctx, in, info, handler) } func _ManagementService_AddMyOrgMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(AddOrgMemberRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).AddMyOrgMember(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/AddMyOrgMember", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).AddMyOrgMember(ctx, req.(*AddOrgMemberRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_ChangeMyOrgMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ChangeOrgMemberRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).ChangeMyOrgMember(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ChangeMyOrgMember", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).ChangeMyOrgMember(ctx, req.(*ChangeOrgMemberRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_RemoveMyOrgMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(RemoveOrgMemberRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).RemoveMyOrgMember(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/RemoveMyOrgMember", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).RemoveMyOrgMember(ctx, req.(*RemoveOrgMemberRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_SearchMyOrgMembers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(OrgMemberSearchRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).SearchMyOrgMembers(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/SearchMyOrgMembers", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).SearchMyOrgMembers(ctx, req.(*OrgMemberSearchRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_SearchProjects_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectSearchRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).SearchProjects(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/SearchProjects", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).SearchProjects(ctx, req.(*ProjectSearchRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_ProjectByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).ProjectByID(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ProjectByID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).ProjectByID(ctx, req.(*ProjectID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_CreateProject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectCreateRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).CreateProject(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/CreateProject", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).CreateProject(ctx, req.(*ProjectCreateRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_UpdateProject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectUpdateRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).UpdateProject(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/UpdateProject", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).UpdateProject(ctx, req.(*ProjectUpdateRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_DeactivateProject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).DeactivateProject(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/DeactivateProject", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).DeactivateProject(ctx, req.(*ProjectID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_ReactivateProject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).ReactivateProject(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ReactivateProject", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).ReactivateProject(ctx, req.(*ProjectID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_RemoveProject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).RemoveProject(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/RemoveProject", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).RemoveProject(ctx, req.(*ProjectID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_SearchGrantedProjects_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GrantedProjectSearchRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).SearchGrantedProjects(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/SearchGrantedProjects", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).SearchGrantedProjects(ctx, req.(*GrantedProjectSearchRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_GetGrantedProjectByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectGrantID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).GetGrantedProjectByID(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/GetGrantedProjectByID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).GetGrantedProjectByID(ctx, req.(*ProjectGrantID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_GetProjectMemberRoles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(empty.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).GetProjectMemberRoles(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/GetProjectMemberRoles", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).GetProjectMemberRoles(ctx, req.(*empty.Empty)) } return interceptor(ctx, in, info, handler) } func _ManagementService_SearchProjectMembers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectMemberSearchRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).SearchProjectMembers(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/SearchProjectMembers", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).SearchProjectMembers(ctx, req.(*ProjectMemberSearchRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_AddProjectMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectMemberAdd) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).AddProjectMember(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/AddProjectMember", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).AddProjectMember(ctx, req.(*ProjectMemberAdd)) } return interceptor(ctx, in, info, handler) } func _ManagementService_ChangeProjectMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectMemberChange) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).ChangeProjectMember(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ChangeProjectMember", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).ChangeProjectMember(ctx, req.(*ProjectMemberChange)) } return interceptor(ctx, in, info, handler) } func _ManagementService_RemoveProjectMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectMemberRemove) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).RemoveProjectMember(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/RemoveProjectMember", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).RemoveProjectMember(ctx, req.(*ProjectMemberRemove)) } return interceptor(ctx, in, info, handler) } func _ManagementService_SearchProjectRoles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectRoleSearchRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).SearchProjectRoles(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/SearchProjectRoles", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).SearchProjectRoles(ctx, req.(*ProjectRoleSearchRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_AddProjectRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectRoleAdd) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).AddProjectRole(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/AddProjectRole", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).AddProjectRole(ctx, req.(*ProjectRoleAdd)) } return interceptor(ctx, in, info, handler) } func _ManagementService_BulkAddProjectRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectRoleAddBulk) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).BulkAddProjectRole(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/BulkAddProjectRole", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).BulkAddProjectRole(ctx, req.(*ProjectRoleAddBulk)) } return interceptor(ctx, in, info, handler) } func _ManagementService_ChangeProjectRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectRoleChange) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).ChangeProjectRole(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ChangeProjectRole", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).ChangeProjectRole(ctx, req.(*ProjectRoleChange)) } return interceptor(ctx, in, info, handler) } func _ManagementService_RemoveProjectRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectRoleRemove) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).RemoveProjectRole(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/RemoveProjectRole", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).RemoveProjectRole(ctx, req.(*ProjectRoleRemove)) } return interceptor(ctx, in, info, handler) } func _ManagementService_SearchApplications_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ApplicationSearchRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).SearchApplications(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/SearchApplications", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).SearchApplications(ctx, req.(*ApplicationSearchRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_ApplicationByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ApplicationID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).ApplicationByID(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ApplicationByID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).ApplicationByID(ctx, req.(*ApplicationID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_CreateOIDCApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(OIDCApplicationCreate) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).CreateOIDCApplication(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/CreateOIDCApplication", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).CreateOIDCApplication(ctx, req.(*OIDCApplicationCreate)) } return interceptor(ctx, in, info, handler) } func _ManagementService_UpdateApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ApplicationUpdate) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).UpdateApplication(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/UpdateApplication", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).UpdateApplication(ctx, req.(*ApplicationUpdate)) } return interceptor(ctx, in, info, handler) } func _ManagementService_DeactivateApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ApplicationID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).DeactivateApplication(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/DeactivateApplication", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).DeactivateApplication(ctx, req.(*ApplicationID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_ReactivateApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ApplicationID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).ReactivateApplication(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ReactivateApplication", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).ReactivateApplication(ctx, req.(*ApplicationID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_RemoveApplication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ApplicationID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).RemoveApplication(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/RemoveApplication", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).RemoveApplication(ctx, req.(*ApplicationID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_UpdateApplicationOIDCConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(OIDCConfigUpdate) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).UpdateApplicationOIDCConfig(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/UpdateApplicationOIDCConfig", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).UpdateApplicationOIDCConfig(ctx, req.(*OIDCConfigUpdate)) } return interceptor(ctx, in, info, handler) } func _ManagementService_RegenerateOIDCClientSecret_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ApplicationID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).RegenerateOIDCClientSecret(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/RegenerateOIDCClientSecret", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).RegenerateOIDCClientSecret(ctx, req.(*ApplicationID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_SearchProjectGrants_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectGrantSearchRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).SearchProjectGrants(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/SearchProjectGrants", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).SearchProjectGrants(ctx, req.(*ProjectGrantSearchRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_ProjectGrantByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectGrantID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).ProjectGrantByID(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ProjectGrantByID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).ProjectGrantByID(ctx, req.(*ProjectGrantID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_CreateProjectGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectGrantCreate) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).CreateProjectGrant(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/CreateProjectGrant", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).CreateProjectGrant(ctx, req.(*ProjectGrantCreate)) } return interceptor(ctx, in, info, handler) } func _ManagementService_UpdateProjectGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectGrantUpdate) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).UpdateProjectGrant(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/UpdateProjectGrant", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).UpdateProjectGrant(ctx, req.(*ProjectGrantUpdate)) } return interceptor(ctx, in, info, handler) } func _ManagementService_DeactivateProjectGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectGrantID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).DeactivateProjectGrant(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/DeactivateProjectGrant", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).DeactivateProjectGrant(ctx, req.(*ProjectGrantID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_ReactivateProjectGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectGrantID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).ReactivateProjectGrant(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ReactivateProjectGrant", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).ReactivateProjectGrant(ctx, req.(*ProjectGrantID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_RemoveProjectGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectGrantID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).RemoveProjectGrant(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/RemoveProjectGrant", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).RemoveProjectGrant(ctx, req.(*ProjectGrantID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_GetProjectGrantMemberRoles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(empty.Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).GetProjectGrantMemberRoles(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/GetProjectGrantMemberRoles", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).GetProjectGrantMemberRoles(ctx, req.(*empty.Empty)) } return interceptor(ctx, in, info, handler) } func _ManagementService_SearchProjectGrantMembers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectGrantMemberSearchRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).SearchProjectGrantMembers(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/SearchProjectGrantMembers", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).SearchProjectGrantMembers(ctx, req.(*ProjectGrantMemberSearchRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_AddProjectGrantMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectGrantMemberAdd) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).AddProjectGrantMember(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/AddProjectGrantMember", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).AddProjectGrantMember(ctx, req.(*ProjectGrantMemberAdd)) } return interceptor(ctx, in, info, handler) } func _ManagementService_ChangeProjectGrantMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectGrantMemberChange) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).ChangeProjectGrantMember(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ChangeProjectGrantMember", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).ChangeProjectGrantMember(ctx, req.(*ProjectGrantMemberChange)) } return interceptor(ctx, in, info, handler) } func _ManagementService_RemoveProjectGrantMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectGrantMemberRemove) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).RemoveProjectGrantMember(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/RemoveProjectGrantMember", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).RemoveProjectGrantMember(ctx, req.(*ProjectGrantMemberRemove)) } return interceptor(ctx, in, info, handler) } func _ManagementService_SearchUserGrants_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserGrantSearchRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).SearchUserGrants(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/SearchUserGrants", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).SearchUserGrants(ctx, req.(*UserGrantSearchRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_UserGrantByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserGrantID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).UserGrantByID(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/UserGrantByID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).UserGrantByID(ctx, req.(*UserGrantID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_CreateUserGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserGrantCreate) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).CreateUserGrant(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/CreateUserGrant", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).CreateUserGrant(ctx, req.(*UserGrantCreate)) } return interceptor(ctx, in, info, handler) } func _ManagementService_UpdateUserGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserGrantUpdate) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).UpdateUserGrant(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/UpdateUserGrant", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).UpdateUserGrant(ctx, req.(*UserGrantUpdate)) } return interceptor(ctx, in, info, handler) } func _ManagementService_DeactivateUserGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserGrantID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).DeactivateUserGrant(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/DeactivateUserGrant", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).DeactivateUserGrant(ctx, req.(*UserGrantID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_ReactivateUserGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserGrantID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).ReactivateUserGrant(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ReactivateUserGrant", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).ReactivateUserGrant(ctx, req.(*UserGrantID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_RemoveUserGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserGrantID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).RemoveUserGrant(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/RemoveUserGrant", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).RemoveUserGrant(ctx, req.(*UserGrantID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_BulkRemoveUserGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserGrantRemoveBulk) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).BulkRemoveUserGrant(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/BulkRemoveUserGrant", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).BulkRemoveUserGrant(ctx, req.(*UserGrantRemoveBulk)) } return interceptor(ctx, in, info, handler) } func _ManagementService_SearchProjectUserGrants_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectUserGrantSearchRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).SearchProjectUserGrants(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/SearchProjectUserGrants", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).SearchProjectUserGrants(ctx, req.(*ProjectUserGrantSearchRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_ProjectUserGrantByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectUserGrantID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).ProjectUserGrantByID(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ProjectUserGrantByID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).ProjectUserGrantByID(ctx, req.(*ProjectUserGrantID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_CreateProjectUserGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UserGrantCreate) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).CreateProjectUserGrant(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/CreateProjectUserGrant", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).CreateProjectUserGrant(ctx, req.(*UserGrantCreate)) } return interceptor(ctx, in, info, handler) } func _ManagementService_UpdateProjectUserGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectUserGrantUpdate) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).UpdateProjectUserGrant(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/UpdateProjectUserGrant", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).UpdateProjectUserGrant(ctx, req.(*ProjectUserGrantUpdate)) } return interceptor(ctx, in, info, handler) } func _ManagementService_DeactivateProjectUserGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectUserGrantID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).DeactivateProjectUserGrant(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/DeactivateProjectUserGrant", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).DeactivateProjectUserGrant(ctx, req.(*ProjectUserGrantID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_ReactivateProjectUserGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectUserGrantID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).ReactivateProjectUserGrant(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ReactivateProjectUserGrant", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).ReactivateProjectUserGrant(ctx, req.(*ProjectUserGrantID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_SearchProjectGrantUserGrants_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectGrantUserGrantSearchRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).SearchProjectGrantUserGrants(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/SearchProjectGrantUserGrants", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).SearchProjectGrantUserGrants(ctx, req.(*ProjectGrantUserGrantSearchRequest)) } return interceptor(ctx, in, info, handler) } func _ManagementService_ProjectGrantUserGrantByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectGrantUserGrantID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).ProjectGrantUserGrantByID(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ProjectGrantUserGrantByID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).ProjectGrantUserGrantByID(ctx, req.(*ProjectGrantUserGrantID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_CreateProjectGrantUserGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectGrantUserGrantCreate) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).CreateProjectGrantUserGrant(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/CreateProjectGrantUserGrant", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).CreateProjectGrantUserGrant(ctx, req.(*ProjectGrantUserGrantCreate)) } return interceptor(ctx, in, info, handler) } func _ManagementService_UpdateProjectGrantUserGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectGrantUserGrantUpdate) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).UpdateProjectGrantUserGrant(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/UpdateProjectGrantUserGrant", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).UpdateProjectGrantUserGrant(ctx, req.(*ProjectGrantUserGrantUpdate)) } return interceptor(ctx, in, info, handler) } func _ManagementService_DeactivateProjectGrantUserGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectGrantUserGrantID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).DeactivateProjectGrantUserGrant(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/DeactivateProjectGrantUserGrant", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).DeactivateProjectGrantUserGrant(ctx, req.(*ProjectGrantUserGrantID)) } return interceptor(ctx, in, info, handler) } func _ManagementService_ReactivateProjectGrantUserGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ProjectGrantUserGrantID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ManagementServiceServer).ReactivateProjectGrantUserGrant(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/caos.zitadel.management.api.v1.ManagementService/ReactivateProjectGrantUserGrant", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ManagementServiceServer).ReactivateProjectGrantUserGrant(ctx, req.(*ProjectGrantUserGrantID)) } return interceptor(ctx, in, info, handler) } var _ManagementService_serviceDesc = grpc.ServiceDesc{ ServiceName: "caos.zitadel.management.api.v1.ManagementService", HandlerType: (*ManagementServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "Healthz", Handler: _ManagementService_Healthz_Handler, }, { MethodName: "Ready", Handler: _ManagementService_Ready_Handler, }, { MethodName: "Validate", Handler: _ManagementService_Validate_Handler, }, { MethodName: "GetZitadelDocs", Handler: _ManagementService_GetZitadelDocs_Handler, }, { MethodName: "GetIam", Handler: _ManagementService_GetIam_Handler, }, { MethodName: "GetUserByID", Handler: _ManagementService_GetUserByID_Handler, }, { MethodName: "GetUserByEmailGlobal", Handler: _ManagementService_GetUserByEmailGlobal_Handler, }, { MethodName: "SearchUsers", Handler: _ManagementService_SearchUsers_Handler, }, { MethodName: "IsUserUnique", Handler: _ManagementService_IsUserUnique_Handler, }, { MethodName: "CreateUser", Handler: _ManagementService_CreateUser_Handler, }, { MethodName: "DeactivateUser", Handler: _ManagementService_DeactivateUser_Handler, }, { MethodName: "ReactivateUser", Handler: _ManagementService_ReactivateUser_Handler, }, { MethodName: "LockUser", Handler: _ManagementService_LockUser_Handler, }, { MethodName: "UnlockUser", Handler: _ManagementService_UnlockUser_Handler, }, { MethodName: "DeleteUser", Handler: _ManagementService_DeleteUser_Handler, }, { MethodName: "UserChanges", Handler: _ManagementService_UserChanges_Handler, }, { MethodName: "ApplicationChanges", Handler: _ManagementService_ApplicationChanges_Handler, }, { MethodName: "OrgChanges", Handler: _ManagementService_OrgChanges_Handler, }, { MethodName: "ProjectChanges", Handler: _ManagementService_ProjectChanges_Handler, }, { MethodName: "GetUserProfile", Handler: _ManagementService_GetUserProfile_Handler, }, { MethodName: "UpdateUserProfile", Handler: _ManagementService_UpdateUserProfile_Handler, }, { MethodName: "GetUserEmail", Handler: _ManagementService_GetUserEmail_Handler, }, { MethodName: "ChangeUserEmail", Handler: _ManagementService_ChangeUserEmail_Handler, }, { MethodName: "ResendEmailVerificationMail", Handler: _ManagementService_ResendEmailVerificationMail_Handler, }, { MethodName: "GetUserPhone", Handler: _ManagementService_GetUserPhone_Handler, }, { MethodName: "ChangeUserPhone", Handler: _ManagementService_ChangeUserPhone_Handler, }, { MethodName: "RemoveUserPhone", Handler: _ManagementService_RemoveUserPhone_Handler, }, { MethodName: "ResendPhoneVerificationCode", Handler: _ManagementService_ResendPhoneVerificationCode_Handler, }, { MethodName: "GetUserAddress", Handler: _ManagementService_GetUserAddress_Handler, }, { MethodName: "UpdateUserAddress", Handler: _ManagementService_UpdateUserAddress_Handler, }, { MethodName: "GetUserMfas", Handler: _ManagementService_GetUserMfas_Handler, }, { MethodName: "SendSetPasswordNotification", Handler: _ManagementService_SendSetPasswordNotification_Handler, }, { MethodName: "SetInitialPassword", Handler: _ManagementService_SetInitialPassword_Handler, }, { MethodName: "SearchUserMemberships", Handler: _ManagementService_SearchUserMemberships_Handler, }, { MethodName: "GetPasswordComplexityPolicy", Handler: _ManagementService_GetPasswordComplexityPolicy_Handler, }, { MethodName: "GetDefaultPasswordComplexityPolicy", Handler: _ManagementService_GetDefaultPasswordComplexityPolicy_Handler, }, { MethodName: "CreatePasswordComplexityPolicy", Handler: _ManagementService_CreatePasswordComplexityPolicy_Handler, }, { MethodName: "UpdatePasswordComplexityPolicy", Handler: _ManagementService_UpdatePasswordComplexityPolicy_Handler, }, { MethodName: "DeletePasswordComplexityPolicy", Handler: _ManagementService_DeletePasswordComplexityPolicy_Handler, }, { MethodName: "GetPasswordAgePolicy", Handler: _ManagementService_GetPasswordAgePolicy_Handler, }, { MethodName: "CreatePasswordAgePolicy", Handler: _ManagementService_CreatePasswordAgePolicy_Handler, }, { MethodName: "UpdatePasswordAgePolicy", Handler: _ManagementService_UpdatePasswordAgePolicy_Handler, }, { MethodName: "DeletePasswordAgePolicy", Handler: _ManagementService_DeletePasswordAgePolicy_Handler, }, { MethodName: "GetPasswordLockoutPolicy", Handler: _ManagementService_GetPasswordLockoutPolicy_Handler, }, { MethodName: "CreatePasswordLockoutPolicy", Handler: _ManagementService_CreatePasswordLockoutPolicy_Handler, }, { MethodName: "UpdatePasswordLockoutPolicy", Handler: _ManagementService_UpdatePasswordLockoutPolicy_Handler, }, { MethodName: "DeletePasswordLockoutPolicy", Handler: _ManagementService_DeletePasswordLockoutPolicy_Handler, }, { MethodName: "CreateOrg", Handler: _ManagementService_CreateOrg_Handler, }, { MethodName: "GetMyOrg", Handler: _ManagementService_GetMyOrg_Handler, }, { MethodName: "GetOrgByDomainGlobal", Handler: _ManagementService_GetOrgByDomainGlobal_Handler, }, { MethodName: "DeactivateMyOrg", Handler: _ManagementService_DeactivateMyOrg_Handler, }, { MethodName: "ReactivateMyOrg", Handler: _ManagementService_ReactivateMyOrg_Handler, }, { MethodName: "SearchMyOrgDomains", Handler: _ManagementService_SearchMyOrgDomains_Handler, }, { MethodName: "AddMyOrgDomain", Handler: _ManagementService_AddMyOrgDomain_Handler, }, { MethodName: "RemoveMyOrgDomain", Handler: _ManagementService_RemoveMyOrgDomain_Handler, }, { MethodName: "GetMyOrgIamPolicy", Handler: _ManagementService_GetMyOrgIamPolicy_Handler, }, { MethodName: "GetOrgMemberRoles", Handler: _ManagementService_GetOrgMemberRoles_Handler, }, { MethodName: "AddMyOrgMember", Handler: _ManagementService_AddMyOrgMember_Handler, }, { MethodName: "ChangeMyOrgMember", Handler: _ManagementService_ChangeMyOrgMember_Handler, }, { MethodName: "RemoveMyOrgMember", Handler: _ManagementService_RemoveMyOrgMember_Handler, }, { MethodName: "SearchMyOrgMembers", Handler: _ManagementService_SearchMyOrgMembers_Handler, }, { MethodName: "SearchProjects", Handler: _ManagementService_SearchProjects_Handler, }, { MethodName: "ProjectByID", Handler: _ManagementService_ProjectByID_Handler, }, { MethodName: "CreateProject", Handler: _ManagementService_CreateProject_Handler, }, { MethodName: "UpdateProject", Handler: _ManagementService_UpdateProject_Handler, }, { MethodName: "DeactivateProject", Handler: _ManagementService_DeactivateProject_Handler, }, { MethodName: "ReactivateProject", Handler: _ManagementService_ReactivateProject_Handler, }, { MethodName: "RemoveProject", Handler: _ManagementService_RemoveProject_Handler, }, { MethodName: "SearchGrantedProjects", Handler: _ManagementService_SearchGrantedProjects_Handler, }, { MethodName: "GetGrantedProjectByID", Handler: _ManagementService_GetGrantedProjectByID_Handler, }, { MethodName: "GetProjectMemberRoles", Handler: _ManagementService_GetProjectMemberRoles_Handler, }, { MethodName: "SearchProjectMembers", Handler: _ManagementService_SearchProjectMembers_Handler, }, { MethodName: "AddProjectMember", Handler: _ManagementService_AddProjectMember_Handler, }, { MethodName: "ChangeProjectMember", Handler: _ManagementService_ChangeProjectMember_Handler, }, { MethodName: "RemoveProjectMember", Handler: _ManagementService_RemoveProjectMember_Handler, }, { MethodName: "SearchProjectRoles", Handler: _ManagementService_SearchProjectRoles_Handler, }, { MethodName: "AddProjectRole", Handler: _ManagementService_AddProjectRole_Handler, }, { MethodName: "BulkAddProjectRole", Handler: _ManagementService_BulkAddProjectRole_Handler, }, { MethodName: "ChangeProjectRole", Handler: _ManagementService_ChangeProjectRole_Handler, }, { MethodName: "RemoveProjectRole", Handler: _ManagementService_RemoveProjectRole_Handler, }, { MethodName: "SearchApplications", Handler: _ManagementService_SearchApplications_Handler, }, { MethodName: "ApplicationByID", Handler: _ManagementService_ApplicationByID_Handler, }, { MethodName: "CreateOIDCApplication", Handler: _ManagementService_CreateOIDCApplication_Handler, }, { MethodName: "UpdateApplication", Handler: _ManagementService_UpdateApplication_Handler, }, { MethodName: "DeactivateApplication", Handler: _ManagementService_DeactivateApplication_Handler, }, { MethodName: "ReactivateApplication", Handler: _ManagementService_ReactivateApplication_Handler, }, { MethodName: "RemoveApplication", Handler: _ManagementService_RemoveApplication_Handler, }, { MethodName: "UpdateApplicationOIDCConfig", Handler: _ManagementService_UpdateApplicationOIDCConfig_Handler, }, { MethodName: "RegenerateOIDCClientSecret", Handler: _ManagementService_RegenerateOIDCClientSecret_Handler, }, { MethodName: "SearchProjectGrants", Handler: _ManagementService_SearchProjectGrants_Handler, }, { MethodName: "ProjectGrantByID", Handler: _ManagementService_ProjectGrantByID_Handler, }, { MethodName: "CreateProjectGrant", Handler: _ManagementService_CreateProjectGrant_Handler, }, { MethodName: "UpdateProjectGrant", Handler: _ManagementService_UpdateProjectGrant_Handler, }, { MethodName: "DeactivateProjectGrant", Handler: _ManagementService_DeactivateProjectGrant_Handler, }, { MethodName: "ReactivateProjectGrant", Handler: _ManagementService_ReactivateProjectGrant_Handler, }, { MethodName: "RemoveProjectGrant", Handler: _ManagementService_RemoveProjectGrant_Handler, }, { MethodName: "GetProjectGrantMemberRoles", Handler: _ManagementService_GetProjectGrantMemberRoles_Handler, }, { MethodName: "SearchProjectGrantMembers", Handler: _ManagementService_SearchProjectGrantMembers_Handler, }, { MethodName: "AddProjectGrantMember", Handler: _ManagementService_AddProjectGrantMember_Handler, }, { MethodName: "ChangeProjectGrantMember", Handler: _ManagementService_ChangeProjectGrantMember_Handler, }, { MethodName: "RemoveProjectGrantMember", Handler: _ManagementService_RemoveProjectGrantMember_Handler, }, { MethodName: "SearchUserGrants", Handler: _ManagementService_SearchUserGrants_Handler, }, { MethodName: "UserGrantByID", Handler: _ManagementService_UserGrantByID_Handler, }, { MethodName: "CreateUserGrant", Handler: _ManagementService_CreateUserGrant_Handler, }, { MethodName: "UpdateUserGrant", Handler: _ManagementService_UpdateUserGrant_Handler, }, { MethodName: "DeactivateUserGrant", Handler: _ManagementService_DeactivateUserGrant_Handler, }, { MethodName: "ReactivateUserGrant", Handler: _ManagementService_ReactivateUserGrant_Handler, }, { MethodName: "RemoveUserGrant", Handler: _ManagementService_RemoveUserGrant_Handler, }, { MethodName: "BulkRemoveUserGrant", Handler: _ManagementService_BulkRemoveUserGrant_Handler, }, { MethodName: "SearchProjectUserGrants", Handler: _ManagementService_SearchProjectUserGrants_Handler, }, { MethodName: "ProjectUserGrantByID", Handler: _ManagementService_ProjectUserGrantByID_Handler, }, { MethodName: "CreateProjectUserGrant", Handler: _ManagementService_CreateProjectUserGrant_Handler, }, { MethodName: "UpdateProjectUserGrant", Handler: _ManagementService_UpdateProjectUserGrant_Handler, }, { MethodName: "DeactivateProjectUserGrant", Handler: _ManagementService_DeactivateProjectUserGrant_Handler, }, { MethodName: "ReactivateProjectUserGrant", Handler: _ManagementService_ReactivateProjectUserGrant_Handler, }, { MethodName: "SearchProjectGrantUserGrants", Handler: _ManagementService_SearchProjectGrantUserGrants_Handler, }, { MethodName: "ProjectGrantUserGrantByID", Handler: _ManagementService_ProjectGrantUserGrantByID_Handler, }, { MethodName: "CreateProjectGrantUserGrant", Handler: _ManagementService_CreateProjectGrantUserGrant_Handler, }, { MethodName: "UpdateProjectGrantUserGrant", Handler: _ManagementService_UpdateProjectGrantUserGrant_Handler, }, { MethodName: "DeactivateProjectGrantUserGrant", Handler: _ManagementService_DeactivateProjectGrantUserGrant_Handler, }, { MethodName: "ReactivateProjectGrantUserGrant", Handler: _ManagementService_ReactivateProjectGrantUserGrant_Handler, }, }, Streams: []grpc.StreamDesc{}, Metadata: "management.proto", }