// Generated by the protocol buffer compiler.  DO NOT EDIT!

#import "OWSProvisioningProtos.pb.h"
// @@protoc_insertion_point(imports)

@implementation OWSProvisioningProtosOwsprovisioningProtosRoot
static PBExtensionRegistry* extensionRegistry = nil;
+ (PBExtensionRegistry*) extensionRegistry {
  return extensionRegistry;
}

+ (void) initialize {
  if (self == [OWSProvisioningProtosOwsprovisioningProtosRoot class]) {
    PBMutableExtensionRegistry* registry = [PBMutableExtensionRegistry registry];
    [self registerAllExtensions:registry];
    [ObjectivecDescriptorRoot registerAllExtensions:registry];
    extensionRegistry = registry;
  }
}
+ (void) registerAllExtensions:(PBMutableExtensionRegistry*) registry {
}
@end

@interface OWSProvisioningProtosProvisionEnvelope ()
@property (strong) NSData* publicKey;
@property (strong) NSData* body;
@end

@implementation OWSProvisioningProtosProvisionEnvelope

- (BOOL) hasPublicKey {
  return !!hasPublicKey_;
}
- (void) setHasPublicKey:(BOOL) _value_ {
  hasPublicKey_ = !!_value_;
}
@synthesize publicKey;
- (BOOL) hasBody {
  return !!hasBody_;
}
- (void) setHasBody:(BOOL) _value_ {
  hasBody_ = !!_value_;
}
@synthesize body;
- (instancetype) init {
  if ((self = [super init])) {
    self.publicKey = [NSData data];
    self.body = [NSData data];
  }
  return self;
}
static OWSProvisioningProtosProvisionEnvelope* defaultOWSProvisioningProtosProvisionEnvelopeInstance = nil;
+ (void) initialize {
  if (self == [OWSProvisioningProtosProvisionEnvelope class]) {
    defaultOWSProvisioningProtosProvisionEnvelopeInstance = [[OWSProvisioningProtosProvisionEnvelope alloc] init];
  }
}
+ (instancetype) defaultInstance {
  return defaultOWSProvisioningProtosProvisionEnvelopeInstance;
}
- (instancetype) defaultInstance {
  return defaultOWSProvisioningProtosProvisionEnvelopeInstance;
}
- (BOOL) isInitialized {
  return YES;
}
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output {
  if (self.hasPublicKey) {
    [output writeData:1 value:self.publicKey];
  }
  if (self.hasBody) {
    [output writeData:2 value:self.body];
  }
  [self.unknownFields writeToCodedOutputStream:output];
}
- (SInt32) serializedSize {
  __block SInt32 size_ = memoizedSerializedSize;
  if (size_ != -1) {
    return size_;
  }

  size_ = 0;
  if (self.hasPublicKey) {
    size_ += computeDataSize(1, self.publicKey);
  }
  if (self.hasBody) {
    size_ += computeDataSize(2, self.body);
  }
  size_ += self.unknownFields.serializedSize;
  memoizedSerializedSize = size_;
  return size_;
}
+ (OWSProvisioningProtosProvisionEnvelope*) parseFromData:(NSData*) data {
  return (OWSProvisioningProtosProvisionEnvelope*)[[[OWSProvisioningProtosProvisionEnvelope builder] mergeFromData:data] build];
}
+ (OWSProvisioningProtosProvisionEnvelope*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  return (OWSProvisioningProtosProvisionEnvelope*)[[[OWSProvisioningProtosProvisionEnvelope builder] mergeFromData:data extensionRegistry:extensionRegistry] build];
}
+ (OWSProvisioningProtosProvisionEnvelope*) parseFromInputStream:(NSInputStream*) input {
  return (OWSProvisioningProtosProvisionEnvelope*)[[[OWSProvisioningProtosProvisionEnvelope builder] mergeFromInputStream:input] build];
}
+ (OWSProvisioningProtosProvisionEnvelope*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  return (OWSProvisioningProtosProvisionEnvelope*)[[[OWSProvisioningProtosProvisionEnvelope builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build];
}
+ (OWSProvisioningProtosProvisionEnvelope*) parseFromCodedInputStream:(PBCodedInputStream*) input {
  return (OWSProvisioningProtosProvisionEnvelope*)[[[OWSProvisioningProtosProvisionEnvelope builder] mergeFromCodedInputStream:input] build];
}
+ (OWSProvisioningProtosProvisionEnvelope*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  return (OWSProvisioningProtosProvisionEnvelope*)[[[OWSProvisioningProtosProvisionEnvelope builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build];
}
+ (OWSProvisioningProtosProvisionEnvelopeBuilder*) builder {
  return [[OWSProvisioningProtosProvisionEnvelopeBuilder alloc] init];
}
+ (OWSProvisioningProtosProvisionEnvelopeBuilder*) builderWithPrototype:(OWSProvisioningProtosProvisionEnvelope*) prototype {
  return [[OWSProvisioningProtosProvisionEnvelope builder] mergeFrom:prototype];
}
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) builder {
  return [OWSProvisioningProtosProvisionEnvelope builder];
}
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) toBuilder {
  return [OWSProvisioningProtosProvisionEnvelope builderWithPrototype:self];
}
- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent {
  if (self.hasPublicKey) {
    [output appendFormat:@"%@%@: %@\n", indent, @"publicKey", self.publicKey];
  }
  if (self.hasBody) {
    [output appendFormat:@"%@%@: %@\n", indent, @"body", self.body];
  }
  [self.unknownFields writeDescriptionTo:output withIndent:indent];
}
- (void) storeInDictionary:(NSMutableDictionary *)dictionary {
  if (self.hasPublicKey) {
    [dictionary setObject: self.publicKey forKey: @"publicKey"];
  }
  if (self.hasBody) {
    [dictionary setObject: self.body forKey: @"body"];
  }
  [self.unknownFields storeInDictionary:dictionary];
}
- (BOOL) isEqual:(id)other {
  if (other == self) {
    return YES;
  }
  if (![other isKindOfClass:[OWSProvisioningProtosProvisionEnvelope class]]) {
    return NO;
  }
  OWSProvisioningProtosProvisionEnvelope *otherMessage = other;
  return
      self.hasPublicKey == otherMessage.hasPublicKey &&
      (!self.hasPublicKey || [self.publicKey isEqual:otherMessage.publicKey]) &&
      self.hasBody == otherMessage.hasBody &&
      (!self.hasBody || [self.body isEqual:otherMessage.body]) &&
      (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields]));
}
- (NSUInteger) hash {
  __block NSUInteger hashCode = 7;
  if (self.hasPublicKey) {
    hashCode = hashCode * 31 + [self.publicKey hash];
  }
  if (self.hasBody) {
    hashCode = hashCode * 31 + [self.body hash];
  }
  hashCode = hashCode * 31 + [self.unknownFields hash];
  return hashCode;
}
@end

@interface OWSProvisioningProtosProvisionEnvelopeBuilder()
@property (strong) OWSProvisioningProtosProvisionEnvelope* resultProvisionEnvelope;
@end

@implementation OWSProvisioningProtosProvisionEnvelopeBuilder
@synthesize resultProvisionEnvelope;
- (instancetype) init {
  if ((self = [super init])) {
    self.resultProvisionEnvelope = [[OWSProvisioningProtosProvisionEnvelope alloc] init];
  }
  return self;
}
- (PBGeneratedMessage*) internalGetResult {
  return resultProvisionEnvelope;
}
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) clear {
  self.resultProvisionEnvelope = [[OWSProvisioningProtosProvisionEnvelope alloc] init];
  return self;
}
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) clone {
  return [OWSProvisioningProtosProvisionEnvelope builderWithPrototype:resultProvisionEnvelope];
}
- (OWSProvisioningProtosProvisionEnvelope*) defaultInstance {
  return [OWSProvisioningProtosProvisionEnvelope defaultInstance];
}
- (OWSProvisioningProtosProvisionEnvelope*) build {
  [self checkInitialized];
  return [self buildPartial];
}
- (OWSProvisioningProtosProvisionEnvelope*) buildPartial {
  OWSProvisioningProtosProvisionEnvelope* returnMe = resultProvisionEnvelope;
  self.resultProvisionEnvelope = nil;
  return returnMe;
}
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) mergeFrom:(OWSProvisioningProtosProvisionEnvelope*) other {
  if (other == [OWSProvisioningProtosProvisionEnvelope defaultInstance]) {
    return self;
  }
  if (other.hasPublicKey) {
    [self setPublicKey:other.publicKey];
  }
  if (other.hasBody) {
    [self setBody:other.body];
  }
  [self mergeUnknownFields:other.unknownFields];
  return self;
}
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input {
  return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]];
}
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  PBUnknownFieldSetBuilder* unknownFields = [PBUnknownFieldSet builderWithUnknownFields:self.unknownFields];
  while (YES) {
    SInt32 tag = [input readTag];
    switch (tag) {
      case 0:
        [self setUnknownFields:[unknownFields build]];
        return self;
      default: {
        if (![self parseUnknownField:input unknownFields:unknownFields extensionRegistry:extensionRegistry tag:tag]) {
          [self setUnknownFields:[unknownFields build]];
          return self;
        }
        break;
      }
      case 10: {
        [self setPublicKey:[input readData]];
        break;
      }
      case 18: {
        [self setBody:[input readData]];
        break;
      }
    }
  }
}
- (BOOL) hasPublicKey {
  return resultProvisionEnvelope.hasPublicKey;
}
- (NSData*) publicKey {
  return resultProvisionEnvelope.publicKey;
}
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) setPublicKey:(NSData*) value {
  resultProvisionEnvelope.hasPublicKey = YES;
  resultProvisionEnvelope.publicKey = value;
  return self;
}
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) clearPublicKey {
  resultProvisionEnvelope.hasPublicKey = NO;
  resultProvisionEnvelope.publicKey = [NSData data];
  return self;
}
- (BOOL) hasBody {
  return resultProvisionEnvelope.hasBody;
}
- (NSData*) body {
  return resultProvisionEnvelope.body;
}
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) setBody:(NSData*) value {
  resultProvisionEnvelope.hasBody = YES;
  resultProvisionEnvelope.body = value;
  return self;
}
- (OWSProvisioningProtosProvisionEnvelopeBuilder*) clearBody {
  resultProvisionEnvelope.hasBody = NO;
  resultProvisionEnvelope.body = [NSData data];
  return self;
}
@end

@interface OWSProvisioningProtosProvisionMessage ()
@property (strong) NSData* identityKeyPublic;
@property (strong) NSData* identityKeyPrivate;
@property (strong) NSString* number;
@property (strong) NSString* provisioningCode;
@property (strong) NSString* userAgent;
@property (strong) NSData* profileKey;
@property BOOL readReceipts;
@end

@implementation OWSProvisioningProtosProvisionMessage

- (BOOL) hasIdentityKeyPublic {
  return !!hasIdentityKeyPublic_;
}
- (void) setHasIdentityKeyPublic:(BOOL) _value_ {
  hasIdentityKeyPublic_ = !!_value_;
}
@synthesize identityKeyPublic;
- (BOOL) hasIdentityKeyPrivate {
  return !!hasIdentityKeyPrivate_;
}
- (void) setHasIdentityKeyPrivate:(BOOL) _value_ {
  hasIdentityKeyPrivate_ = !!_value_;
}
@synthesize identityKeyPrivate;
- (BOOL) hasNumber {
  return !!hasNumber_;
}
- (void) setHasNumber:(BOOL) _value_ {
  hasNumber_ = !!_value_;
}
@synthesize number;
- (BOOL) hasProvisioningCode {
  return !!hasProvisioningCode_;
}
- (void) setHasProvisioningCode:(BOOL) _value_ {
  hasProvisioningCode_ = !!_value_;
}
@synthesize provisioningCode;
- (BOOL) hasUserAgent {
  return !!hasUserAgent_;
}
- (void) setHasUserAgent:(BOOL) _value_ {
  hasUserAgent_ = !!_value_;
}
@synthesize userAgent;
- (BOOL) hasProfileKey {
  return !!hasProfileKey_;
}
- (void) setHasProfileKey:(BOOL) _value_ {
  hasProfileKey_ = !!_value_;
}
@synthesize profileKey;
- (BOOL) hasReadReceipts {
  return !!hasReadReceipts_;
}
- (void) setHasReadReceipts:(BOOL) _value_ {
  hasReadReceipts_ = !!_value_;
}
- (BOOL) readReceipts {
  return !!readReceipts_;
}
- (void) setReadReceipts:(BOOL) _value_ {
  readReceipts_ = !!_value_;
}
- (instancetype) init {
  if ((self = [super init])) {
    self.identityKeyPublic = [NSData data];
    self.identityKeyPrivate = [NSData data];
    self.number = @"";
    self.provisioningCode = @"";
    self.userAgent = @"";
    self.profileKey = [NSData data];
    self.readReceipts = NO;
  }
  return self;
}
static OWSProvisioningProtosProvisionMessage* defaultOWSProvisioningProtosProvisionMessageInstance = nil;
+ (void) initialize {
  if (self == [OWSProvisioningProtosProvisionMessage class]) {
    defaultOWSProvisioningProtosProvisionMessageInstance = [[OWSProvisioningProtosProvisionMessage alloc] init];
  }
}
+ (instancetype) defaultInstance {
  return defaultOWSProvisioningProtosProvisionMessageInstance;
}
- (instancetype) defaultInstance {
  return defaultOWSProvisioningProtosProvisionMessageInstance;
}
- (BOOL) isInitialized {
  return YES;
}
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output {
  if (self.hasIdentityKeyPublic) {
    [output writeData:1 value:self.identityKeyPublic];
  }
  if (self.hasIdentityKeyPrivate) {
    [output writeData:2 value:self.identityKeyPrivate];
  }
  if (self.hasNumber) {
    [output writeString:3 value:self.number];
  }
  if (self.hasProvisioningCode) {
    [output writeString:4 value:self.provisioningCode];
  }
  if (self.hasUserAgent) {
    [output writeString:5 value:self.userAgent];
  }
  if (self.hasProfileKey) {
    [output writeData:6 value:self.profileKey];
  }
  if (self.hasReadReceipts) {
    [output writeBool:7 value:self.readReceipts];
  }
  [self.unknownFields writeToCodedOutputStream:output];
}
- (SInt32) serializedSize {
  __block SInt32 size_ = memoizedSerializedSize;
  if (size_ != -1) {
    return size_;
  }

  size_ = 0;
  if (self.hasIdentityKeyPublic) {
    size_ += computeDataSize(1, self.identityKeyPublic);
  }
  if (self.hasIdentityKeyPrivate) {
    size_ += computeDataSize(2, self.identityKeyPrivate);
  }
  if (self.hasNumber) {
    size_ += computeStringSize(3, self.number);
  }
  if (self.hasProvisioningCode) {
    size_ += computeStringSize(4, self.provisioningCode);
  }
  if (self.hasUserAgent) {
    size_ += computeStringSize(5, self.userAgent);
  }
  if (self.hasProfileKey) {
    size_ += computeDataSize(6, self.profileKey);
  }
  if (self.hasReadReceipts) {
    size_ += computeBoolSize(7, self.readReceipts);
  }
  size_ += self.unknownFields.serializedSize;
  memoizedSerializedSize = size_;
  return size_;
}
+ (OWSProvisioningProtosProvisionMessage*) parseFromData:(NSData*) data {
  return (OWSProvisioningProtosProvisionMessage*)[[[OWSProvisioningProtosProvisionMessage builder] mergeFromData:data] build];
}
+ (OWSProvisioningProtosProvisionMessage*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  return (OWSProvisioningProtosProvisionMessage*)[[[OWSProvisioningProtosProvisionMessage builder] mergeFromData:data extensionRegistry:extensionRegistry] build];
}
+ (OWSProvisioningProtosProvisionMessage*) parseFromInputStream:(NSInputStream*) input {
  return (OWSProvisioningProtosProvisionMessage*)[[[OWSProvisioningProtosProvisionMessage builder] mergeFromInputStream:input] build];
}
+ (OWSProvisioningProtosProvisionMessage*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  return (OWSProvisioningProtosProvisionMessage*)[[[OWSProvisioningProtosProvisionMessage builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build];
}
+ (OWSProvisioningProtosProvisionMessage*) parseFromCodedInputStream:(PBCodedInputStream*) input {
  return (OWSProvisioningProtosProvisionMessage*)[[[OWSProvisioningProtosProvisionMessage builder] mergeFromCodedInputStream:input] build];
}
+ (OWSProvisioningProtosProvisionMessage*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  return (OWSProvisioningProtosProvisionMessage*)[[[OWSProvisioningProtosProvisionMessage builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build];
}
+ (OWSProvisioningProtosProvisionMessageBuilder*) builder {
  return [[OWSProvisioningProtosProvisionMessageBuilder alloc] init];
}
+ (OWSProvisioningProtosProvisionMessageBuilder*) builderWithPrototype:(OWSProvisioningProtosProvisionMessage*) prototype {
  return [[OWSProvisioningProtosProvisionMessage builder] mergeFrom:prototype];
}
- (OWSProvisioningProtosProvisionMessageBuilder*) builder {
  return [OWSProvisioningProtosProvisionMessage builder];
}
- (OWSProvisioningProtosProvisionMessageBuilder*) toBuilder {
  return [OWSProvisioningProtosProvisionMessage builderWithPrototype:self];
}
- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent {
  if (self.hasIdentityKeyPublic) {
    [output appendFormat:@"%@%@: %@\n", indent, @"identityKeyPublic", self.identityKeyPublic];
  }
  if (self.hasIdentityKeyPrivate) {
    [output appendFormat:@"%@%@: %@\n", indent, @"identityKeyPrivate", self.identityKeyPrivate];
  }
  if (self.hasNumber) {
    [output appendFormat:@"%@%@: %@\n", indent, @"number", self.number];
  }
  if (self.hasProvisioningCode) {
    [output appendFormat:@"%@%@: %@\n", indent, @"provisioningCode", self.provisioningCode];
  }
  if (self.hasUserAgent) {
    [output appendFormat:@"%@%@: %@\n", indent, @"userAgent", self.userAgent];
  }
  if (self.hasProfileKey) {
    [output appendFormat:@"%@%@: %@\n", indent, @"profileKey", self.profileKey];
  }
  if (self.hasReadReceipts) {
    [output appendFormat:@"%@%@: %@\n", indent, @"readReceipts", [NSNumber numberWithBool:self.readReceipts]];
  }
  [self.unknownFields writeDescriptionTo:output withIndent:indent];
}
- (void) storeInDictionary:(NSMutableDictionary *)dictionary {
  if (self.hasIdentityKeyPublic) {
    [dictionary setObject: self.identityKeyPublic forKey: @"identityKeyPublic"];
  }
  if (self.hasIdentityKeyPrivate) {
    [dictionary setObject: self.identityKeyPrivate forKey: @"identityKeyPrivate"];
  }
  if (self.hasNumber) {
    [dictionary setObject: self.number forKey: @"number"];
  }
  if (self.hasProvisioningCode) {
    [dictionary setObject: self.provisioningCode forKey: @"provisioningCode"];
  }
  if (self.hasUserAgent) {
    [dictionary setObject: self.userAgent forKey: @"userAgent"];
  }
  if (self.hasProfileKey) {
    [dictionary setObject: self.profileKey forKey: @"profileKey"];
  }
  if (self.hasReadReceipts) {
    [dictionary setObject: [NSNumber numberWithBool:self.readReceipts] forKey: @"readReceipts"];
  }
  [self.unknownFields storeInDictionary:dictionary];
}
- (BOOL) isEqual:(id)other {
  if (other == self) {
    return YES;
  }
  if (![other isKindOfClass:[OWSProvisioningProtosProvisionMessage class]]) {
    return NO;
  }
  OWSProvisioningProtosProvisionMessage *otherMessage = other;
  return
      self.hasIdentityKeyPublic == otherMessage.hasIdentityKeyPublic &&
      (!self.hasIdentityKeyPublic || [self.identityKeyPublic isEqual:otherMessage.identityKeyPublic]) &&
      self.hasIdentityKeyPrivate == otherMessage.hasIdentityKeyPrivate &&
      (!self.hasIdentityKeyPrivate || [self.identityKeyPrivate isEqual:otherMessage.identityKeyPrivate]) &&
      self.hasNumber == otherMessage.hasNumber &&
      (!self.hasNumber || [self.number isEqual:otherMessage.number]) &&
      self.hasProvisioningCode == otherMessage.hasProvisioningCode &&
      (!self.hasProvisioningCode || [self.provisioningCode isEqual:otherMessage.provisioningCode]) &&
      self.hasUserAgent == otherMessage.hasUserAgent &&
      (!self.hasUserAgent || [self.userAgent isEqual:otherMessage.userAgent]) &&
      self.hasProfileKey == otherMessage.hasProfileKey &&
      (!self.hasProfileKey || [self.profileKey isEqual:otherMessage.profileKey]) &&
      self.hasReadReceipts == otherMessage.hasReadReceipts &&
      (!self.hasReadReceipts || self.readReceipts == otherMessage.readReceipts) &&
      (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields]));
}
- (NSUInteger) hash {
  __block NSUInteger hashCode = 7;
  if (self.hasIdentityKeyPublic) {
    hashCode = hashCode * 31 + [self.identityKeyPublic hash];
  }
  if (self.hasIdentityKeyPrivate) {
    hashCode = hashCode * 31 + [self.identityKeyPrivate hash];
  }
  if (self.hasNumber) {
    hashCode = hashCode * 31 + [self.number hash];
  }
  if (self.hasProvisioningCode) {
    hashCode = hashCode * 31 + [self.provisioningCode hash];
  }
  if (self.hasUserAgent) {
    hashCode = hashCode * 31 + [self.userAgent hash];
  }
  if (self.hasProfileKey) {
    hashCode = hashCode * 31 + [self.profileKey hash];
  }
  if (self.hasReadReceipts) {
    hashCode = hashCode * 31 + [[NSNumber numberWithBool:self.readReceipts] hash];
  }
  hashCode = hashCode * 31 + [self.unknownFields hash];
  return hashCode;
}
@end

@interface OWSProvisioningProtosProvisionMessageBuilder()
@property (strong) OWSProvisioningProtosProvisionMessage* resultProvisionMessage;
@end

@implementation OWSProvisioningProtosProvisionMessageBuilder
@synthesize resultProvisionMessage;
- (instancetype) init {
  if ((self = [super init])) {
    self.resultProvisionMessage = [[OWSProvisioningProtosProvisionMessage alloc] init];
  }
  return self;
}
- (PBGeneratedMessage*) internalGetResult {
  return resultProvisionMessage;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) clear {
  self.resultProvisionMessage = [[OWSProvisioningProtosProvisionMessage alloc] init];
  return self;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) clone {
  return [OWSProvisioningProtosProvisionMessage builderWithPrototype:resultProvisionMessage];
}
- (OWSProvisioningProtosProvisionMessage*) defaultInstance {
  return [OWSProvisioningProtosProvisionMessage defaultInstance];
}
- (OWSProvisioningProtosProvisionMessage*) build {
  [self checkInitialized];
  return [self buildPartial];
}
- (OWSProvisioningProtosProvisionMessage*) buildPartial {
  OWSProvisioningProtosProvisionMessage* returnMe = resultProvisionMessage;
  self.resultProvisionMessage = nil;
  return returnMe;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) mergeFrom:(OWSProvisioningProtosProvisionMessage*) other {
  if (other == [OWSProvisioningProtosProvisionMessage defaultInstance]) {
    return self;
  }
  if (other.hasIdentityKeyPublic) {
    [self setIdentityKeyPublic:other.identityKeyPublic];
  }
  if (other.hasIdentityKeyPrivate) {
    [self setIdentityKeyPrivate:other.identityKeyPrivate];
  }
  if (other.hasNumber) {
    [self setNumber:other.number];
  }
  if (other.hasProvisioningCode) {
    [self setProvisioningCode:other.provisioningCode];
  }
  if (other.hasUserAgent) {
    [self setUserAgent:other.userAgent];
  }
  if (other.hasProfileKey) {
    [self setProfileKey:other.profileKey];
  }
  if (other.hasReadReceipts) {
    [self setReadReceipts:other.readReceipts];
  }
  [self mergeUnknownFields:other.unknownFields];
  return self;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input {
  return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]];
}
- (OWSProvisioningProtosProvisionMessageBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  PBUnknownFieldSetBuilder* unknownFields = [PBUnknownFieldSet builderWithUnknownFields:self.unknownFields];
  while (YES) {
    SInt32 tag = [input readTag];
    switch (tag) {
      case 0:
        [self setUnknownFields:[unknownFields build]];
        return self;
      default: {
        if (![self parseUnknownField:input unknownFields:unknownFields extensionRegistry:extensionRegistry tag:tag]) {
          [self setUnknownFields:[unknownFields build]];
          return self;
        }
        break;
      }
      case 10: {
        [self setIdentityKeyPublic:[input readData]];
        break;
      }
      case 18: {
        [self setIdentityKeyPrivate:[input readData]];
        break;
      }
      case 26: {
        [self setNumber:[input readString]];
        break;
      }
      case 34: {
        [self setProvisioningCode:[input readString]];
        break;
      }
      case 42: {
        [self setUserAgent:[input readString]];
        break;
      }
      case 50: {
        [self setProfileKey:[input readData]];
        break;
      }
      case 56: {
        [self setReadReceipts:[input readBool]];
        break;
      }
    }
  }
}
- (BOOL) hasIdentityKeyPublic {
  return resultProvisionMessage.hasIdentityKeyPublic;
}
- (NSData*) identityKeyPublic {
  return resultProvisionMessage.identityKeyPublic;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) setIdentityKeyPublic:(NSData*) value {
  resultProvisionMessage.hasIdentityKeyPublic = YES;
  resultProvisionMessage.identityKeyPublic = value;
  return self;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) clearIdentityKeyPublic {
  resultProvisionMessage.hasIdentityKeyPublic = NO;
  resultProvisionMessage.identityKeyPublic = [NSData data];
  return self;
}
- (BOOL) hasIdentityKeyPrivate {
  return resultProvisionMessage.hasIdentityKeyPrivate;
}
- (NSData*) identityKeyPrivate {
  return resultProvisionMessage.identityKeyPrivate;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) setIdentityKeyPrivate:(NSData*) value {
  resultProvisionMessage.hasIdentityKeyPrivate = YES;
  resultProvisionMessage.identityKeyPrivate = value;
  return self;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) clearIdentityKeyPrivate {
  resultProvisionMessage.hasIdentityKeyPrivate = NO;
  resultProvisionMessage.identityKeyPrivate = [NSData data];
  return self;
}
- (BOOL) hasNumber {
  return resultProvisionMessage.hasNumber;
}
- (NSString*) number {
  return resultProvisionMessage.number;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) setNumber:(NSString*) value {
  resultProvisionMessage.hasNumber = YES;
  resultProvisionMessage.number = value;
  return self;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) clearNumber {
  resultProvisionMessage.hasNumber = NO;
  resultProvisionMessage.number = @"";
  return self;
}
- (BOOL) hasProvisioningCode {
  return resultProvisionMessage.hasProvisioningCode;
}
- (NSString*) provisioningCode {
  return resultProvisionMessage.provisioningCode;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) setProvisioningCode:(NSString*) value {
  resultProvisionMessage.hasProvisioningCode = YES;
  resultProvisionMessage.provisioningCode = value;
  return self;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) clearProvisioningCode {
  resultProvisionMessage.hasProvisioningCode = NO;
  resultProvisionMessage.provisioningCode = @"";
  return self;
}
- (BOOL) hasUserAgent {
  return resultProvisionMessage.hasUserAgent;
}
- (NSString*) userAgent {
  return resultProvisionMessage.userAgent;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) setUserAgent:(NSString*) value {
  resultProvisionMessage.hasUserAgent = YES;
  resultProvisionMessage.userAgent = value;
  return self;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) clearUserAgent {
  resultProvisionMessage.hasUserAgent = NO;
  resultProvisionMessage.userAgent = @"";
  return self;
}
- (BOOL) hasProfileKey {
  return resultProvisionMessage.hasProfileKey;
}
- (NSData*) profileKey {
  return resultProvisionMessage.profileKey;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) setProfileKey:(NSData*) value {
  resultProvisionMessage.hasProfileKey = YES;
  resultProvisionMessage.profileKey = value;
  return self;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) clearProfileKey {
  resultProvisionMessage.hasProfileKey = NO;
  resultProvisionMessage.profileKey = [NSData data];
  return self;
}
- (BOOL) hasReadReceipts {
  return resultProvisionMessage.hasReadReceipts;
}
- (BOOL) readReceipts {
  return resultProvisionMessage.readReceipts;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) setReadReceipts:(BOOL) value {
  resultProvisionMessage.hasReadReceipts = YES;
  resultProvisionMessage.readReceipts = value;
  return self;
}
- (OWSProvisioningProtosProvisionMessageBuilder*) clearReadReceipts {
  resultProvisionMessage.hasReadReceipts = NO;
  resultProvisionMessage.readReceipts = NO;
  return self;
}
@end


// @@protoc_insertion_point(global_scope)
