// // Copyright 2019 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only // // DO NOT EDIT. // swift-format-ignore-file // // Generated by the Swift generator plugin for the protocol buffer compiler. // Source: Groups.proto // // For information on using the generated types, please see the documentation: // https://github.com/apple/swift-protobuf/ // // Copyright 2019 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only import Foundation import SwiftProtobuf // If the compiler emits an error on this type, it is because this file // was generated by a version of the `protoc` Swift plug-in that is // incompatible with the version of SwiftProtobuf to which you are linking. // Please ensure that you are building against the same version of the API // that was used to generate this file. fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAPIVersionCheck { struct _2: SwiftProtobuf.ProtobufAPIVersion_2 {} typealias Version = _2 } struct GroupsProtos_AvatarUploadAttributes { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var key: String = String() var credential: String = String() var acl: String = String() var algorithm: String = String() var date: String = String() var policy: String = String() var signature: String = String() var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } /// Represents a member of the group. struct GroupsProtos_Member { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. /// The member's encrypted ServiceId. var userID: Data = Data() var role: GroupsProtos_Member.Role = .unknown /// The member's encrypted profile key. var profileKey: Data = Data() /// The group revision at which this member joined. var joinedAtRevision: UInt32 = 0 /// A `LibSignalClient.ProfileKeyCredentialPresentation` created by the /// client and used by the server to populate the other fields. var presentation: Data = Data() var unknownFields = SwiftProtobuf.UnknownStorage() enum Role: SwiftProtobuf.Enum { typealias RawValue = Int case unknown // = 0 /// A normal member. case `default` // = 1 /// A group admin. case administrator // = 2 case UNRECOGNIZED(Int) init() { self = .unknown } init?(rawValue: Int) { switch rawValue { case 0: self = .unknown case 1: self = .default case 2: self = .administrator default: self = .UNRECOGNIZED(rawValue) } } var rawValue: Int { switch self { case .unknown: return 0 case .default: return 1 case .administrator: return 2 case .UNRECOGNIZED(let i): return i } } } init() {} } #if swift(>=4.2) extension GroupsProtos_Member.Role: CaseIterable { // The compiler won't synthesize support with the UNRECOGNIZED case. static let allCases: [GroupsProtos_Member.Role] = [ .unknown, .default, .administrator, ] } #endif // swift(>=4.2) /// An invited member of the group. /// /// Here, "pending" refers to "pending profile key", as invited members' /// profile keys will be missing; to become a full member, they must add their /// profile key to the group. struct GroupsProtos_PendingMember { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. /// The invited member. var member: GroupsProtos_Member { get {return _member ?? GroupsProtos_Member()} set {_member = newValue} } /// Returns true if `member` has been explicitly set. var hasMember: Bool {return self._member != nil} /// Clears the value of `member`. Subsequent reads from it will return its default value. mutating func clearMember() {self._member = nil} /// The encrypted ACI of the group member who invited this member. var addedByUserID: Data = Data() /// The timestamp of the invite, in epoch milliseconds. var timestamp: UInt64 = 0 var unknownFields = SwiftProtobuf.UnknownStorage() init() {} fileprivate var _member: GroupsProtos_Member? = nil } /// A user who has requested to join the group, and is pending admin approval. struct GroupsProtos_RequestingMember { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. /// The user's encrypted ACI. var userID: Data = Data() /// The user's encrypted profile key. var profileKey: Data = Data() /// The timestamp at which they requested to join, in epoch milliseconds. var timestamp: UInt64 = 0 /// A `LibSignalClient.ProfileKeyCredentialPresentation` created by the /// client and used by the server to populate the other fields. var presentation: Data = Data() var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } /// A user who has been banned from the group. struct GroupsProtos_BannedMember { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. /// The user's encrypted ServiceId. var userID: Data = Data() /// The time at which the user was banned, in epoch milliseconds. var bannedAtTimestamp: UInt64 = 0 var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } struct GroupsProtos_AccessControl { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. /// Who can modify the group title, avatar, disappearing messages timer var attributes: GroupsProtos_AccessControl.AccessRequired = .unknown /// Who can add people to the group var members: GroupsProtos_AccessControl.AccessRequired = .unknown var addFromInviteLink: GroupsProtos_AccessControl.AccessRequired = .unknown var unknownFields = SwiftProtobuf.UnknownStorage() enum AccessRequired: SwiftProtobuf.Enum { typealias RawValue = Int case unknown // = 0 case any // = 1 /// Any group member can make the modification case member // = 2 /// Only administrators can make the modification case administrator // = 3 case unsatisfiable // = 4 case UNRECOGNIZED(Int) init() { self = .unknown } init?(rawValue: Int) { switch rawValue { case 0: self = .unknown case 1: self = .any case 2: self = .member case 3: self = .administrator case 4: self = .unsatisfiable default: self = .UNRECOGNIZED(rawValue) } } var rawValue: Int { switch self { case .unknown: return 0 case .any: return 1 case .member: return 2 case .administrator: return 3 case .unsatisfiable: return 4 case .UNRECOGNIZED(let i): return i } } } init() {} } #if swift(>=4.2) extension GroupsProtos_AccessControl.AccessRequired: CaseIterable { // The compiler won't synthesize support with the UNRECOGNIZED case. static let allCases: [GroupsProtos_AccessControl.AccessRequired] = [ .unknown, .any, .member, .administrator, .unsatisfiable, ] } #endif // swift(>=4.2) struct GroupsProtos_Group { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. /// `LibSignalClient.GroupPublicParams`. var publicKey: Data = Data() /// The encrypted title of the group as a `GroupAttributeBlob`. var title: Data = Data() /// Pointer to the encrypted avatar. /// /// - SeeAlso `key` from `AvatarUploadAttributes`. /// /// - Note: /// The data downloaded from this pointer is a `GroupAttributeBlob`. var avatar: String = String() /// The encrypted disappearing message timer of the group as a /// `GroupAttributeBlob`. var disappearingMessagesTimer: Data = Data() /// The encrypted description of the group as a `GroupAttributeBlob`. var descriptionBytes: Data = Data() var accessControl: GroupsProtos_AccessControl { get {return _accessControl ?? GroupsProtos_AccessControl()} set {_accessControl = newValue} } /// Returns true if `accessControl` has been explicitly set. var hasAccessControl: Bool {return self._accessControl != nil} /// Clears the value of `accessControl`. Subsequent reads from it will return its default value. mutating func clearAccessControl() {self._accessControl = nil} /// The current revision number of the group. var revision: UInt32 = 0 var members: [GroupsProtos_Member] = [] var pendingMembers: [GroupsProtos_PendingMember] = [] var requestingMembers: [GroupsProtos_RequestingMember] = [] var inviteLinkPassword: Data = Data() var announcementsOnly: Bool = false var bannedMembers: [GroupsProtos_BannedMember] = [] var unknownFields = SwiftProtobuf.UnknownStorage() init() {} fileprivate var _accessControl: GroupsProtos_AccessControl? = nil } struct GroupsProtos_GroupAttributeBlob { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var content: GroupsProtos_GroupAttributeBlob.OneOf_Content? = nil var title: String { get { if case .title(let v)? = content {return v} return String() } set {content = .title(newValue)} } var avatar: Data { get { if case .avatar(let v)? = content {return v} return Data() } set {content = .avatar(newValue)} } var disappearingMessagesDuration: UInt32 { get { if case .disappearingMessagesDuration(let v)? = content {return v} return 0 } set {content = .disappearingMessagesDuration(newValue)} } var descriptionText: String { get { if case .descriptionText(let v)? = content {return v} return String() } set {content = .descriptionText(newValue)} } var unknownFields = SwiftProtobuf.UnknownStorage() enum OneOf_Content: Equatable { case title(String) case avatar(Data) case disappearingMessagesDuration(UInt32) case descriptionText(String) #if !swift(>=4.1) static func ==(lhs: GroupsProtos_GroupAttributeBlob.OneOf_Content, rhs: GroupsProtos_GroupAttributeBlob.OneOf_Content) -> Bool { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch (lhs, rhs) { case (.title, .title): return { guard case .title(let l) = lhs, case .title(let r) = rhs else { preconditionFailure() } return l == r }() case (.avatar, .avatar): return { guard case .avatar(let l) = lhs, case .avatar(let r) = rhs else { preconditionFailure() } return l == r }() case (.disappearingMessagesDuration, .disappearingMessagesDuration): return { guard case .disappearingMessagesDuration(let l) = lhs, case .disappearingMessagesDuration(let r) = rhs else { preconditionFailure() } return l == r }() case (.descriptionText, .descriptionText): return { guard case .descriptionText(let l) = lhs, case .descriptionText(let r) = rhs else { preconditionFailure() } return l == r }() default: return false } } #endif } init() {} } struct GroupsProtos_GroupInviteLink { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var contents: GroupsProtos_GroupInviteLink.OneOf_Contents? = nil var contentsV1: GroupsProtos_GroupInviteLink.GroupInviteLinkContentsV1 { get { if case .contentsV1(let v)? = contents {return v} return GroupsProtos_GroupInviteLink.GroupInviteLinkContentsV1() } set {contents = .contentsV1(newValue)} } var unknownFields = SwiftProtobuf.UnknownStorage() enum OneOf_Contents: Equatable { case contentsV1(GroupsProtos_GroupInviteLink.GroupInviteLinkContentsV1) #if !swift(>=4.1) static func ==(lhs: GroupsProtos_GroupInviteLink.OneOf_Contents, rhs: GroupsProtos_GroupInviteLink.OneOf_Contents) -> Bool { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch (lhs, rhs) { case (.contentsV1, .contentsV1): return { guard case .contentsV1(let l) = lhs, case .contentsV1(let r) = rhs else { preconditionFailure() } return l == r }() } } #endif } struct GroupInviteLinkContentsV1 { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var groupMasterKey: Data = Data() var inviteLinkPassword: Data = Data() var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } init() {} } struct GroupsProtos_GroupJoinInfo { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var publicKey: Data = Data() var title: Data = Data() var avatar: String = String() var memberCount: UInt32 = 0 var addFromInviteLink: GroupsProtos_AccessControl.AccessRequired = .unknown var revision: UInt32 = 0 var pendingAdminApproval: Bool = false var descriptionBytes: Data = Data() var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } struct GroupsProtos_GroupChange { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. /// The serialized actions var actions: Data = Data() /// Server’s signature over serialized actions var serverSignature: Data = Data() var changeEpoch: UInt32 = 0 var unknownFields = SwiftProtobuf.UnknownStorage() struct Actions { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. /// Encrypted ServiceId for who made the change var sourceUserID: Data { get {return _storage._sourceUserID} set {_uniqueStorage()._sourceUserID = newValue} } /// The change revision number var revision: UInt32 { get {return _storage._revision} set {_uniqueStorage()._revision = newValue} } /// Members added var addMembers: [GroupsProtos_GroupChange.Actions.AddMemberAction] { get {return _storage._addMembers} set {_uniqueStorage()._addMembers = newValue} } /// Members deleted var deleteMembers: [GroupsProtos_GroupChange.Actions.DeleteMemberAction] { get {return _storage._deleteMembers} set {_uniqueStorage()._deleteMembers = newValue} } /// Modified member roles var modifyMemberRoles: [GroupsProtos_GroupChange.Actions.ModifyMemberRoleAction] { get {return _storage._modifyMemberRoles} set {_uniqueStorage()._modifyMemberRoles = newValue} } /// Modified member profile keys var modifyMemberProfileKeys: [GroupsProtos_GroupChange.Actions.ModifyMemberProfileKeyAction] { get {return _storage._modifyMemberProfileKeys} set {_uniqueStorage()._modifyMemberProfileKeys = newValue} } /// Pending members added var addPendingMembers: [GroupsProtos_GroupChange.Actions.AddPendingMemberAction] { get {return _storage._addPendingMembers} set {_uniqueStorage()._addPendingMembers = newValue} } /// Pending members deleted var deletePendingMembers: [GroupsProtos_GroupChange.Actions.DeletePendingMemberAction] { get {return _storage._deletePendingMembers} set {_uniqueStorage()._deletePendingMembers = newValue} } /// Pending invitations accepted var promotePendingMembers: [GroupsProtos_GroupChange.Actions.PromotePendingMemberAction] { get {return _storage._promotePendingMembers} set {_uniqueStorage()._promotePendingMembers = newValue} } /// Changed title var modifyTitle: GroupsProtos_GroupChange.Actions.ModifyTitleAction { get {return _storage._modifyTitle ?? GroupsProtos_GroupChange.Actions.ModifyTitleAction()} set {_uniqueStorage()._modifyTitle = newValue} } /// Returns true if `modifyTitle` has been explicitly set. var hasModifyTitle: Bool {return _storage._modifyTitle != nil} /// Clears the value of `modifyTitle`. Subsequent reads from it will return its default value. mutating func clearModifyTitle() {_uniqueStorage()._modifyTitle = nil} /// Changed avatar var modifyAvatar: GroupsProtos_GroupChange.Actions.ModifyAvatarAction { get {return _storage._modifyAvatar ?? GroupsProtos_GroupChange.Actions.ModifyAvatarAction()} set {_uniqueStorage()._modifyAvatar = newValue} } /// Returns true if `modifyAvatar` has been explicitly set. var hasModifyAvatar: Bool {return _storage._modifyAvatar != nil} /// Clears the value of `modifyAvatar`. Subsequent reads from it will return its default value. mutating func clearModifyAvatar() {_uniqueStorage()._modifyAvatar = nil} /// Changed timer var modifyDisappearingMessagesTimer: GroupsProtos_GroupChange.Actions.ModifyDisappearingMessagesTimerAction { get {return _storage._modifyDisappearingMessagesTimer ?? GroupsProtos_GroupChange.Actions.ModifyDisappearingMessagesTimerAction()} set {_uniqueStorage()._modifyDisappearingMessagesTimer = newValue} } /// Returns true if `modifyDisappearingMessagesTimer` has been explicitly set. var hasModifyDisappearingMessagesTimer: Bool {return _storage._modifyDisappearingMessagesTimer != nil} /// Clears the value of `modifyDisappearingMessagesTimer`. Subsequent reads from it will return its default value. mutating func clearModifyDisappearingMessagesTimer() {_uniqueStorage()._modifyDisappearingMessagesTimer = nil} /// Changed attributes access control var modifyAttributesAccess: GroupsProtos_GroupChange.Actions.ModifyAttributesAccessControlAction { get {return _storage._modifyAttributesAccess ?? GroupsProtos_GroupChange.Actions.ModifyAttributesAccessControlAction()} set {_uniqueStorage()._modifyAttributesAccess = newValue} } /// Returns true if `modifyAttributesAccess` has been explicitly set. var hasModifyAttributesAccess: Bool {return _storage._modifyAttributesAccess != nil} /// Clears the value of `modifyAttributesAccess`. Subsequent reads from it will return its default value. mutating func clearModifyAttributesAccess() {_uniqueStorage()._modifyAttributesAccess = nil} /// Changed membership access control var modifyMemberAccess: GroupsProtos_GroupChange.Actions.ModifyMembersAccessControlAction { get {return _storage._modifyMemberAccess ?? GroupsProtos_GroupChange.Actions.ModifyMembersAccessControlAction()} set {_uniqueStorage()._modifyMemberAccess = newValue} } /// Returns true if `modifyMemberAccess` has been explicitly set. var hasModifyMemberAccess: Bool {return _storage._modifyMemberAccess != nil} /// Clears the value of `modifyMemberAccess`. Subsequent reads from it will return its default value. mutating func clearModifyMemberAccess() {_uniqueStorage()._modifyMemberAccess = nil} /// change epoch = 1 var modifyAddFromInviteLinkAccess: GroupsProtos_GroupChange.Actions.ModifyAddFromInviteLinkAccessControlAction { get {return _storage._modifyAddFromInviteLinkAccess ?? GroupsProtos_GroupChange.Actions.ModifyAddFromInviteLinkAccessControlAction()} set {_uniqueStorage()._modifyAddFromInviteLinkAccess = newValue} } /// Returns true if `modifyAddFromInviteLinkAccess` has been explicitly set. var hasModifyAddFromInviteLinkAccess: Bool {return _storage._modifyAddFromInviteLinkAccess != nil} /// Clears the value of `modifyAddFromInviteLinkAccess`. Subsequent reads from it will return its default value. mutating func clearModifyAddFromInviteLinkAccess() {_uniqueStorage()._modifyAddFromInviteLinkAccess = nil} /// change epoch = 1 var addRequestingMembers: [GroupsProtos_GroupChange.Actions.AddRequestingMemberAction] { get {return _storage._addRequestingMembers} set {_uniqueStorage()._addRequestingMembers = newValue} } /// change epoch = 1 var deleteRequestingMembers: [GroupsProtos_GroupChange.Actions.DeleteRequestingMemberAction] { get {return _storage._deleteRequestingMembers} set {_uniqueStorage()._deleteRequestingMembers = newValue} } /// change epoch = 1 var promoteRequestingMembers: [GroupsProtos_GroupChange.Actions.PromoteRequestingMemberAction] { get {return _storage._promoteRequestingMembers} set {_uniqueStorage()._promoteRequestingMembers = newValue} } /// change epoch = 1 var modifyInviteLinkPassword: GroupsProtos_GroupChange.Actions.ModifyInviteLinkPasswordAction { get {return _storage._modifyInviteLinkPassword ?? GroupsProtos_GroupChange.Actions.ModifyInviteLinkPasswordAction()} set {_uniqueStorage()._modifyInviteLinkPassword = newValue} } /// Returns true if `modifyInviteLinkPassword` has been explicitly set. var hasModifyInviteLinkPassword: Bool {return _storage._modifyInviteLinkPassword != nil} /// Clears the value of `modifyInviteLinkPassword`. Subsequent reads from it will return its default value. mutating func clearModifyInviteLinkPassword() {_uniqueStorage()._modifyInviteLinkPassword = nil} /// change epoch = 2 var modifyDescription: GroupsProtos_GroupChange.Actions.ModifyDescriptionAction { get {return _storage._modifyDescription ?? GroupsProtos_GroupChange.Actions.ModifyDescriptionAction()} set {_uniqueStorage()._modifyDescription = newValue} } /// Returns true if `modifyDescription` has been explicitly set. var hasModifyDescription: Bool {return _storage._modifyDescription != nil} /// Clears the value of `modifyDescription`. Subsequent reads from it will return its default value. mutating func clearModifyDescription() {_uniqueStorage()._modifyDescription = nil} /// change epoch = 3 var modifyAnnouncementsOnly: GroupsProtos_GroupChange.Actions.ModifyAnnouncementsOnlyAction { get {return _storage._modifyAnnouncementsOnly ?? GroupsProtos_GroupChange.Actions.ModifyAnnouncementsOnlyAction()} set {_uniqueStorage()._modifyAnnouncementsOnly = newValue} } /// Returns true if `modifyAnnouncementsOnly` has been explicitly set. var hasModifyAnnouncementsOnly: Bool {return _storage._modifyAnnouncementsOnly != nil} /// Clears the value of `modifyAnnouncementsOnly`. Subsequent reads from it will return its default value. mutating func clearModifyAnnouncementsOnly() {_uniqueStorage()._modifyAnnouncementsOnly = nil} /// change epoch = 4 var addBannedMembers: [GroupsProtos_GroupChange.Actions.AddBannedMemberAction] { get {return _storage._addBannedMembers} set {_uniqueStorage()._addBannedMembers = newValue} } /// change epoch = 4 var deleteBannedMembers: [GroupsProtos_GroupChange.Actions.DeleteBannedMemberAction] { get {return _storage._deleteBannedMembers} set {_uniqueStorage()._deleteBannedMembers = newValue} } /// change epoch = 5 var promotePniPendingMembers: [GroupsProtos_GroupChange.Actions.PromoteMemberPendingPniAciProfileKeyAction] { get {return _storage._promotePniPendingMembers} set {_uniqueStorage()._promotePniPendingMembers = newValue} } var unknownFields = SwiftProtobuf.UnknownStorage() struct AddMemberAction { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var added: GroupsProtos_Member { get {return _added ?? GroupsProtos_Member()} set {_added = newValue} } /// Returns true if `added` has been explicitly set. var hasAdded: Bool {return self._added != nil} /// Clears the value of `added`. Subsequent reads from it will return its default value. mutating func clearAdded() {self._added = nil} var joinFromInviteLink: Bool = false var unknownFields = SwiftProtobuf.UnknownStorage() init() {} fileprivate var _added: GroupsProtos_Member? = nil } struct DeleteMemberAction { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var deletedUserID: Data = Data() var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } struct ModifyMemberRoleAction { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var userID: Data = Data() var role: GroupsProtos_Member.Role = .unknown var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } struct ModifyMemberProfileKeyAction { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var presentation: Data = Data() var userID: Data = Data() var profileKey: Data = Data() var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } struct AddPendingMemberAction { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var added: GroupsProtos_PendingMember { get {return _added ?? GroupsProtos_PendingMember()} set {_added = newValue} } /// Returns true if `added` has been explicitly set. var hasAdded: Bool {return self._added != nil} /// Clears the value of `added`. Subsequent reads from it will return its default value. mutating func clearAdded() {self._added = nil} var unknownFields = SwiftProtobuf.UnknownStorage() init() {} fileprivate var _added: GroupsProtos_PendingMember? = nil } struct DeletePendingMemberAction { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var deletedUserID: Data = Data() var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } struct PromotePendingMemberAction { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var presentation: Data = Data() var userID: Data = Data() var profileKey: Data = Data() var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } struct PromoteMemberPendingPniAciProfileKeyAction { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. /// The encrypted ACI. var userID: Data = Data() /// The encrypted PNI. var pni: Data = Data() /// The encrypted profile key. var profileKey: Data = Data() /// A `LibSignalClient.ProfileKeyCredentialPresentation` created by the /// client and used by the server to populate the other fields. var presentation: Data = Data() var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } struct AddRequestingMemberAction { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var added: GroupsProtos_RequestingMember { get {return _added ?? GroupsProtos_RequestingMember()} set {_added = newValue} } /// Returns true if `added` has been explicitly set. var hasAdded: Bool {return self._added != nil} /// Clears the value of `added`. Subsequent reads from it will return its default value. mutating func clearAdded() {self._added = nil} var unknownFields = SwiftProtobuf.UnknownStorage() init() {} fileprivate var _added: GroupsProtos_RequestingMember? = nil } struct DeleteRequestingMemberAction { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var deletedUserID: Data = Data() var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } struct PromoteRequestingMemberAction { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var userID: Data = Data() var role: GroupsProtos_Member.Role = .unknown var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } struct AddBannedMemberAction { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var added: GroupsProtos_BannedMember { get {return _added ?? GroupsProtos_BannedMember()} set {_added = newValue} } /// Returns true if `added` has been explicitly set. var hasAdded: Bool {return self._added != nil} /// Clears the value of `added`. Subsequent reads from it will return its default value. mutating func clearAdded() {self._added = nil} var unknownFields = SwiftProtobuf.UnknownStorage() init() {} fileprivate var _added: GroupsProtos_BannedMember? = nil } struct DeleteBannedMemberAction { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var deletedUserID: Data = Data() var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } struct ModifyTitleAction { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. /// The encrypted title of the group as a `GroupAttributeBlob`. var title: Data = Data() var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } struct ModifyAvatarAction { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. /// Pointer to the new encrypted avatar. var avatar: String = String() var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } struct ModifyDisappearingMessagesTimerAction { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. /// The encrypted disappearing message timer of the group as a /// `GroupAttributeBlob`. var timer: Data = Data() var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } struct ModifyAttributesAccessControlAction { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var attributesAccess: GroupsProtos_AccessControl.AccessRequired = .unknown var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } struct ModifyAvatarAccessControlAction { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var avatarAccess: GroupsProtos_AccessControl.AccessRequired = .unknown var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } struct ModifyMembersAccessControlAction { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var membersAccess: GroupsProtos_AccessControl.AccessRequired = .unknown var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } struct ModifyAddFromInviteLinkAccessControlAction { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var addFromInviteLinkAccess: GroupsProtos_AccessControl.AccessRequired = .unknown var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } struct ModifyInviteLinkPasswordAction { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var inviteLinkPassword: Data = Data() var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } struct ModifyDescriptionAction { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. /// The encrypted description of the group as a `GroupAttributeBlob`. var descriptionBytes: Data = Data() var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } struct ModifyAnnouncementsOnlyAction { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var announcementsOnly: Bool = false var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } init() {} fileprivate var _storage = _StorageClass.defaultInstance } init() {} } struct GroupsProtos_GroupChanges { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var groupChanges: [Data] = [] var unknownFields = SwiftProtobuf.UnknownStorage() struct GroupChangeState { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var groupChange: GroupsProtos_GroupChange { get {return _storage._groupChange ?? GroupsProtos_GroupChange()} set {_uniqueStorage()._groupChange = newValue} } /// Returns true if `groupChange` has been explicitly set. var hasGroupChange: Bool {return _storage._groupChange != nil} /// Clears the value of `groupChange`. Subsequent reads from it will return its default value. mutating func clearGroupChange() {_uniqueStorage()._groupChange = nil} var groupState: GroupsProtos_Group { get {return _storage._groupState ?? GroupsProtos_Group()} set {_uniqueStorage()._groupState = newValue} } /// Returns true if `groupState` has been explicitly set. var hasGroupState: Bool {return _storage._groupState != nil} /// Clears the value of `groupState`. Subsequent reads from it will return its default value. mutating func clearGroupState() {_uniqueStorage()._groupState = nil} var unknownFields = SwiftProtobuf.UnknownStorage() init() {} fileprivate var _storage = _StorageClass.defaultInstance } init() {} } struct GroupsProtos_GroupExternalCredential { // SwiftProtobuf.Message conformance is added in an extension below. See the // `Message` and `Message+*Additions` files in the SwiftProtobuf library for // methods supported on all messages. var token: String = String() var unknownFields = SwiftProtobuf.UnknownStorage() init() {} } #if swift(>=5.5) && canImport(_Concurrency) extension GroupsProtos_AvatarUploadAttributes: @unchecked Sendable {} extension GroupsProtos_Member: @unchecked Sendable {} extension GroupsProtos_Member.Role: @unchecked Sendable {} extension GroupsProtos_PendingMember: @unchecked Sendable {} extension GroupsProtos_RequestingMember: @unchecked Sendable {} extension GroupsProtos_BannedMember: @unchecked Sendable {} extension GroupsProtos_AccessControl: @unchecked Sendable {} extension GroupsProtos_AccessControl.AccessRequired: @unchecked Sendable {} extension GroupsProtos_Group: @unchecked Sendable {} extension GroupsProtos_GroupAttributeBlob: @unchecked Sendable {} extension GroupsProtos_GroupAttributeBlob.OneOf_Content: @unchecked Sendable {} extension GroupsProtos_GroupInviteLink: @unchecked Sendable {} extension GroupsProtos_GroupInviteLink.OneOf_Contents: @unchecked Sendable {} extension GroupsProtos_GroupInviteLink.GroupInviteLinkContentsV1: @unchecked Sendable {} extension GroupsProtos_GroupJoinInfo: @unchecked Sendable {} extension GroupsProtos_GroupChange: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions.AddMemberAction: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions.DeleteMemberAction: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions.ModifyMemberRoleAction: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions.ModifyMemberProfileKeyAction: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions.AddPendingMemberAction: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions.DeletePendingMemberAction: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions.PromotePendingMemberAction: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions.PromoteMemberPendingPniAciProfileKeyAction: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions.AddRequestingMemberAction: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions.DeleteRequestingMemberAction: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions.PromoteRequestingMemberAction: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions.AddBannedMemberAction: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions.DeleteBannedMemberAction: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions.ModifyTitleAction: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions.ModifyAvatarAction: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions.ModifyDisappearingMessagesTimerAction: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions.ModifyAttributesAccessControlAction: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions.ModifyAvatarAccessControlAction: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions.ModifyMembersAccessControlAction: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions.ModifyAddFromInviteLinkAccessControlAction: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions.ModifyInviteLinkPasswordAction: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions.ModifyDescriptionAction: @unchecked Sendable {} extension GroupsProtos_GroupChange.Actions.ModifyAnnouncementsOnlyAction: @unchecked Sendable {} extension GroupsProtos_GroupChanges: @unchecked Sendable {} extension GroupsProtos_GroupChanges.GroupChangeState: @unchecked Sendable {} extension GroupsProtos_GroupExternalCredential: @unchecked Sendable {} #endif // swift(>=5.5) && canImport(_Concurrency) // MARK: - Code below here is support for the SwiftProtobuf runtime. fileprivate let _protobuf_package = "GroupsProtos" extension GroupsProtos_AvatarUploadAttributes: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = _protobuf_package + ".AvatarUploadAttributes" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "key"), 2: .same(proto: "credential"), 3: .same(proto: "acl"), 4: .same(proto: "algorithm"), 5: .same(proto: "date"), 6: .same(proto: "policy"), 7: .same(proto: "signature"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularStringField(value: &self.key) }() case 2: try { try decoder.decodeSingularStringField(value: &self.credential) }() case 3: try { try decoder.decodeSingularStringField(value: &self.acl) }() case 4: try { try decoder.decodeSingularStringField(value: &self.algorithm) }() case 5: try { try decoder.decodeSingularStringField(value: &self.date) }() case 6: try { try decoder.decodeSingularStringField(value: &self.policy) }() case 7: try { try decoder.decodeSingularStringField(value: &self.signature) }() default: break } } } func traverse(visitor: inout V) throws { if !self.key.isEmpty { try visitor.visitSingularStringField(value: self.key, fieldNumber: 1) } if !self.credential.isEmpty { try visitor.visitSingularStringField(value: self.credential, fieldNumber: 2) } if !self.acl.isEmpty { try visitor.visitSingularStringField(value: self.acl, fieldNumber: 3) } if !self.algorithm.isEmpty { try visitor.visitSingularStringField(value: self.algorithm, fieldNumber: 4) } if !self.date.isEmpty { try visitor.visitSingularStringField(value: self.date, fieldNumber: 5) } if !self.policy.isEmpty { try visitor.visitSingularStringField(value: self.policy, fieldNumber: 6) } if !self.signature.isEmpty { try visitor.visitSingularStringField(value: self.signature, fieldNumber: 7) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_AvatarUploadAttributes, rhs: GroupsProtos_AvatarUploadAttributes) -> Bool { if lhs.key != rhs.key {return false} if lhs.credential != rhs.credential {return false} if lhs.acl != rhs.acl {return false} if lhs.algorithm != rhs.algorithm {return false} if lhs.date != rhs.date {return false} if lhs.policy != rhs.policy {return false} if lhs.signature != rhs.signature {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_Member: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = _protobuf_package + ".Member" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "userId"), 2: .same(proto: "role"), 3: .same(proto: "profileKey"), 5: .same(proto: "joinedAtRevision"), 4: .same(proto: "presentation"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularBytesField(value: &self.userID) }() case 2: try { try decoder.decodeSingularEnumField(value: &self.role) }() case 3: try { try decoder.decodeSingularBytesField(value: &self.profileKey) }() case 4: try { try decoder.decodeSingularBytesField(value: &self.presentation) }() case 5: try { try decoder.decodeSingularUInt32Field(value: &self.joinedAtRevision) }() default: break } } } func traverse(visitor: inout V) throws { if !self.userID.isEmpty { try visitor.visitSingularBytesField(value: self.userID, fieldNumber: 1) } if self.role != .unknown { try visitor.visitSingularEnumField(value: self.role, fieldNumber: 2) } if !self.profileKey.isEmpty { try visitor.visitSingularBytesField(value: self.profileKey, fieldNumber: 3) } if !self.presentation.isEmpty { try visitor.visitSingularBytesField(value: self.presentation, fieldNumber: 4) } if self.joinedAtRevision != 0 { try visitor.visitSingularUInt32Field(value: self.joinedAtRevision, fieldNumber: 5) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_Member, rhs: GroupsProtos_Member) -> Bool { if lhs.userID != rhs.userID {return false} if lhs.role != rhs.role {return false} if lhs.profileKey != rhs.profileKey {return false} if lhs.joinedAtRevision != rhs.joinedAtRevision {return false} if lhs.presentation != rhs.presentation {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_Member.Role: SwiftProtobuf._ProtoNameProviding { static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 0: .same(proto: "UNKNOWN"), 1: .same(proto: "DEFAULT"), 2: .same(proto: "ADMINISTRATOR"), ] } extension GroupsProtos_PendingMember: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = _protobuf_package + ".PendingMember" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "member"), 2: .same(proto: "addedByUserId"), 3: .same(proto: "timestamp"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularMessageField(value: &self._member) }() case 2: try { try decoder.decodeSingularBytesField(value: &self.addedByUserID) }() case 3: try { try decoder.decodeSingularUInt64Field(value: &self.timestamp) }() default: break } } } func traverse(visitor: inout V) throws { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every if/case branch local when no optimizations // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and // https://github.com/apple/swift-protobuf/issues/1182 try { if let v = self._member { try visitor.visitSingularMessageField(value: v, fieldNumber: 1) } }() if !self.addedByUserID.isEmpty { try visitor.visitSingularBytesField(value: self.addedByUserID, fieldNumber: 2) } if self.timestamp != 0 { try visitor.visitSingularUInt64Field(value: self.timestamp, fieldNumber: 3) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_PendingMember, rhs: GroupsProtos_PendingMember) -> Bool { if lhs._member != rhs._member {return false} if lhs.addedByUserID != rhs.addedByUserID {return false} if lhs.timestamp != rhs.timestamp {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_RequestingMember: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = _protobuf_package + ".RequestingMember" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "userId"), 2: .same(proto: "profileKey"), 4: .same(proto: "timestamp"), 3: .same(proto: "presentation"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularBytesField(value: &self.userID) }() case 2: try { try decoder.decodeSingularBytesField(value: &self.profileKey) }() case 3: try { try decoder.decodeSingularBytesField(value: &self.presentation) }() case 4: try { try decoder.decodeSingularUInt64Field(value: &self.timestamp) }() default: break } } } func traverse(visitor: inout V) throws { if !self.userID.isEmpty { try visitor.visitSingularBytesField(value: self.userID, fieldNumber: 1) } if !self.profileKey.isEmpty { try visitor.visitSingularBytesField(value: self.profileKey, fieldNumber: 2) } if !self.presentation.isEmpty { try visitor.visitSingularBytesField(value: self.presentation, fieldNumber: 3) } if self.timestamp != 0 { try visitor.visitSingularUInt64Field(value: self.timestamp, fieldNumber: 4) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_RequestingMember, rhs: GroupsProtos_RequestingMember) -> Bool { if lhs.userID != rhs.userID {return false} if lhs.profileKey != rhs.profileKey {return false} if lhs.timestamp != rhs.timestamp {return false} if lhs.presentation != rhs.presentation {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_BannedMember: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = _protobuf_package + ".BannedMember" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "userId"), 2: .same(proto: "bannedAtTimestamp"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularBytesField(value: &self.userID) }() case 2: try { try decoder.decodeSingularUInt64Field(value: &self.bannedAtTimestamp) }() default: break } } } func traverse(visitor: inout V) throws { if !self.userID.isEmpty { try visitor.visitSingularBytesField(value: self.userID, fieldNumber: 1) } if self.bannedAtTimestamp != 0 { try visitor.visitSingularUInt64Field(value: self.bannedAtTimestamp, fieldNumber: 2) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_BannedMember, rhs: GroupsProtos_BannedMember) -> Bool { if lhs.userID != rhs.userID {return false} if lhs.bannedAtTimestamp != rhs.bannedAtTimestamp {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_AccessControl: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = _protobuf_package + ".AccessControl" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "attributes"), 2: .same(proto: "members"), 3: .same(proto: "addFromInviteLink"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularEnumField(value: &self.attributes) }() case 2: try { try decoder.decodeSingularEnumField(value: &self.members) }() case 3: try { try decoder.decodeSingularEnumField(value: &self.addFromInviteLink) }() default: break } } } func traverse(visitor: inout V) throws { if self.attributes != .unknown { try visitor.visitSingularEnumField(value: self.attributes, fieldNumber: 1) } if self.members != .unknown { try visitor.visitSingularEnumField(value: self.members, fieldNumber: 2) } if self.addFromInviteLink != .unknown { try visitor.visitSingularEnumField(value: self.addFromInviteLink, fieldNumber: 3) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_AccessControl, rhs: GroupsProtos_AccessControl) -> Bool { if lhs.attributes != rhs.attributes {return false} if lhs.members != rhs.members {return false} if lhs.addFromInviteLink != rhs.addFromInviteLink {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_AccessControl.AccessRequired: SwiftProtobuf._ProtoNameProviding { static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 0: .same(proto: "UNKNOWN"), 1: .same(proto: "ANY"), 2: .same(proto: "MEMBER"), 3: .same(proto: "ADMINISTRATOR"), 4: .same(proto: "UNSATISFIABLE"), ] } extension GroupsProtos_Group: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = _protobuf_package + ".Group" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "publicKey"), 2: .same(proto: "title"), 3: .same(proto: "avatar"), 4: .same(proto: "disappearingMessagesTimer"), 11: .same(proto: "descriptionBytes"), 5: .same(proto: "accessControl"), 6: .same(proto: "revision"), 7: .same(proto: "members"), 8: .same(proto: "pendingMembers"), 9: .same(proto: "requestingMembers"), 10: .same(proto: "inviteLinkPassword"), 12: .same(proto: "announcementsOnly"), 13: .same(proto: "bannedMembers"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularBytesField(value: &self.publicKey) }() case 2: try { try decoder.decodeSingularBytesField(value: &self.title) }() case 3: try { try decoder.decodeSingularStringField(value: &self.avatar) }() case 4: try { try decoder.decodeSingularBytesField(value: &self.disappearingMessagesTimer) }() case 5: try { try decoder.decodeSingularMessageField(value: &self._accessControl) }() case 6: try { try decoder.decodeSingularUInt32Field(value: &self.revision) }() case 7: try { try decoder.decodeRepeatedMessageField(value: &self.members) }() case 8: try { try decoder.decodeRepeatedMessageField(value: &self.pendingMembers) }() case 9: try { try decoder.decodeRepeatedMessageField(value: &self.requestingMembers) }() case 10: try { try decoder.decodeSingularBytesField(value: &self.inviteLinkPassword) }() case 11: try { try decoder.decodeSingularBytesField(value: &self.descriptionBytes) }() case 12: try { try decoder.decodeSingularBoolField(value: &self.announcementsOnly) }() case 13: try { try decoder.decodeRepeatedMessageField(value: &self.bannedMembers) }() default: break } } } func traverse(visitor: inout V) throws { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every if/case branch local when no optimizations // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and // https://github.com/apple/swift-protobuf/issues/1182 if !self.publicKey.isEmpty { try visitor.visitSingularBytesField(value: self.publicKey, fieldNumber: 1) } if !self.title.isEmpty { try visitor.visitSingularBytesField(value: self.title, fieldNumber: 2) } if !self.avatar.isEmpty { try visitor.visitSingularStringField(value: self.avatar, fieldNumber: 3) } if !self.disappearingMessagesTimer.isEmpty { try visitor.visitSingularBytesField(value: self.disappearingMessagesTimer, fieldNumber: 4) } try { if let v = self._accessControl { try visitor.visitSingularMessageField(value: v, fieldNumber: 5) } }() if self.revision != 0 { try visitor.visitSingularUInt32Field(value: self.revision, fieldNumber: 6) } if !self.members.isEmpty { try visitor.visitRepeatedMessageField(value: self.members, fieldNumber: 7) } if !self.pendingMembers.isEmpty { try visitor.visitRepeatedMessageField(value: self.pendingMembers, fieldNumber: 8) } if !self.requestingMembers.isEmpty { try visitor.visitRepeatedMessageField(value: self.requestingMembers, fieldNumber: 9) } if !self.inviteLinkPassword.isEmpty { try visitor.visitSingularBytesField(value: self.inviteLinkPassword, fieldNumber: 10) } if !self.descriptionBytes.isEmpty { try visitor.visitSingularBytesField(value: self.descriptionBytes, fieldNumber: 11) } if self.announcementsOnly != false { try visitor.visitSingularBoolField(value: self.announcementsOnly, fieldNumber: 12) } if !self.bannedMembers.isEmpty { try visitor.visitRepeatedMessageField(value: self.bannedMembers, fieldNumber: 13) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_Group, rhs: GroupsProtos_Group) -> Bool { if lhs.publicKey != rhs.publicKey {return false} if lhs.title != rhs.title {return false} if lhs.avatar != rhs.avatar {return false} if lhs.disappearingMessagesTimer != rhs.disappearingMessagesTimer {return false} if lhs.descriptionBytes != rhs.descriptionBytes {return false} if lhs._accessControl != rhs._accessControl {return false} if lhs.revision != rhs.revision {return false} if lhs.members != rhs.members {return false} if lhs.pendingMembers != rhs.pendingMembers {return false} if lhs.requestingMembers != rhs.requestingMembers {return false} if lhs.inviteLinkPassword != rhs.inviteLinkPassword {return false} if lhs.announcementsOnly != rhs.announcementsOnly {return false} if lhs.bannedMembers != rhs.bannedMembers {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupAttributeBlob: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = _protobuf_package + ".GroupAttributeBlob" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "title"), 2: .same(proto: "avatar"), 3: .same(proto: "disappearingMessagesDuration"), 4: .same(proto: "descriptionText"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { var v: String? try decoder.decodeSingularStringField(value: &v) if let v = v { if self.content != nil {try decoder.handleConflictingOneOf()} self.content = .title(v) } }() case 2: try { var v: Data? try decoder.decodeSingularBytesField(value: &v) if let v = v { if self.content != nil {try decoder.handleConflictingOneOf()} self.content = .avatar(v) } }() case 3: try { var v: UInt32? try decoder.decodeSingularUInt32Field(value: &v) if let v = v { if self.content != nil {try decoder.handleConflictingOneOf()} self.content = .disappearingMessagesDuration(v) } }() case 4: try { var v: String? try decoder.decodeSingularStringField(value: &v) if let v = v { if self.content != nil {try decoder.handleConflictingOneOf()} self.content = .descriptionText(v) } }() default: break } } } func traverse(visitor: inout V) throws { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every if/case branch local when no optimizations // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and // https://github.com/apple/swift-protobuf/issues/1182 switch self.content { case .title?: try { guard case .title(let v)? = self.content else { preconditionFailure() } try visitor.visitSingularStringField(value: v, fieldNumber: 1) }() case .avatar?: try { guard case .avatar(let v)? = self.content else { preconditionFailure() } try visitor.visitSingularBytesField(value: v, fieldNumber: 2) }() case .disappearingMessagesDuration?: try { guard case .disappearingMessagesDuration(let v)? = self.content else { preconditionFailure() } try visitor.visitSingularUInt32Field(value: v, fieldNumber: 3) }() case .descriptionText?: try { guard case .descriptionText(let v)? = self.content else { preconditionFailure() } try visitor.visitSingularStringField(value: v, fieldNumber: 4) }() case nil: break } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupAttributeBlob, rhs: GroupsProtos_GroupAttributeBlob) -> Bool { if lhs.content != rhs.content {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupInviteLink: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = _protobuf_package + ".GroupInviteLink" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "contentsV1"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { var v: GroupsProtos_GroupInviteLink.GroupInviteLinkContentsV1? var hadOneofValue = false if let current = self.contents { hadOneofValue = true if case .contentsV1(let m) = current {v = m} } try decoder.decodeSingularMessageField(value: &v) if let v = v { if hadOneofValue {try decoder.handleConflictingOneOf()} self.contents = .contentsV1(v) } }() default: break } } } func traverse(visitor: inout V) throws { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every if/case branch local when no optimizations // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and // https://github.com/apple/swift-protobuf/issues/1182 try { if case .contentsV1(let v)? = self.contents { try visitor.visitSingularMessageField(value: v, fieldNumber: 1) } }() try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupInviteLink, rhs: GroupsProtos_GroupInviteLink) -> Bool { if lhs.contents != rhs.contents {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupInviteLink.GroupInviteLinkContentsV1: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupInviteLink.protoMessageName + ".GroupInviteLinkContentsV1" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "groupMasterKey"), 2: .same(proto: "inviteLinkPassword"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularBytesField(value: &self.groupMasterKey) }() case 2: try { try decoder.decodeSingularBytesField(value: &self.inviteLinkPassword) }() default: break } } } func traverse(visitor: inout V) throws { if !self.groupMasterKey.isEmpty { try visitor.visitSingularBytesField(value: self.groupMasterKey, fieldNumber: 1) } if !self.inviteLinkPassword.isEmpty { try visitor.visitSingularBytesField(value: self.inviteLinkPassword, fieldNumber: 2) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupInviteLink.GroupInviteLinkContentsV1, rhs: GroupsProtos_GroupInviteLink.GroupInviteLinkContentsV1) -> Bool { if lhs.groupMasterKey != rhs.groupMasterKey {return false} if lhs.inviteLinkPassword != rhs.inviteLinkPassword {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupJoinInfo: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = _protobuf_package + ".GroupJoinInfo" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "publicKey"), 2: .same(proto: "title"), 3: .same(proto: "avatar"), 4: .same(proto: "memberCount"), 5: .same(proto: "addFromInviteLink"), 6: .same(proto: "revision"), 7: .same(proto: "pendingAdminApproval"), 8: .same(proto: "descriptionBytes"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularBytesField(value: &self.publicKey) }() case 2: try { try decoder.decodeSingularBytesField(value: &self.title) }() case 3: try { try decoder.decodeSingularStringField(value: &self.avatar) }() case 4: try { try decoder.decodeSingularUInt32Field(value: &self.memberCount) }() case 5: try { try decoder.decodeSingularEnumField(value: &self.addFromInviteLink) }() case 6: try { try decoder.decodeSingularUInt32Field(value: &self.revision) }() case 7: try { try decoder.decodeSingularBoolField(value: &self.pendingAdminApproval) }() case 8: try { try decoder.decodeSingularBytesField(value: &self.descriptionBytes) }() default: break } } } func traverse(visitor: inout V) throws { if !self.publicKey.isEmpty { try visitor.visitSingularBytesField(value: self.publicKey, fieldNumber: 1) } if !self.title.isEmpty { try visitor.visitSingularBytesField(value: self.title, fieldNumber: 2) } if !self.avatar.isEmpty { try visitor.visitSingularStringField(value: self.avatar, fieldNumber: 3) } if self.memberCount != 0 { try visitor.visitSingularUInt32Field(value: self.memberCount, fieldNumber: 4) } if self.addFromInviteLink != .unknown { try visitor.visitSingularEnumField(value: self.addFromInviteLink, fieldNumber: 5) } if self.revision != 0 { try visitor.visitSingularUInt32Field(value: self.revision, fieldNumber: 6) } if self.pendingAdminApproval != false { try visitor.visitSingularBoolField(value: self.pendingAdminApproval, fieldNumber: 7) } if !self.descriptionBytes.isEmpty { try visitor.visitSingularBytesField(value: self.descriptionBytes, fieldNumber: 8) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupJoinInfo, rhs: GroupsProtos_GroupJoinInfo) -> Bool { if lhs.publicKey != rhs.publicKey {return false} if lhs.title != rhs.title {return false} if lhs.avatar != rhs.avatar {return false} if lhs.memberCount != rhs.memberCount {return false} if lhs.addFromInviteLink != rhs.addFromInviteLink {return false} if lhs.revision != rhs.revision {return false} if lhs.pendingAdminApproval != rhs.pendingAdminApproval {return false} if lhs.descriptionBytes != rhs.descriptionBytes {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = _protobuf_package + ".GroupChange" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "actions"), 2: .same(proto: "serverSignature"), 3: .same(proto: "changeEpoch"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularBytesField(value: &self.actions) }() case 2: try { try decoder.decodeSingularBytesField(value: &self.serverSignature) }() case 3: try { try decoder.decodeSingularUInt32Field(value: &self.changeEpoch) }() default: break } } } func traverse(visitor: inout V) throws { if !self.actions.isEmpty { try visitor.visitSingularBytesField(value: self.actions, fieldNumber: 1) } if !self.serverSignature.isEmpty { try visitor.visitSingularBytesField(value: self.serverSignature, fieldNumber: 2) } if self.changeEpoch != 0 { try visitor.visitSingularUInt32Field(value: self.changeEpoch, fieldNumber: 3) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange, rhs: GroupsProtos_GroupChange) -> Bool { if lhs.actions != rhs.actions {return false} if lhs.serverSignature != rhs.serverSignature {return false} if lhs.changeEpoch != rhs.changeEpoch {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.protoMessageName + ".Actions" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "sourceUserId"), 2: .same(proto: "revision"), 3: .same(proto: "addMembers"), 4: .same(proto: "deleteMembers"), 5: .same(proto: "modifyMemberRoles"), 6: .same(proto: "modifyMemberProfileKeys"), 7: .same(proto: "addPendingMembers"), 8: .same(proto: "deletePendingMembers"), 9: .same(proto: "promotePendingMembers"), 10: .same(proto: "modifyTitle"), 11: .same(proto: "modifyAvatar"), 12: .same(proto: "modifyDisappearingMessagesTimer"), 13: .same(proto: "modifyAttributesAccess"), 14: .same(proto: "modifyMemberAccess"), 15: .same(proto: "modifyAddFromInviteLinkAccess"), 16: .same(proto: "addRequestingMembers"), 17: .same(proto: "deleteRequestingMembers"), 18: .same(proto: "promoteRequestingMembers"), 19: .same(proto: "modifyInviteLinkPassword"), 20: .same(proto: "modifyDescription"), 21: .same(proto: "modifyAnnouncementsOnly"), 22: .same(proto: "addBannedMembers"), 23: .same(proto: "deleteBannedMembers"), 24: .same(proto: "promotePniPendingMembers"), ] fileprivate class _StorageClass { var _sourceUserID: Data = Data() var _revision: UInt32 = 0 var _addMembers: [GroupsProtos_GroupChange.Actions.AddMemberAction] = [] var _deleteMembers: [GroupsProtos_GroupChange.Actions.DeleteMemberAction] = [] var _modifyMemberRoles: [GroupsProtos_GroupChange.Actions.ModifyMemberRoleAction] = [] var _modifyMemberProfileKeys: [GroupsProtos_GroupChange.Actions.ModifyMemberProfileKeyAction] = [] var _addPendingMembers: [GroupsProtos_GroupChange.Actions.AddPendingMemberAction] = [] var _deletePendingMembers: [GroupsProtos_GroupChange.Actions.DeletePendingMemberAction] = [] var _promotePendingMembers: [GroupsProtos_GroupChange.Actions.PromotePendingMemberAction] = [] var _modifyTitle: GroupsProtos_GroupChange.Actions.ModifyTitleAction? = nil var _modifyAvatar: GroupsProtos_GroupChange.Actions.ModifyAvatarAction? = nil var _modifyDisappearingMessagesTimer: GroupsProtos_GroupChange.Actions.ModifyDisappearingMessagesTimerAction? = nil var _modifyAttributesAccess: GroupsProtos_GroupChange.Actions.ModifyAttributesAccessControlAction? = nil var _modifyMemberAccess: GroupsProtos_GroupChange.Actions.ModifyMembersAccessControlAction? = nil var _modifyAddFromInviteLinkAccess: GroupsProtos_GroupChange.Actions.ModifyAddFromInviteLinkAccessControlAction? = nil var _addRequestingMembers: [GroupsProtos_GroupChange.Actions.AddRequestingMemberAction] = [] var _deleteRequestingMembers: [GroupsProtos_GroupChange.Actions.DeleteRequestingMemberAction] = [] var _promoteRequestingMembers: [GroupsProtos_GroupChange.Actions.PromoteRequestingMemberAction] = [] var _modifyInviteLinkPassword: GroupsProtos_GroupChange.Actions.ModifyInviteLinkPasswordAction? = nil var _modifyDescription: GroupsProtos_GroupChange.Actions.ModifyDescriptionAction? = nil var _modifyAnnouncementsOnly: GroupsProtos_GroupChange.Actions.ModifyAnnouncementsOnlyAction? = nil var _addBannedMembers: [GroupsProtos_GroupChange.Actions.AddBannedMemberAction] = [] var _deleteBannedMembers: [GroupsProtos_GroupChange.Actions.DeleteBannedMemberAction] = [] var _promotePniPendingMembers: [GroupsProtos_GroupChange.Actions.PromoteMemberPendingPniAciProfileKeyAction] = [] #if swift(>=5.10) // This property is used as the initial default value for new instances of the type. // The type itself is protecting the reference to its storage via CoW semantics. // This will force a copy to be made of this reference when the first mutation occurs; // hence, it is safe to mark this as `nonisolated(unsafe)`. static nonisolated(unsafe) let defaultInstance = _StorageClass() #else static let defaultInstance = _StorageClass() #endif private init() {} init(copying source: _StorageClass) { _sourceUserID = source._sourceUserID _revision = source._revision _addMembers = source._addMembers _deleteMembers = source._deleteMembers _modifyMemberRoles = source._modifyMemberRoles _modifyMemberProfileKeys = source._modifyMemberProfileKeys _addPendingMembers = source._addPendingMembers _deletePendingMembers = source._deletePendingMembers _promotePendingMembers = source._promotePendingMembers _modifyTitle = source._modifyTitle _modifyAvatar = source._modifyAvatar _modifyDisappearingMessagesTimer = source._modifyDisappearingMessagesTimer _modifyAttributesAccess = source._modifyAttributesAccess _modifyMemberAccess = source._modifyMemberAccess _modifyAddFromInviteLinkAccess = source._modifyAddFromInviteLinkAccess _addRequestingMembers = source._addRequestingMembers _deleteRequestingMembers = source._deleteRequestingMembers _promoteRequestingMembers = source._promoteRequestingMembers _modifyInviteLinkPassword = source._modifyInviteLinkPassword _modifyDescription = source._modifyDescription _modifyAnnouncementsOnly = source._modifyAnnouncementsOnly _addBannedMembers = source._addBannedMembers _deleteBannedMembers = source._deleteBannedMembers _promotePniPendingMembers = source._promotePniPendingMembers } } fileprivate mutating func _uniqueStorage() -> _StorageClass { if !isKnownUniquelyReferenced(&_storage) { _storage = _StorageClass(copying: _storage) } return _storage } mutating func decodeMessage(decoder: inout D) throws { _ = _uniqueStorage() try withExtendedLifetime(_storage) { (_storage: _StorageClass) in while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularBytesField(value: &_storage._sourceUserID) }() case 2: try { try decoder.decodeSingularUInt32Field(value: &_storage._revision) }() case 3: try { try decoder.decodeRepeatedMessageField(value: &_storage._addMembers) }() case 4: try { try decoder.decodeRepeatedMessageField(value: &_storage._deleteMembers) }() case 5: try { try decoder.decodeRepeatedMessageField(value: &_storage._modifyMemberRoles) }() case 6: try { try decoder.decodeRepeatedMessageField(value: &_storage._modifyMemberProfileKeys) }() case 7: try { try decoder.decodeRepeatedMessageField(value: &_storage._addPendingMembers) }() case 8: try { try decoder.decodeRepeatedMessageField(value: &_storage._deletePendingMembers) }() case 9: try { try decoder.decodeRepeatedMessageField(value: &_storage._promotePendingMembers) }() case 10: try { try decoder.decodeSingularMessageField(value: &_storage._modifyTitle) }() case 11: try { try decoder.decodeSingularMessageField(value: &_storage._modifyAvatar) }() case 12: try { try decoder.decodeSingularMessageField(value: &_storage._modifyDisappearingMessagesTimer) }() case 13: try { try decoder.decodeSingularMessageField(value: &_storage._modifyAttributesAccess) }() case 14: try { try decoder.decodeSingularMessageField(value: &_storage._modifyMemberAccess) }() case 15: try { try decoder.decodeSingularMessageField(value: &_storage._modifyAddFromInviteLinkAccess) }() case 16: try { try decoder.decodeRepeatedMessageField(value: &_storage._addRequestingMembers) }() case 17: try { try decoder.decodeRepeatedMessageField(value: &_storage._deleteRequestingMembers) }() case 18: try { try decoder.decodeRepeatedMessageField(value: &_storage._promoteRequestingMembers) }() case 19: try { try decoder.decodeSingularMessageField(value: &_storage._modifyInviteLinkPassword) }() case 20: try { try decoder.decodeSingularMessageField(value: &_storage._modifyDescription) }() case 21: try { try decoder.decodeSingularMessageField(value: &_storage._modifyAnnouncementsOnly) }() case 22: try { try decoder.decodeRepeatedMessageField(value: &_storage._addBannedMembers) }() case 23: try { try decoder.decodeRepeatedMessageField(value: &_storage._deleteBannedMembers) }() case 24: try { try decoder.decodeRepeatedMessageField(value: &_storage._promotePniPendingMembers) }() default: break } } } } func traverse(visitor: inout V) throws { try withExtendedLifetime(_storage) { (_storage: _StorageClass) in // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every if/case branch local when no optimizations // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and // https://github.com/apple/swift-protobuf/issues/1182 if !_storage._sourceUserID.isEmpty { try visitor.visitSingularBytesField(value: _storage._sourceUserID, fieldNumber: 1) } if _storage._revision != 0 { try visitor.visitSingularUInt32Field(value: _storage._revision, fieldNumber: 2) } if !_storage._addMembers.isEmpty { try visitor.visitRepeatedMessageField(value: _storage._addMembers, fieldNumber: 3) } if !_storage._deleteMembers.isEmpty { try visitor.visitRepeatedMessageField(value: _storage._deleteMembers, fieldNumber: 4) } if !_storage._modifyMemberRoles.isEmpty { try visitor.visitRepeatedMessageField(value: _storage._modifyMemberRoles, fieldNumber: 5) } if !_storage._modifyMemberProfileKeys.isEmpty { try visitor.visitRepeatedMessageField(value: _storage._modifyMemberProfileKeys, fieldNumber: 6) } if !_storage._addPendingMembers.isEmpty { try visitor.visitRepeatedMessageField(value: _storage._addPendingMembers, fieldNumber: 7) } if !_storage._deletePendingMembers.isEmpty { try visitor.visitRepeatedMessageField(value: _storage._deletePendingMembers, fieldNumber: 8) } if !_storage._promotePendingMembers.isEmpty { try visitor.visitRepeatedMessageField(value: _storage._promotePendingMembers, fieldNumber: 9) } try { if let v = _storage._modifyTitle { try visitor.visitSingularMessageField(value: v, fieldNumber: 10) } }() try { if let v = _storage._modifyAvatar { try visitor.visitSingularMessageField(value: v, fieldNumber: 11) } }() try { if let v = _storage._modifyDisappearingMessagesTimer { try visitor.visitSingularMessageField(value: v, fieldNumber: 12) } }() try { if let v = _storage._modifyAttributesAccess { try visitor.visitSingularMessageField(value: v, fieldNumber: 13) } }() try { if let v = _storage._modifyMemberAccess { try visitor.visitSingularMessageField(value: v, fieldNumber: 14) } }() try { if let v = _storage._modifyAddFromInviteLinkAccess { try visitor.visitSingularMessageField(value: v, fieldNumber: 15) } }() if !_storage._addRequestingMembers.isEmpty { try visitor.visitRepeatedMessageField(value: _storage._addRequestingMembers, fieldNumber: 16) } if !_storage._deleteRequestingMembers.isEmpty { try visitor.visitRepeatedMessageField(value: _storage._deleteRequestingMembers, fieldNumber: 17) } if !_storage._promoteRequestingMembers.isEmpty { try visitor.visitRepeatedMessageField(value: _storage._promoteRequestingMembers, fieldNumber: 18) } try { if let v = _storage._modifyInviteLinkPassword { try visitor.visitSingularMessageField(value: v, fieldNumber: 19) } }() try { if let v = _storage._modifyDescription { try visitor.visitSingularMessageField(value: v, fieldNumber: 20) } }() try { if let v = _storage._modifyAnnouncementsOnly { try visitor.visitSingularMessageField(value: v, fieldNumber: 21) } }() if !_storage._addBannedMembers.isEmpty { try visitor.visitRepeatedMessageField(value: _storage._addBannedMembers, fieldNumber: 22) } if !_storage._deleteBannedMembers.isEmpty { try visitor.visitRepeatedMessageField(value: _storage._deleteBannedMembers, fieldNumber: 23) } if !_storage._promotePniPendingMembers.isEmpty { try visitor.visitRepeatedMessageField(value: _storage._promotePniPendingMembers, fieldNumber: 24) } } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions, rhs: GroupsProtos_GroupChange.Actions) -> Bool { if lhs._storage !== rhs._storage { let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in let _storage = _args.0 let rhs_storage = _args.1 if _storage._sourceUserID != rhs_storage._sourceUserID {return false} if _storage._revision != rhs_storage._revision {return false} if _storage._addMembers != rhs_storage._addMembers {return false} if _storage._deleteMembers != rhs_storage._deleteMembers {return false} if _storage._modifyMemberRoles != rhs_storage._modifyMemberRoles {return false} if _storage._modifyMemberProfileKeys != rhs_storage._modifyMemberProfileKeys {return false} if _storage._addPendingMembers != rhs_storage._addPendingMembers {return false} if _storage._deletePendingMembers != rhs_storage._deletePendingMembers {return false} if _storage._promotePendingMembers != rhs_storage._promotePendingMembers {return false} if _storage._modifyTitle != rhs_storage._modifyTitle {return false} if _storage._modifyAvatar != rhs_storage._modifyAvatar {return false} if _storage._modifyDisappearingMessagesTimer != rhs_storage._modifyDisappearingMessagesTimer {return false} if _storage._modifyAttributesAccess != rhs_storage._modifyAttributesAccess {return false} if _storage._modifyMemberAccess != rhs_storage._modifyMemberAccess {return false} if _storage._modifyAddFromInviteLinkAccess != rhs_storage._modifyAddFromInviteLinkAccess {return false} if _storage._addRequestingMembers != rhs_storage._addRequestingMembers {return false} if _storage._deleteRequestingMembers != rhs_storage._deleteRequestingMembers {return false} if _storage._promoteRequestingMembers != rhs_storage._promoteRequestingMembers {return false} if _storage._modifyInviteLinkPassword != rhs_storage._modifyInviteLinkPassword {return false} if _storage._modifyDescription != rhs_storage._modifyDescription {return false} if _storage._modifyAnnouncementsOnly != rhs_storage._modifyAnnouncementsOnly {return false} if _storage._addBannedMembers != rhs_storage._addBannedMembers {return false} if _storage._deleteBannedMembers != rhs_storage._deleteBannedMembers {return false} if _storage._promotePniPendingMembers != rhs_storage._promotePniPendingMembers {return false} return true } if !storagesAreEqual {return false} } if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions.AddMemberAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.Actions.protoMessageName + ".AddMemberAction" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "added"), 2: .same(proto: "joinFromInviteLink"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularMessageField(value: &self._added) }() case 2: try { try decoder.decodeSingularBoolField(value: &self.joinFromInviteLink) }() default: break } } } func traverse(visitor: inout V) throws { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every if/case branch local when no optimizations // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and // https://github.com/apple/swift-protobuf/issues/1182 try { if let v = self._added { try visitor.visitSingularMessageField(value: v, fieldNumber: 1) } }() if self.joinFromInviteLink != false { try visitor.visitSingularBoolField(value: self.joinFromInviteLink, fieldNumber: 2) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions.AddMemberAction, rhs: GroupsProtos_GroupChange.Actions.AddMemberAction) -> Bool { if lhs._added != rhs._added {return false} if lhs.joinFromInviteLink != rhs.joinFromInviteLink {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions.DeleteMemberAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.Actions.protoMessageName + ".DeleteMemberAction" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "deletedUserId"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularBytesField(value: &self.deletedUserID) }() default: break } } } func traverse(visitor: inout V) throws { if !self.deletedUserID.isEmpty { try visitor.visitSingularBytesField(value: self.deletedUserID, fieldNumber: 1) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions.DeleteMemberAction, rhs: GroupsProtos_GroupChange.Actions.DeleteMemberAction) -> Bool { if lhs.deletedUserID != rhs.deletedUserID {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions.ModifyMemberRoleAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.Actions.protoMessageName + ".ModifyMemberRoleAction" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "userId"), 2: .same(proto: "role"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularBytesField(value: &self.userID) }() case 2: try { try decoder.decodeSingularEnumField(value: &self.role) }() default: break } } } func traverse(visitor: inout V) throws { if !self.userID.isEmpty { try visitor.visitSingularBytesField(value: self.userID, fieldNumber: 1) } if self.role != .unknown { try visitor.visitSingularEnumField(value: self.role, fieldNumber: 2) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions.ModifyMemberRoleAction, rhs: GroupsProtos_GroupChange.Actions.ModifyMemberRoleAction) -> Bool { if lhs.userID != rhs.userID {return false} if lhs.role != rhs.role {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions.ModifyMemberProfileKeyAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.Actions.protoMessageName + ".ModifyMemberProfileKeyAction" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "presentation"), 2: .standard(proto: "user_id"), 3: .standard(proto: "profile_key"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularBytesField(value: &self.presentation) }() case 2: try { try decoder.decodeSingularBytesField(value: &self.userID) }() case 3: try { try decoder.decodeSingularBytesField(value: &self.profileKey) }() default: break } } } func traverse(visitor: inout V) throws { if !self.presentation.isEmpty { try visitor.visitSingularBytesField(value: self.presentation, fieldNumber: 1) } if !self.userID.isEmpty { try visitor.visitSingularBytesField(value: self.userID, fieldNumber: 2) } if !self.profileKey.isEmpty { try visitor.visitSingularBytesField(value: self.profileKey, fieldNumber: 3) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions.ModifyMemberProfileKeyAction, rhs: GroupsProtos_GroupChange.Actions.ModifyMemberProfileKeyAction) -> Bool { if lhs.presentation != rhs.presentation {return false} if lhs.userID != rhs.userID {return false} if lhs.profileKey != rhs.profileKey {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions.AddPendingMemberAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.Actions.protoMessageName + ".AddPendingMemberAction" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "added"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularMessageField(value: &self._added) }() default: break } } } func traverse(visitor: inout V) throws { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every if/case branch local when no optimizations // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and // https://github.com/apple/swift-protobuf/issues/1182 try { if let v = self._added { try visitor.visitSingularMessageField(value: v, fieldNumber: 1) } }() try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions.AddPendingMemberAction, rhs: GroupsProtos_GroupChange.Actions.AddPendingMemberAction) -> Bool { if lhs._added != rhs._added {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions.DeletePendingMemberAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.Actions.protoMessageName + ".DeletePendingMemberAction" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "deletedUserId"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularBytesField(value: &self.deletedUserID) }() default: break } } } func traverse(visitor: inout V) throws { if !self.deletedUserID.isEmpty { try visitor.visitSingularBytesField(value: self.deletedUserID, fieldNumber: 1) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions.DeletePendingMemberAction, rhs: GroupsProtos_GroupChange.Actions.DeletePendingMemberAction) -> Bool { if lhs.deletedUserID != rhs.deletedUserID {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions.PromotePendingMemberAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.Actions.protoMessageName + ".PromotePendingMemberAction" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "presentation"), 2: .standard(proto: "user_id"), 3: .standard(proto: "profile_key"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularBytesField(value: &self.presentation) }() case 2: try { try decoder.decodeSingularBytesField(value: &self.userID) }() case 3: try { try decoder.decodeSingularBytesField(value: &self.profileKey) }() default: break } } } func traverse(visitor: inout V) throws { if !self.presentation.isEmpty { try visitor.visitSingularBytesField(value: self.presentation, fieldNumber: 1) } if !self.userID.isEmpty { try visitor.visitSingularBytesField(value: self.userID, fieldNumber: 2) } if !self.profileKey.isEmpty { try visitor.visitSingularBytesField(value: self.profileKey, fieldNumber: 3) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions.PromotePendingMemberAction, rhs: GroupsProtos_GroupChange.Actions.PromotePendingMemberAction) -> Bool { if lhs.presentation != rhs.presentation {return false} if lhs.userID != rhs.userID {return false} if lhs.profileKey != rhs.profileKey {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions.PromoteMemberPendingPniAciProfileKeyAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.Actions.protoMessageName + ".PromoteMemberPendingPniAciProfileKeyAction" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 2: .standard(proto: "user_id"), 3: .same(proto: "pni"), 4: .standard(proto: "profile_key"), 1: .same(proto: "presentation"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularBytesField(value: &self.presentation) }() case 2: try { try decoder.decodeSingularBytesField(value: &self.userID) }() case 3: try { try decoder.decodeSingularBytesField(value: &self.pni) }() case 4: try { try decoder.decodeSingularBytesField(value: &self.profileKey) }() default: break } } } func traverse(visitor: inout V) throws { if !self.presentation.isEmpty { try visitor.visitSingularBytesField(value: self.presentation, fieldNumber: 1) } if !self.userID.isEmpty { try visitor.visitSingularBytesField(value: self.userID, fieldNumber: 2) } if !self.pni.isEmpty { try visitor.visitSingularBytesField(value: self.pni, fieldNumber: 3) } if !self.profileKey.isEmpty { try visitor.visitSingularBytesField(value: self.profileKey, fieldNumber: 4) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions.PromoteMemberPendingPniAciProfileKeyAction, rhs: GroupsProtos_GroupChange.Actions.PromoteMemberPendingPniAciProfileKeyAction) -> Bool { if lhs.userID != rhs.userID {return false} if lhs.pni != rhs.pni {return false} if lhs.profileKey != rhs.profileKey {return false} if lhs.presentation != rhs.presentation {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions.AddRequestingMemberAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.Actions.protoMessageName + ".AddRequestingMemberAction" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "added"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularMessageField(value: &self._added) }() default: break } } } func traverse(visitor: inout V) throws { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every if/case branch local when no optimizations // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and // https://github.com/apple/swift-protobuf/issues/1182 try { if let v = self._added { try visitor.visitSingularMessageField(value: v, fieldNumber: 1) } }() try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions.AddRequestingMemberAction, rhs: GroupsProtos_GroupChange.Actions.AddRequestingMemberAction) -> Bool { if lhs._added != rhs._added {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions.DeleteRequestingMemberAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.Actions.protoMessageName + ".DeleteRequestingMemberAction" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "deletedUserId"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularBytesField(value: &self.deletedUserID) }() default: break } } } func traverse(visitor: inout V) throws { if !self.deletedUserID.isEmpty { try visitor.visitSingularBytesField(value: self.deletedUserID, fieldNumber: 1) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions.DeleteRequestingMemberAction, rhs: GroupsProtos_GroupChange.Actions.DeleteRequestingMemberAction) -> Bool { if lhs.deletedUserID != rhs.deletedUserID {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions.PromoteRequestingMemberAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.Actions.protoMessageName + ".PromoteRequestingMemberAction" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "userId"), 2: .same(proto: "role"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularBytesField(value: &self.userID) }() case 2: try { try decoder.decodeSingularEnumField(value: &self.role) }() default: break } } } func traverse(visitor: inout V) throws { if !self.userID.isEmpty { try visitor.visitSingularBytesField(value: self.userID, fieldNumber: 1) } if self.role != .unknown { try visitor.visitSingularEnumField(value: self.role, fieldNumber: 2) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions.PromoteRequestingMemberAction, rhs: GroupsProtos_GroupChange.Actions.PromoteRequestingMemberAction) -> Bool { if lhs.userID != rhs.userID {return false} if lhs.role != rhs.role {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions.AddBannedMemberAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.Actions.protoMessageName + ".AddBannedMemberAction" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "added"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularMessageField(value: &self._added) }() default: break } } } func traverse(visitor: inout V) throws { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every if/case branch local when no optimizations // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and // https://github.com/apple/swift-protobuf/issues/1182 try { if let v = self._added { try visitor.visitSingularMessageField(value: v, fieldNumber: 1) } }() try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions.AddBannedMemberAction, rhs: GroupsProtos_GroupChange.Actions.AddBannedMemberAction) -> Bool { if lhs._added != rhs._added {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions.DeleteBannedMemberAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.Actions.protoMessageName + ".DeleteBannedMemberAction" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "deletedUserId"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularBytesField(value: &self.deletedUserID) }() default: break } } } func traverse(visitor: inout V) throws { if !self.deletedUserID.isEmpty { try visitor.visitSingularBytesField(value: self.deletedUserID, fieldNumber: 1) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions.DeleteBannedMemberAction, rhs: GroupsProtos_GroupChange.Actions.DeleteBannedMemberAction) -> Bool { if lhs.deletedUserID != rhs.deletedUserID {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions.ModifyTitleAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.Actions.protoMessageName + ".ModifyTitleAction" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "title"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularBytesField(value: &self.title) }() default: break } } } func traverse(visitor: inout V) throws { if !self.title.isEmpty { try visitor.visitSingularBytesField(value: self.title, fieldNumber: 1) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions.ModifyTitleAction, rhs: GroupsProtos_GroupChange.Actions.ModifyTitleAction) -> Bool { if lhs.title != rhs.title {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions.ModifyAvatarAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.Actions.protoMessageName + ".ModifyAvatarAction" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "avatar"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularStringField(value: &self.avatar) }() default: break } } } func traverse(visitor: inout V) throws { if !self.avatar.isEmpty { try visitor.visitSingularStringField(value: self.avatar, fieldNumber: 1) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions.ModifyAvatarAction, rhs: GroupsProtos_GroupChange.Actions.ModifyAvatarAction) -> Bool { if lhs.avatar != rhs.avatar {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions.ModifyDisappearingMessagesTimerAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.Actions.protoMessageName + ".ModifyDisappearingMessagesTimerAction" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "timer"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularBytesField(value: &self.timer) }() default: break } } } func traverse(visitor: inout V) throws { if !self.timer.isEmpty { try visitor.visitSingularBytesField(value: self.timer, fieldNumber: 1) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions.ModifyDisappearingMessagesTimerAction, rhs: GroupsProtos_GroupChange.Actions.ModifyDisappearingMessagesTimerAction) -> Bool { if lhs.timer != rhs.timer {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions.ModifyAttributesAccessControlAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.Actions.protoMessageName + ".ModifyAttributesAccessControlAction" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "attributesAccess"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularEnumField(value: &self.attributesAccess) }() default: break } } } func traverse(visitor: inout V) throws { if self.attributesAccess != .unknown { try visitor.visitSingularEnumField(value: self.attributesAccess, fieldNumber: 1) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions.ModifyAttributesAccessControlAction, rhs: GroupsProtos_GroupChange.Actions.ModifyAttributesAccessControlAction) -> Bool { if lhs.attributesAccess != rhs.attributesAccess {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions.ModifyAvatarAccessControlAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.Actions.protoMessageName + ".ModifyAvatarAccessControlAction" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "avatarAccess"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularEnumField(value: &self.avatarAccess) }() default: break } } } func traverse(visitor: inout V) throws { if self.avatarAccess != .unknown { try visitor.visitSingularEnumField(value: self.avatarAccess, fieldNumber: 1) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions.ModifyAvatarAccessControlAction, rhs: GroupsProtos_GroupChange.Actions.ModifyAvatarAccessControlAction) -> Bool { if lhs.avatarAccess != rhs.avatarAccess {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions.ModifyMembersAccessControlAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.Actions.protoMessageName + ".ModifyMembersAccessControlAction" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "membersAccess"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularEnumField(value: &self.membersAccess) }() default: break } } } func traverse(visitor: inout V) throws { if self.membersAccess != .unknown { try visitor.visitSingularEnumField(value: self.membersAccess, fieldNumber: 1) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions.ModifyMembersAccessControlAction, rhs: GroupsProtos_GroupChange.Actions.ModifyMembersAccessControlAction) -> Bool { if lhs.membersAccess != rhs.membersAccess {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions.ModifyAddFromInviteLinkAccessControlAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.Actions.protoMessageName + ".ModifyAddFromInviteLinkAccessControlAction" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "addFromInviteLinkAccess"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularEnumField(value: &self.addFromInviteLinkAccess) }() default: break } } } func traverse(visitor: inout V) throws { if self.addFromInviteLinkAccess != .unknown { try visitor.visitSingularEnumField(value: self.addFromInviteLinkAccess, fieldNumber: 1) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions.ModifyAddFromInviteLinkAccessControlAction, rhs: GroupsProtos_GroupChange.Actions.ModifyAddFromInviteLinkAccessControlAction) -> Bool { if lhs.addFromInviteLinkAccess != rhs.addFromInviteLinkAccess {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions.ModifyInviteLinkPasswordAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.Actions.protoMessageName + ".ModifyInviteLinkPasswordAction" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "inviteLinkPassword"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularBytesField(value: &self.inviteLinkPassword) }() default: break } } } func traverse(visitor: inout V) throws { if !self.inviteLinkPassword.isEmpty { try visitor.visitSingularBytesField(value: self.inviteLinkPassword, fieldNumber: 1) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions.ModifyInviteLinkPasswordAction, rhs: GroupsProtos_GroupChange.Actions.ModifyInviteLinkPasswordAction) -> Bool { if lhs.inviteLinkPassword != rhs.inviteLinkPassword {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions.ModifyDescriptionAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.Actions.protoMessageName + ".ModifyDescriptionAction" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "descriptionBytes"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularBytesField(value: &self.descriptionBytes) }() default: break } } } func traverse(visitor: inout V) throws { if !self.descriptionBytes.isEmpty { try visitor.visitSingularBytesField(value: self.descriptionBytes, fieldNumber: 1) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions.ModifyDescriptionAction, rhs: GroupsProtos_GroupChange.Actions.ModifyDescriptionAction) -> Bool { if lhs.descriptionBytes != rhs.descriptionBytes {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChange.Actions.ModifyAnnouncementsOnlyAction: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChange.Actions.protoMessageName + ".ModifyAnnouncementsOnlyAction" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "announcementsOnly"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularBoolField(value: &self.announcementsOnly) }() default: break } } } func traverse(visitor: inout V) throws { if self.announcementsOnly != false { try visitor.visitSingularBoolField(value: self.announcementsOnly, fieldNumber: 1) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChange.Actions.ModifyAnnouncementsOnlyAction, rhs: GroupsProtos_GroupChange.Actions.ModifyAnnouncementsOnlyAction) -> Bool { if lhs.announcementsOnly != rhs.announcementsOnly {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChanges: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = _protobuf_package + ".GroupChanges" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "groupChanges"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeRepeatedBytesField(value: &self.groupChanges) }() default: break } } } func traverse(visitor: inout V) throws { if !self.groupChanges.isEmpty { try visitor.visitRepeatedBytesField(value: self.groupChanges, fieldNumber: 1) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChanges, rhs: GroupsProtos_GroupChanges) -> Bool { if lhs.groupChanges != rhs.groupChanges {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupChanges.GroupChangeState: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = GroupsProtos_GroupChanges.protoMessageName + ".GroupChangeState" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "groupChange"), 2: .same(proto: "groupState"), ] fileprivate class _StorageClass { var _groupChange: GroupsProtos_GroupChange? = nil var _groupState: GroupsProtos_Group? = nil #if swift(>=5.10) // This property is used as the initial default value for new instances of the type. // The type itself is protecting the reference to its storage via CoW semantics. // This will force a copy to be made of this reference when the first mutation occurs; // hence, it is safe to mark this as `nonisolated(unsafe)`. static nonisolated(unsafe) let defaultInstance = _StorageClass() #else static let defaultInstance = _StorageClass() #endif private init() {} init(copying source: _StorageClass) { _groupChange = source._groupChange _groupState = source._groupState } } fileprivate mutating func _uniqueStorage() -> _StorageClass { if !isKnownUniquelyReferenced(&_storage) { _storage = _StorageClass(copying: _storage) } return _storage } mutating func decodeMessage(decoder: inout D) throws { _ = _uniqueStorage() try withExtendedLifetime(_storage) { (_storage: _StorageClass) in while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularMessageField(value: &_storage._groupChange) }() case 2: try { try decoder.decodeSingularMessageField(value: &_storage._groupState) }() default: break } } } } func traverse(visitor: inout V) throws { try withExtendedLifetime(_storage) { (_storage: _StorageClass) in // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every if/case branch local when no optimizations // are enabled. https://github.com/apple/swift-protobuf/issues/1034 and // https://github.com/apple/swift-protobuf/issues/1182 try { if let v = _storage._groupChange { try visitor.visitSingularMessageField(value: v, fieldNumber: 1) } }() try { if let v = _storage._groupState { try visitor.visitSingularMessageField(value: v, fieldNumber: 2) } }() } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupChanges.GroupChangeState, rhs: GroupsProtos_GroupChanges.GroupChangeState) -> Bool { if lhs._storage !== rhs._storage { let storagesAreEqual: Bool = withExtendedLifetime((lhs._storage, rhs._storage)) { (_args: (_StorageClass, _StorageClass)) in let _storage = _args.0 let rhs_storage = _args.1 if _storage._groupChange != rhs_storage._groupChange {return false} if _storage._groupState != rhs_storage._groupState {return false} return true } if !storagesAreEqual {return false} } if lhs.unknownFields != rhs.unknownFields {return false} return true } } extension GroupsProtos_GroupExternalCredential: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding { static let protoMessageName: String = _protobuf_package + ".GroupExternalCredential" static let _protobuf_nameMap: SwiftProtobuf._NameMap = [ 1: .same(proto: "token"), ] mutating func decodeMessage(decoder: inout D) throws { while let fieldNumber = try decoder.nextFieldNumber() { // The use of inline closures is to circumvent an issue where the compiler // allocates stack space for every case branch when no optimizations are // enabled. https://github.com/apple/swift-protobuf/issues/1034 switch fieldNumber { case 1: try { try decoder.decodeSingularStringField(value: &self.token) }() default: break } } } func traverse(visitor: inout V) throws { if !self.token.isEmpty { try visitor.visitSingularStringField(value: self.token, fieldNumber: 1) } try unknownFields.traverse(visitor: &visitor) } static func ==(lhs: GroupsProtos_GroupExternalCredential, rhs: GroupsProtos_GroupExternalCredential) -> Bool { if lhs.token != rhs.token {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } }