All Downloads are FREE. Search and download functionalities are using the official Maven repository.

wechat.protobuf.ManualAuthAesReqData Maven / Gradle / Ivy

There is a newer version: 8.0.48.01
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: wechat.proto

package wechat.protobuf;

/**
 * Protobuf type {@code wechat_proto.ManualAuthAesReqData}
 */
public final class ManualAuthAesReqData extends
    com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:wechat_proto.ManualAuthAesReqData)
    ManualAuthAesReqDataOrBuilder {
private static final long serialVersionUID = 0L;
  // Use ManualAuthAesReqData.newBuilder() to construct.
  private ManualAuthAesReqData(com.google.protobuf.GeneratedMessageV3.Builder builder) {
    super(builder);
  }
  private ManualAuthAesReqData() {
    imei_ = "";
    softType_ = "";
    clientSeqId_ = "";
    signature_ = "";
    deviceName_ = "";
    deviceType_ = "";
    language_ = "";
    timeZone_ = "";
    deviceBrand_ = "";
    deviceModel_ = "";
    ostype_ = "";
    realCountry_ = "";
    bundleId_ = "";
    adSource_ = "";
    iphoneVer_ = "";
  }

  @java.lang.Override
  @SuppressWarnings({"unused"})
  protected java.lang.Object newInstance(
      UnusedPrivateParameter unused) {
    return new ManualAuthAesReqData();
  }

  @java.lang.Override
  public final com.google.protobuf.UnknownFieldSet
  getUnknownFields() {
    return this.unknownFields;
  }
  private ManualAuthAesReqData(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    this();
    if (extensionRegistry == null) {
      throw new java.lang.NullPointerException();
    }
    int mutable_bitField0_ = 0;
    com.google.protobuf.UnknownFieldSet.Builder unknownFields =
        com.google.protobuf.UnknownFieldSet.newBuilder();
    try {
      boolean done = false;
      while (!done) {
        int tag = input.readTag();
        switch (tag) {
          case 0:
            done = true;
            break;
          case 10: {
            wechat.protobuf.BaseRequest.Builder subBuilder = null;
            if (((bitField0_ & 0x00000001) != 0)) {
              subBuilder = baseRequest_.toBuilder();
            }
            baseRequest_ = input.readMessage(wechat.protobuf.BaseRequest.PARSER, extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(baseRequest_);
              baseRequest_ = subBuilder.buildPartial();
            }
            bitField0_ |= 0x00000001;
            break;
          }
          case 18: {
            wechat.protobuf.BaseAuthReqInfo.Builder subBuilder = null;
            if (((bitField0_ & 0x00000002) != 0)) {
              subBuilder = baseReqInfo_.toBuilder();
            }
            baseReqInfo_ = input.readMessage(wechat.protobuf.BaseAuthReqInfo.PARSER, extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(baseReqInfo_);
              baseReqInfo_ = subBuilder.buildPartial();
            }
            bitField0_ |= 0x00000002;
            break;
          }
          case 26: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00000004;
            imei_ = bs;
            break;
          }
          case 34: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00000008;
            softType_ = bs;
            break;
          }
          case 40: {
            bitField0_ |= 0x00000010;
            builtinIpseq_ = input.readUInt32();
            break;
          }
          case 50: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00000020;
            clientSeqId_ = bs;
            break;
          }
          case 58: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00000040;
            signature_ = bs;
            break;
          }
          case 66: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00000080;
            deviceName_ = bs;
            break;
          }
          case 74: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00000100;
            deviceType_ = bs;
            break;
          }
          case 82: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00000200;
            language_ = bs;
            break;
          }
          case 90: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00000400;
            timeZone_ = bs;
            break;
          }
          case 104: {
            bitField0_ |= 0x00000800;
            channel_ = input.readInt32();
            break;
          }
          case 112: {
            bitField0_ |= 0x00001000;
            timeStamp_ = input.readUInt32();
            break;
          }
          case 122: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00002000;
            deviceBrand_ = bs;
            break;
          }
          case 130: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00004000;
            deviceModel_ = bs;
            break;
          }
          case 138: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00008000;
            ostype_ = bs;
            break;
          }
          case 146: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00010000;
            realCountry_ = bs;
            break;
          }
          case 154: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00020000;
            bundleId_ = bs;
            break;
          }
          case 162: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00040000;
            adSource_ = bs;
            break;
          }
          case 170: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00080000;
            iphoneVer_ = bs;
            break;
          }
          case 176: {
            bitField0_ |= 0x00100000;
            inputType_ = input.readUInt32();
            break;
          }
          case 186: {
            wechat.protobuf.SKBuiltinString_.Builder subBuilder = null;
            if (((bitField0_ & 0x00200000) != 0)) {
              subBuilder = clientCheckData_.toBuilder();
            }
            clientCheckData_ = input.readMessage(wechat.protobuf.SKBuiltinString_.PARSER, extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(clientCheckData_);
              clientCheckData_ = subBuilder.buildPartial();
            }
            bitField0_ |= 0x00200000;
            break;
          }
          case 194: {
            wechat.protobuf.SKBuiltinString_.Builder subBuilder = null;
            if (((bitField0_ & 0x00400000) != 0)) {
              subBuilder = extSpamInfo_.toBuilder();
            }
            extSpamInfo_ = input.readMessage(wechat.protobuf.SKBuiltinString_.PARSER, extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(extSpamInfo_);
              extSpamInfo_ = subBuilder.buildPartial();
            }
            bitField0_ |= 0x00400000;
            break;
          }
          default: {
            if (!parseUnknownField(
                input, unknownFields, extensionRegistry, tag)) {
              done = true;
            }
            break;
          }
        }
      }
    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
      throw e.setUnfinishedMessage(this);
    } catch (java.io.IOException e) {
      throw new com.google.protobuf.InvalidProtocolBufferException(
          e).setUnfinishedMessage(this);
    } finally {
      this.unknownFields = unknownFields.build();
      makeExtensionsImmutable();
    }
  }
  public static final com.google.protobuf.Descriptors.Descriptor
      getDescriptor() {
    return wechat.protobuf.Wechat.internal_static_wechat_proto_ManualAuthAesReqData_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return wechat.protobuf.Wechat.internal_static_wechat_proto_ManualAuthAesReqData_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            wechat.protobuf.ManualAuthAesReqData.class, wechat.protobuf.ManualAuthAesReqData.Builder.class);
  }

  private int bitField0_;
  public static final int BASEREQUEST_FIELD_NUMBER = 1;
  private wechat.protobuf.BaseRequest baseRequest_;
  /**
   * optional .wechat_proto.BaseRequest baseRequest = 1;
   * @return Whether the baseRequest field is set.
   */
  @java.lang.Override
  public boolean hasBaseRequest() {
    return ((bitField0_ & 0x00000001) != 0);
  }
  /**
   * optional .wechat_proto.BaseRequest baseRequest = 1;
   * @return The baseRequest.
   */
  @java.lang.Override
  public wechat.protobuf.BaseRequest getBaseRequest() {
    return baseRequest_ == null ? wechat.protobuf.BaseRequest.getDefaultInstance() : baseRequest_;
  }
  /**
   * optional .wechat_proto.BaseRequest baseRequest = 1;
   */
  @java.lang.Override
  public wechat.protobuf.BaseRequestOrBuilder getBaseRequestOrBuilder() {
    return baseRequest_ == null ? wechat.protobuf.BaseRequest.getDefaultInstance() : baseRequest_;
  }

  public static final int BASEREQINFO_FIELD_NUMBER = 2;
  private wechat.protobuf.BaseAuthReqInfo baseReqInfo_;
  /**
   * optional .wechat_proto.BaseAuthReqInfo baseReqInfo = 2;
   * @return Whether the baseReqInfo field is set.
   */
  @java.lang.Override
  public boolean hasBaseReqInfo() {
    return ((bitField0_ & 0x00000002) != 0);
  }
  /**
   * optional .wechat_proto.BaseAuthReqInfo baseReqInfo = 2;
   * @return The baseReqInfo.
   */
  @java.lang.Override
  public wechat.protobuf.BaseAuthReqInfo getBaseReqInfo() {
    return baseReqInfo_ == null ? wechat.protobuf.BaseAuthReqInfo.getDefaultInstance() : baseReqInfo_;
  }
  /**
   * optional .wechat_proto.BaseAuthReqInfo baseReqInfo = 2;
   */
  @java.lang.Override
  public wechat.protobuf.BaseAuthReqInfoOrBuilder getBaseReqInfoOrBuilder() {
    return baseReqInfo_ == null ? wechat.protobuf.BaseAuthReqInfo.getDefaultInstance() : baseReqInfo_;
  }

  public static final int IMEI_FIELD_NUMBER = 3;
  private volatile java.lang.Object imei_;
  /**
   * optional string imei = 3;
   * @return Whether the imei field is set.
   */
  @java.lang.Override
  public boolean hasImei() {
    return ((bitField0_ & 0x00000004) != 0);
  }
  /**
   * optional string imei = 3;
   * @return The imei.
   */
  @java.lang.Override
  public java.lang.String getImei() {
    java.lang.Object ref = imei_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        imei_ = s;
      }
      return s;
    }
  }
  /**
   * optional string imei = 3;
   * @return The bytes for imei.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getImeiBytes() {
    java.lang.Object ref = imei_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      imei_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int SOFTTYPE_FIELD_NUMBER = 4;
  private volatile java.lang.Object softType_;
  /**
   * optional string softType = 4;
   * @return Whether the softType field is set.
   */
  @java.lang.Override
  public boolean hasSoftType() {
    return ((bitField0_ & 0x00000008) != 0);
  }
  /**
   * optional string softType = 4;
   * @return The softType.
   */
  @java.lang.Override
  public java.lang.String getSoftType() {
    java.lang.Object ref = softType_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        softType_ = s;
      }
      return s;
    }
  }
  /**
   * optional string softType = 4;
   * @return The bytes for softType.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getSoftTypeBytes() {
    java.lang.Object ref = softType_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      softType_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int BUILTINIPSEQ_FIELD_NUMBER = 5;
  private int builtinIpseq_;
  /**
   * optional uint32 builtinIpseq = 5;
   * @return Whether the builtinIpseq field is set.
   */
  @java.lang.Override
  public boolean hasBuiltinIpseq() {
    return ((bitField0_ & 0x00000010) != 0);
  }
  /**
   * optional uint32 builtinIpseq = 5;
   * @return The builtinIpseq.
   */
  @java.lang.Override
  public int getBuiltinIpseq() {
    return builtinIpseq_;
  }

  public static final int CLIENTSEQID_FIELD_NUMBER = 6;
  private volatile java.lang.Object clientSeqId_;
  /**
   * optional string clientSeqId = 6;
   * @return Whether the clientSeqId field is set.
   */
  @java.lang.Override
  public boolean hasClientSeqId() {
    return ((bitField0_ & 0x00000020) != 0);
  }
  /**
   * optional string clientSeqId = 6;
   * @return The clientSeqId.
   */
  @java.lang.Override
  public java.lang.String getClientSeqId() {
    java.lang.Object ref = clientSeqId_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        clientSeqId_ = s;
      }
      return s;
    }
  }
  /**
   * optional string clientSeqId = 6;
   * @return The bytes for clientSeqId.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getClientSeqIdBytes() {
    java.lang.Object ref = clientSeqId_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      clientSeqId_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int SIGNATURE_FIELD_NUMBER = 7;
  private volatile java.lang.Object signature_;
  /**
   * optional string signature = 7;
   * @return Whether the signature field is set.
   */
  @java.lang.Override
  public boolean hasSignature() {
    return ((bitField0_ & 0x00000040) != 0);
  }
  /**
   * optional string signature = 7;
   * @return The signature.
   */
  @java.lang.Override
  public java.lang.String getSignature() {
    java.lang.Object ref = signature_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        signature_ = s;
      }
      return s;
    }
  }
  /**
   * optional string signature = 7;
   * @return The bytes for signature.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getSignatureBytes() {
    java.lang.Object ref = signature_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      signature_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int DEVICENAME_FIELD_NUMBER = 8;
  private volatile java.lang.Object deviceName_;
  /**
   * optional string deviceName = 8;
   * @return Whether the deviceName field is set.
   */
  @java.lang.Override
  public boolean hasDeviceName() {
    return ((bitField0_ & 0x00000080) != 0);
  }
  /**
   * optional string deviceName = 8;
   * @return The deviceName.
   */
  @java.lang.Override
  public java.lang.String getDeviceName() {
    java.lang.Object ref = deviceName_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        deviceName_ = s;
      }
      return s;
    }
  }
  /**
   * optional string deviceName = 8;
   * @return The bytes for deviceName.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getDeviceNameBytes() {
    java.lang.Object ref = deviceName_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      deviceName_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int DEVICETYPE_FIELD_NUMBER = 9;
  private volatile java.lang.Object deviceType_;
  /**
   * optional string deviceType = 9;
   * @return Whether the deviceType field is set.
   */
  @java.lang.Override
  public boolean hasDeviceType() {
    return ((bitField0_ & 0x00000100) != 0);
  }
  /**
   * optional string deviceType = 9;
   * @return The deviceType.
   */
  @java.lang.Override
  public java.lang.String getDeviceType() {
    java.lang.Object ref = deviceType_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        deviceType_ = s;
      }
      return s;
    }
  }
  /**
   * optional string deviceType = 9;
   * @return The bytes for deviceType.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getDeviceTypeBytes() {
    java.lang.Object ref = deviceType_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      deviceType_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int LANGUAGE_FIELD_NUMBER = 10;
  private volatile java.lang.Object language_;
  /**
   * optional string language = 10;
   * @return Whether the language field is set.
   */
  @java.lang.Override
  public boolean hasLanguage() {
    return ((bitField0_ & 0x00000200) != 0);
  }
  /**
   * optional string language = 10;
   * @return The language.
   */
  @java.lang.Override
  public java.lang.String getLanguage() {
    java.lang.Object ref = language_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        language_ = s;
      }
      return s;
    }
  }
  /**
   * optional string language = 10;
   * @return The bytes for language.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getLanguageBytes() {
    java.lang.Object ref = language_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      language_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int TIMEZONE_FIELD_NUMBER = 11;
  private volatile java.lang.Object timeZone_;
  /**
   * optional string timeZone = 11;
   * @return Whether the timeZone field is set.
   */
  @java.lang.Override
  public boolean hasTimeZone() {
    return ((bitField0_ & 0x00000400) != 0);
  }
  /**
   * optional string timeZone = 11;
   * @return The timeZone.
   */
  @java.lang.Override
  public java.lang.String getTimeZone() {
    java.lang.Object ref = timeZone_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        timeZone_ = s;
      }
      return s;
    }
  }
  /**
   * optional string timeZone = 11;
   * @return The bytes for timeZone.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getTimeZoneBytes() {
    java.lang.Object ref = timeZone_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      timeZone_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int CHANNEL_FIELD_NUMBER = 13;
  private int channel_;
  /**
   * optional int32 channel = 13;
   * @return Whether the channel field is set.
   */
  @java.lang.Override
  public boolean hasChannel() {
    return ((bitField0_ & 0x00000800) != 0);
  }
  /**
   * optional int32 channel = 13;
   * @return The channel.
   */
  @java.lang.Override
  public int getChannel() {
    return channel_;
  }

  public static final int TIMESTAMP_FIELD_NUMBER = 14;
  private int timeStamp_;
  /**
   * optional uint32 timeStamp = 14;
   * @return Whether the timeStamp field is set.
   */
  @java.lang.Override
  public boolean hasTimeStamp() {
    return ((bitField0_ & 0x00001000) != 0);
  }
  /**
   * optional uint32 timeStamp = 14;
   * @return The timeStamp.
   */
  @java.lang.Override
  public int getTimeStamp() {
    return timeStamp_;
  }

  public static final int DEVICEBRAND_FIELD_NUMBER = 15;
  private volatile java.lang.Object deviceBrand_;
  /**
   * optional string deviceBrand = 15;
   * @return Whether the deviceBrand field is set.
   */
  @java.lang.Override
  public boolean hasDeviceBrand() {
    return ((bitField0_ & 0x00002000) != 0);
  }
  /**
   * optional string deviceBrand = 15;
   * @return The deviceBrand.
   */
  @java.lang.Override
  public java.lang.String getDeviceBrand() {
    java.lang.Object ref = deviceBrand_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        deviceBrand_ = s;
      }
      return s;
    }
  }
  /**
   * optional string deviceBrand = 15;
   * @return The bytes for deviceBrand.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getDeviceBrandBytes() {
    java.lang.Object ref = deviceBrand_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      deviceBrand_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int DEVICEMODEL_FIELD_NUMBER = 16;
  private volatile java.lang.Object deviceModel_;
  /**
   * optional string deviceModel = 16;
   * @return Whether the deviceModel field is set.
   */
  @java.lang.Override
  public boolean hasDeviceModel() {
    return ((bitField0_ & 0x00004000) != 0);
  }
  /**
   * optional string deviceModel = 16;
   * @return The deviceModel.
   */
  @java.lang.Override
  public java.lang.String getDeviceModel() {
    java.lang.Object ref = deviceModel_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        deviceModel_ = s;
      }
      return s;
    }
  }
  /**
   * optional string deviceModel = 16;
   * @return The bytes for deviceModel.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getDeviceModelBytes() {
    java.lang.Object ref = deviceModel_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      deviceModel_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int OSTYPE_FIELD_NUMBER = 17;
  private volatile java.lang.Object ostype_;
  /**
   * optional string ostype = 17;
   * @return Whether the ostype field is set.
   */
  @java.lang.Override
  public boolean hasOstype() {
    return ((bitField0_ & 0x00008000) != 0);
  }
  /**
   * optional string ostype = 17;
   * @return The ostype.
   */
  @java.lang.Override
  public java.lang.String getOstype() {
    java.lang.Object ref = ostype_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        ostype_ = s;
      }
      return s;
    }
  }
  /**
   * optional string ostype = 17;
   * @return The bytes for ostype.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getOstypeBytes() {
    java.lang.Object ref = ostype_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      ostype_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int REALCOUNTRY_FIELD_NUMBER = 18;
  private volatile java.lang.Object realCountry_;
  /**
   * optional string realCountry = 18;
   * @return Whether the realCountry field is set.
   */
  @java.lang.Override
  public boolean hasRealCountry() {
    return ((bitField0_ & 0x00010000) != 0);
  }
  /**
   * optional string realCountry = 18;
   * @return The realCountry.
   */
  @java.lang.Override
  public java.lang.String getRealCountry() {
    java.lang.Object ref = realCountry_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        realCountry_ = s;
      }
      return s;
    }
  }
  /**
   * optional string realCountry = 18;
   * @return The bytes for realCountry.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getRealCountryBytes() {
    java.lang.Object ref = realCountry_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      realCountry_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int BUNDLEID_FIELD_NUMBER = 19;
  private volatile java.lang.Object bundleId_;
  /**
   * optional string bundleId = 19;
   * @return Whether the bundleId field is set.
   */
  @java.lang.Override
  public boolean hasBundleId() {
    return ((bitField0_ & 0x00020000) != 0);
  }
  /**
   * optional string bundleId = 19;
   * @return The bundleId.
   */
  @java.lang.Override
  public java.lang.String getBundleId() {
    java.lang.Object ref = bundleId_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        bundleId_ = s;
      }
      return s;
    }
  }
  /**
   * optional string bundleId = 19;
   * @return The bytes for bundleId.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getBundleIdBytes() {
    java.lang.Object ref = bundleId_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      bundleId_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int ADSOURCE_FIELD_NUMBER = 20;
  private volatile java.lang.Object adSource_;
  /**
   * optional string adSource = 20;
   * @return Whether the adSource field is set.
   */
  @java.lang.Override
  public boolean hasAdSource() {
    return ((bitField0_ & 0x00040000) != 0);
  }
  /**
   * optional string adSource = 20;
   * @return The adSource.
   */
  @java.lang.Override
  public java.lang.String getAdSource() {
    java.lang.Object ref = adSource_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        adSource_ = s;
      }
      return s;
    }
  }
  /**
   * optional string adSource = 20;
   * @return The bytes for adSource.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getAdSourceBytes() {
    java.lang.Object ref = adSource_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      adSource_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int IPHONEVER_FIELD_NUMBER = 21;
  private volatile java.lang.Object iphoneVer_;
  /**
   * optional string iphoneVer = 21;
   * @return Whether the iphoneVer field is set.
   */
  @java.lang.Override
  public boolean hasIphoneVer() {
    return ((bitField0_ & 0x00080000) != 0);
  }
  /**
   * optional string iphoneVer = 21;
   * @return The iphoneVer.
   */
  @java.lang.Override
  public java.lang.String getIphoneVer() {
    java.lang.Object ref = iphoneVer_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        iphoneVer_ = s;
      }
      return s;
    }
  }
  /**
   * optional string iphoneVer = 21;
   * @return The bytes for iphoneVer.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getIphoneVerBytes() {
    java.lang.Object ref = iphoneVer_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      iphoneVer_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int INPUTTYPE_FIELD_NUMBER = 22;
  private int inputType_;
  /**
   * optional uint32 inputType = 22;
   * @return Whether the inputType field is set.
   */
  @java.lang.Override
  public boolean hasInputType() {
    return ((bitField0_ & 0x00100000) != 0);
  }
  /**
   * optional uint32 inputType = 22;
   * @return The inputType.
   */
  @java.lang.Override
  public int getInputType() {
    return inputType_;
  }

  public static final int CLIENTCHECKDATA_FIELD_NUMBER = 23;
  private wechat.protobuf.SKBuiltinString_ clientCheckData_;
  /**
   * optional .wechat_proto.SKBuiltinString_ clientCheckData = 23;
   * @return Whether the clientCheckData field is set.
   */
  @java.lang.Override
  public boolean hasClientCheckData() {
    return ((bitField0_ & 0x00200000) != 0);
  }
  /**
   * optional .wechat_proto.SKBuiltinString_ clientCheckData = 23;
   * @return The clientCheckData.
   */
  @java.lang.Override
  public wechat.protobuf.SKBuiltinString_ getClientCheckData() {
    return clientCheckData_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : clientCheckData_;
  }
  /**
   * optional .wechat_proto.SKBuiltinString_ clientCheckData = 23;
   */
  @java.lang.Override
  public wechat.protobuf.SKBuiltinString_OrBuilder getClientCheckDataOrBuilder() {
    return clientCheckData_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : clientCheckData_;
  }

  public static final int EXTSPAMINFO_FIELD_NUMBER = 24;
  private wechat.protobuf.SKBuiltinString_ extSpamInfo_;
  /**
   * optional .wechat_proto.SKBuiltinString_ extSpamInfo = 24;
   * @return Whether the extSpamInfo field is set.
   */
  @java.lang.Override
  public boolean hasExtSpamInfo() {
    return ((bitField0_ & 0x00400000) != 0);
  }
  /**
   * optional .wechat_proto.SKBuiltinString_ extSpamInfo = 24;
   * @return The extSpamInfo.
   */
  @java.lang.Override
  public wechat.protobuf.SKBuiltinString_ getExtSpamInfo() {
    return extSpamInfo_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : extSpamInfo_;
  }
  /**
   * optional .wechat_proto.SKBuiltinString_ extSpamInfo = 24;
   */
  @java.lang.Override
  public wechat.protobuf.SKBuiltinString_OrBuilder getExtSpamInfoOrBuilder() {
    return extSpamInfo_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : extSpamInfo_;
  }

  private byte memoizedIsInitialized = -1;
  @java.lang.Override
  public final boolean isInitialized() {
    byte isInitialized = memoizedIsInitialized;
    if (isInitialized == 1) return true;
    if (isInitialized == 0) return false;

    memoizedIsInitialized = 1;
    return true;
  }

  @java.lang.Override
  public void writeTo(com.google.protobuf.CodedOutputStream output)
                      throws java.io.IOException {
    if (((bitField0_ & 0x00000001) != 0)) {
      output.writeMessage(1, getBaseRequest());
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      output.writeMessage(2, getBaseReqInfo());
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 3, imei_);
    }
    if (((bitField0_ & 0x00000008) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 4, softType_);
    }
    if (((bitField0_ & 0x00000010) != 0)) {
      output.writeUInt32(5, builtinIpseq_);
    }
    if (((bitField0_ & 0x00000020) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 6, clientSeqId_);
    }
    if (((bitField0_ & 0x00000040) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 7, signature_);
    }
    if (((bitField0_ & 0x00000080) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 8, deviceName_);
    }
    if (((bitField0_ & 0x00000100) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 9, deviceType_);
    }
    if (((bitField0_ & 0x00000200) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 10, language_);
    }
    if (((bitField0_ & 0x00000400) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 11, timeZone_);
    }
    if (((bitField0_ & 0x00000800) != 0)) {
      output.writeInt32(13, channel_);
    }
    if (((bitField0_ & 0x00001000) != 0)) {
      output.writeUInt32(14, timeStamp_);
    }
    if (((bitField0_ & 0x00002000) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 15, deviceBrand_);
    }
    if (((bitField0_ & 0x00004000) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 16, deviceModel_);
    }
    if (((bitField0_ & 0x00008000) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 17, ostype_);
    }
    if (((bitField0_ & 0x00010000) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 18, realCountry_);
    }
    if (((bitField0_ & 0x00020000) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 19, bundleId_);
    }
    if (((bitField0_ & 0x00040000) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 20, adSource_);
    }
    if (((bitField0_ & 0x00080000) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 21, iphoneVer_);
    }
    if (((bitField0_ & 0x00100000) != 0)) {
      output.writeUInt32(22, inputType_);
    }
    if (((bitField0_ & 0x00200000) != 0)) {
      output.writeMessage(23, getClientCheckData());
    }
    if (((bitField0_ & 0x00400000) != 0)) {
      output.writeMessage(24, getExtSpamInfo());
    }
    unknownFields.writeTo(output);
  }

  @java.lang.Override
  public int getSerializedSize() {
    int size = memoizedSize;
    if (size != -1) return size;

    size = 0;
    if (((bitField0_ & 0x00000001) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(1, getBaseRequest());
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(2, getBaseReqInfo());
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, imei_);
    }
    if (((bitField0_ & 0x00000008) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, softType_);
    }
    if (((bitField0_ & 0x00000010) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(5, builtinIpseq_);
    }
    if (((bitField0_ & 0x00000020) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, clientSeqId_);
    }
    if (((bitField0_ & 0x00000040) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, signature_);
    }
    if (((bitField0_ & 0x00000080) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, deviceName_);
    }
    if (((bitField0_ & 0x00000100) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, deviceType_);
    }
    if (((bitField0_ & 0x00000200) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, language_);
    }
    if (((bitField0_ & 0x00000400) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, timeZone_);
    }
    if (((bitField0_ & 0x00000800) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(13, channel_);
    }
    if (((bitField0_ & 0x00001000) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(14, timeStamp_);
    }
    if (((bitField0_ & 0x00002000) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(15, deviceBrand_);
    }
    if (((bitField0_ & 0x00004000) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(16, deviceModel_);
    }
    if (((bitField0_ & 0x00008000) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(17, ostype_);
    }
    if (((bitField0_ & 0x00010000) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(18, realCountry_);
    }
    if (((bitField0_ & 0x00020000) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(19, bundleId_);
    }
    if (((bitField0_ & 0x00040000) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(20, adSource_);
    }
    if (((bitField0_ & 0x00080000) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(21, iphoneVer_);
    }
    if (((bitField0_ & 0x00100000) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(22, inputType_);
    }
    if (((bitField0_ & 0x00200000) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(23, getClientCheckData());
    }
    if (((bitField0_ & 0x00400000) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(24, getExtSpamInfo());
    }
    size += unknownFields.getSerializedSize();
    memoizedSize = size;
    return size;
  }

  @java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
     return true;
    }
    if (!(obj instanceof wechat.protobuf.ManualAuthAesReqData)) {
      return super.equals(obj);
    }
    wechat.protobuf.ManualAuthAesReqData other = (wechat.protobuf.ManualAuthAesReqData) obj;

    if (hasBaseRequest() != other.hasBaseRequest()) return false;
    if (hasBaseRequest()) {
      if (!getBaseRequest()
          .equals(other.getBaseRequest())) return false;
    }
    if (hasBaseReqInfo() != other.hasBaseReqInfo()) return false;
    if (hasBaseReqInfo()) {
      if (!getBaseReqInfo()
          .equals(other.getBaseReqInfo())) return false;
    }
    if (hasImei() != other.hasImei()) return false;
    if (hasImei()) {
      if (!getImei()
          .equals(other.getImei())) return false;
    }
    if (hasSoftType() != other.hasSoftType()) return false;
    if (hasSoftType()) {
      if (!getSoftType()
          .equals(other.getSoftType())) return false;
    }
    if (hasBuiltinIpseq() != other.hasBuiltinIpseq()) return false;
    if (hasBuiltinIpseq()) {
      if (getBuiltinIpseq()
          != other.getBuiltinIpseq()) return false;
    }
    if (hasClientSeqId() != other.hasClientSeqId()) return false;
    if (hasClientSeqId()) {
      if (!getClientSeqId()
          .equals(other.getClientSeqId())) return false;
    }
    if (hasSignature() != other.hasSignature()) return false;
    if (hasSignature()) {
      if (!getSignature()
          .equals(other.getSignature())) return false;
    }
    if (hasDeviceName() != other.hasDeviceName()) return false;
    if (hasDeviceName()) {
      if (!getDeviceName()
          .equals(other.getDeviceName())) return false;
    }
    if (hasDeviceType() != other.hasDeviceType()) return false;
    if (hasDeviceType()) {
      if (!getDeviceType()
          .equals(other.getDeviceType())) return false;
    }
    if (hasLanguage() != other.hasLanguage()) return false;
    if (hasLanguage()) {
      if (!getLanguage()
          .equals(other.getLanguage())) return false;
    }
    if (hasTimeZone() != other.hasTimeZone()) return false;
    if (hasTimeZone()) {
      if (!getTimeZone()
          .equals(other.getTimeZone())) return false;
    }
    if (hasChannel() != other.hasChannel()) return false;
    if (hasChannel()) {
      if (getChannel()
          != other.getChannel()) return false;
    }
    if (hasTimeStamp() != other.hasTimeStamp()) return false;
    if (hasTimeStamp()) {
      if (getTimeStamp()
          != other.getTimeStamp()) return false;
    }
    if (hasDeviceBrand() != other.hasDeviceBrand()) return false;
    if (hasDeviceBrand()) {
      if (!getDeviceBrand()
          .equals(other.getDeviceBrand())) return false;
    }
    if (hasDeviceModel() != other.hasDeviceModel()) return false;
    if (hasDeviceModel()) {
      if (!getDeviceModel()
          .equals(other.getDeviceModel())) return false;
    }
    if (hasOstype() != other.hasOstype()) return false;
    if (hasOstype()) {
      if (!getOstype()
          .equals(other.getOstype())) return false;
    }
    if (hasRealCountry() != other.hasRealCountry()) return false;
    if (hasRealCountry()) {
      if (!getRealCountry()
          .equals(other.getRealCountry())) return false;
    }
    if (hasBundleId() != other.hasBundleId()) return false;
    if (hasBundleId()) {
      if (!getBundleId()
          .equals(other.getBundleId())) return false;
    }
    if (hasAdSource() != other.hasAdSource()) return false;
    if (hasAdSource()) {
      if (!getAdSource()
          .equals(other.getAdSource())) return false;
    }
    if (hasIphoneVer() != other.hasIphoneVer()) return false;
    if (hasIphoneVer()) {
      if (!getIphoneVer()
          .equals(other.getIphoneVer())) return false;
    }
    if (hasInputType() != other.hasInputType()) return false;
    if (hasInputType()) {
      if (getInputType()
          != other.getInputType()) return false;
    }
    if (hasClientCheckData() != other.hasClientCheckData()) return false;
    if (hasClientCheckData()) {
      if (!getClientCheckData()
          .equals(other.getClientCheckData())) return false;
    }
    if (hasExtSpamInfo() != other.hasExtSpamInfo()) return false;
    if (hasExtSpamInfo()) {
      if (!getExtSpamInfo()
          .equals(other.getExtSpamInfo())) return false;
    }
    if (!unknownFields.equals(other.unknownFields)) return false;
    return true;
  }

  @java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    if (hasBaseRequest()) {
      hash = (37 * hash) + BASEREQUEST_FIELD_NUMBER;
      hash = (53 * hash) + getBaseRequest().hashCode();
    }
    if (hasBaseReqInfo()) {
      hash = (37 * hash) + BASEREQINFO_FIELD_NUMBER;
      hash = (53 * hash) + getBaseReqInfo().hashCode();
    }
    if (hasImei()) {
      hash = (37 * hash) + IMEI_FIELD_NUMBER;
      hash = (53 * hash) + getImei().hashCode();
    }
    if (hasSoftType()) {
      hash = (37 * hash) + SOFTTYPE_FIELD_NUMBER;
      hash = (53 * hash) + getSoftType().hashCode();
    }
    if (hasBuiltinIpseq()) {
      hash = (37 * hash) + BUILTINIPSEQ_FIELD_NUMBER;
      hash = (53 * hash) + getBuiltinIpseq();
    }
    if (hasClientSeqId()) {
      hash = (37 * hash) + CLIENTSEQID_FIELD_NUMBER;
      hash = (53 * hash) + getClientSeqId().hashCode();
    }
    if (hasSignature()) {
      hash = (37 * hash) + SIGNATURE_FIELD_NUMBER;
      hash = (53 * hash) + getSignature().hashCode();
    }
    if (hasDeviceName()) {
      hash = (37 * hash) + DEVICENAME_FIELD_NUMBER;
      hash = (53 * hash) + getDeviceName().hashCode();
    }
    if (hasDeviceType()) {
      hash = (37 * hash) + DEVICETYPE_FIELD_NUMBER;
      hash = (53 * hash) + getDeviceType().hashCode();
    }
    if (hasLanguage()) {
      hash = (37 * hash) + LANGUAGE_FIELD_NUMBER;
      hash = (53 * hash) + getLanguage().hashCode();
    }
    if (hasTimeZone()) {
      hash = (37 * hash) + TIMEZONE_FIELD_NUMBER;
      hash = (53 * hash) + getTimeZone().hashCode();
    }
    if (hasChannel()) {
      hash = (37 * hash) + CHANNEL_FIELD_NUMBER;
      hash = (53 * hash) + getChannel();
    }
    if (hasTimeStamp()) {
      hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
      hash = (53 * hash) + getTimeStamp();
    }
    if (hasDeviceBrand()) {
      hash = (37 * hash) + DEVICEBRAND_FIELD_NUMBER;
      hash = (53 * hash) + getDeviceBrand().hashCode();
    }
    if (hasDeviceModel()) {
      hash = (37 * hash) + DEVICEMODEL_FIELD_NUMBER;
      hash = (53 * hash) + getDeviceModel().hashCode();
    }
    if (hasOstype()) {
      hash = (37 * hash) + OSTYPE_FIELD_NUMBER;
      hash = (53 * hash) + getOstype().hashCode();
    }
    if (hasRealCountry()) {
      hash = (37 * hash) + REALCOUNTRY_FIELD_NUMBER;
      hash = (53 * hash) + getRealCountry().hashCode();
    }
    if (hasBundleId()) {
      hash = (37 * hash) + BUNDLEID_FIELD_NUMBER;
      hash = (53 * hash) + getBundleId().hashCode();
    }
    if (hasAdSource()) {
      hash = (37 * hash) + ADSOURCE_FIELD_NUMBER;
      hash = (53 * hash) + getAdSource().hashCode();
    }
    if (hasIphoneVer()) {
      hash = (37 * hash) + IPHONEVER_FIELD_NUMBER;
      hash = (53 * hash) + getIphoneVer().hashCode();
    }
    if (hasInputType()) {
      hash = (37 * hash) + INPUTTYPE_FIELD_NUMBER;
      hash = (53 * hash) + getInputType();
    }
    if (hasClientCheckData()) {
      hash = (37 * hash) + CLIENTCHECKDATA_FIELD_NUMBER;
      hash = (53 * hash) + getClientCheckData().hashCode();
    }
    if (hasExtSpamInfo()) {
      hash = (37 * hash) + EXTSPAMINFO_FIELD_NUMBER;
      hash = (53 * hash) + getExtSpamInfo().hashCode();
    }
    hash = (29 * hash) + unknownFields.hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static wechat.protobuf.ManualAuthAesReqData parseFrom(
      java.nio.ByteBuffer data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static wechat.protobuf.ManualAuthAesReqData parseFrom(
      java.nio.ByteBuffer data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static wechat.protobuf.ManualAuthAesReqData parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static wechat.protobuf.ManualAuthAesReqData parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static wechat.protobuf.ManualAuthAesReqData parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static wechat.protobuf.ManualAuthAesReqData parseFrom(
      byte[] data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static wechat.protobuf.ManualAuthAesReqData parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static wechat.protobuf.ManualAuthAesReqData parseFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input, extensionRegistry);
  }
  public static wechat.protobuf.ManualAuthAesReqData parseDelimitedFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input);
  }
  public static wechat.protobuf.ManualAuthAesReqData parseDelimitedFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
  }
  public static wechat.protobuf.ManualAuthAesReqData parseFrom(
      com.google.protobuf.CodedInputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static wechat.protobuf.ManualAuthAesReqData parseFrom(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input, extensionRegistry);
  }

  @java.lang.Override
  public Builder newBuilderForType() { return newBuilder(); }
  public static Builder newBuilder() {
    return DEFAULT_INSTANCE.toBuilder();
  }
  public static Builder newBuilder(wechat.protobuf.ManualAuthAesReqData prototype) {
    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
  }
  @java.lang.Override
  public Builder toBuilder() {
    return this == DEFAULT_INSTANCE
        ? new Builder() : new Builder().mergeFrom(this);
  }

  @java.lang.Override
  protected Builder newBuilderForType(
      com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
    Builder builder = new Builder(parent);
    return builder;
  }
  /**
   * Protobuf type {@code wechat_proto.ManualAuthAesReqData}
   */
  public static final class Builder extends
      com.google.protobuf.GeneratedMessageV3.Builder implements
      // @@protoc_insertion_point(builder_implements:wechat_proto.ManualAuthAesReqData)
      wechat.protobuf.ManualAuthAesReqDataOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return wechat.protobuf.Wechat.internal_static_wechat_proto_ManualAuthAesReqData_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return wechat.protobuf.Wechat.internal_static_wechat_proto_ManualAuthAesReqData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              wechat.protobuf.ManualAuthAesReqData.class, wechat.protobuf.ManualAuthAesReqData.Builder.class);
    }

    // Construct using wechat.protobuf.ManualAuthAesReqData.newBuilder()
    private Builder() {
      maybeForceBuilderInitialization();
    }

    private Builder(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      super(parent);
      maybeForceBuilderInitialization();
    }
    private void maybeForceBuilderInitialization() {
      if (com.google.protobuf.GeneratedMessageV3
              .alwaysUseFieldBuilders) {
        getBaseRequestFieldBuilder();
        getBaseReqInfoFieldBuilder();
        getClientCheckDataFieldBuilder();
        getExtSpamInfoFieldBuilder();
      }
    }
    @java.lang.Override
    public Builder clear() {
      super.clear();
      if (baseRequestBuilder_ == null) {
        baseRequest_ = null;
      } else {
        baseRequestBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000001);
      if (baseReqInfoBuilder_ == null) {
        baseReqInfo_ = null;
      } else {
        baseReqInfoBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000002);
      imei_ = "";
      bitField0_ = (bitField0_ & ~0x00000004);
      softType_ = "";
      bitField0_ = (bitField0_ & ~0x00000008);
      builtinIpseq_ = 0;
      bitField0_ = (bitField0_ & ~0x00000010);
      clientSeqId_ = "";
      bitField0_ = (bitField0_ & ~0x00000020);
      signature_ = "";
      bitField0_ = (bitField0_ & ~0x00000040);
      deviceName_ = "";
      bitField0_ = (bitField0_ & ~0x00000080);
      deviceType_ = "";
      bitField0_ = (bitField0_ & ~0x00000100);
      language_ = "";
      bitField0_ = (bitField0_ & ~0x00000200);
      timeZone_ = "";
      bitField0_ = (bitField0_ & ~0x00000400);
      channel_ = 0;
      bitField0_ = (bitField0_ & ~0x00000800);
      timeStamp_ = 0;
      bitField0_ = (bitField0_ & ~0x00001000);
      deviceBrand_ = "";
      bitField0_ = (bitField0_ & ~0x00002000);
      deviceModel_ = "";
      bitField0_ = (bitField0_ & ~0x00004000);
      ostype_ = "";
      bitField0_ = (bitField0_ & ~0x00008000);
      realCountry_ = "";
      bitField0_ = (bitField0_ & ~0x00010000);
      bundleId_ = "";
      bitField0_ = (bitField0_ & ~0x00020000);
      adSource_ = "";
      bitField0_ = (bitField0_ & ~0x00040000);
      iphoneVer_ = "";
      bitField0_ = (bitField0_ & ~0x00080000);
      inputType_ = 0;
      bitField0_ = (bitField0_ & ~0x00100000);
      if (clientCheckDataBuilder_ == null) {
        clientCheckData_ = null;
      } else {
        clientCheckDataBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00200000);
      if (extSpamInfoBuilder_ == null) {
        extSpamInfo_ = null;
      } else {
        extSpamInfoBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00400000);
      return this;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.Descriptor
        getDescriptorForType() {
      return wechat.protobuf.Wechat.internal_static_wechat_proto_ManualAuthAesReqData_descriptor;
    }

    @java.lang.Override
    public wechat.protobuf.ManualAuthAesReqData getDefaultInstanceForType() {
      return wechat.protobuf.ManualAuthAesReqData.getDefaultInstance();
    }

    @java.lang.Override
    public wechat.protobuf.ManualAuthAesReqData build() {
      wechat.protobuf.ManualAuthAesReqData result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @java.lang.Override
    public wechat.protobuf.ManualAuthAesReqData buildPartial() {
      wechat.protobuf.ManualAuthAesReqData result = new wechat.protobuf.ManualAuthAesReqData(this);
      int from_bitField0_ = bitField0_;
      int to_bitField0_ = 0;
      if (((from_bitField0_ & 0x00000001) != 0)) {
        if (baseRequestBuilder_ == null) {
          result.baseRequest_ = baseRequest_;
        } else {
          result.baseRequest_ = baseRequestBuilder_.build();
        }
        to_bitField0_ |= 0x00000001;
      }
      if (((from_bitField0_ & 0x00000002) != 0)) {
        if (baseReqInfoBuilder_ == null) {
          result.baseReqInfo_ = baseReqInfo_;
        } else {
          result.baseReqInfo_ = baseReqInfoBuilder_.build();
        }
        to_bitField0_ |= 0x00000002;
      }
      if (((from_bitField0_ & 0x00000004) != 0)) {
        to_bitField0_ |= 0x00000004;
      }
      result.imei_ = imei_;
      if (((from_bitField0_ & 0x00000008) != 0)) {
        to_bitField0_ |= 0x00000008;
      }
      result.softType_ = softType_;
      if (((from_bitField0_ & 0x00000010) != 0)) {
        result.builtinIpseq_ = builtinIpseq_;
        to_bitField0_ |= 0x00000010;
      }
      if (((from_bitField0_ & 0x00000020) != 0)) {
        to_bitField0_ |= 0x00000020;
      }
      result.clientSeqId_ = clientSeqId_;
      if (((from_bitField0_ & 0x00000040) != 0)) {
        to_bitField0_ |= 0x00000040;
      }
      result.signature_ = signature_;
      if (((from_bitField0_ & 0x00000080) != 0)) {
        to_bitField0_ |= 0x00000080;
      }
      result.deviceName_ = deviceName_;
      if (((from_bitField0_ & 0x00000100) != 0)) {
        to_bitField0_ |= 0x00000100;
      }
      result.deviceType_ = deviceType_;
      if (((from_bitField0_ & 0x00000200) != 0)) {
        to_bitField0_ |= 0x00000200;
      }
      result.language_ = language_;
      if (((from_bitField0_ & 0x00000400) != 0)) {
        to_bitField0_ |= 0x00000400;
      }
      result.timeZone_ = timeZone_;
      if (((from_bitField0_ & 0x00000800) != 0)) {
        result.channel_ = channel_;
        to_bitField0_ |= 0x00000800;
      }
      if (((from_bitField0_ & 0x00001000) != 0)) {
        result.timeStamp_ = timeStamp_;
        to_bitField0_ |= 0x00001000;
      }
      if (((from_bitField0_ & 0x00002000) != 0)) {
        to_bitField0_ |= 0x00002000;
      }
      result.deviceBrand_ = deviceBrand_;
      if (((from_bitField0_ & 0x00004000) != 0)) {
        to_bitField0_ |= 0x00004000;
      }
      result.deviceModel_ = deviceModel_;
      if (((from_bitField0_ & 0x00008000) != 0)) {
        to_bitField0_ |= 0x00008000;
      }
      result.ostype_ = ostype_;
      if (((from_bitField0_ & 0x00010000) != 0)) {
        to_bitField0_ |= 0x00010000;
      }
      result.realCountry_ = realCountry_;
      if (((from_bitField0_ & 0x00020000) != 0)) {
        to_bitField0_ |= 0x00020000;
      }
      result.bundleId_ = bundleId_;
      if (((from_bitField0_ & 0x00040000) != 0)) {
        to_bitField0_ |= 0x00040000;
      }
      result.adSource_ = adSource_;
      if (((from_bitField0_ & 0x00080000) != 0)) {
        to_bitField0_ |= 0x00080000;
      }
      result.iphoneVer_ = iphoneVer_;
      if (((from_bitField0_ & 0x00100000) != 0)) {
        result.inputType_ = inputType_;
        to_bitField0_ |= 0x00100000;
      }
      if (((from_bitField0_ & 0x00200000) != 0)) {
        if (clientCheckDataBuilder_ == null) {
          result.clientCheckData_ = clientCheckData_;
        } else {
          result.clientCheckData_ = clientCheckDataBuilder_.build();
        }
        to_bitField0_ |= 0x00200000;
      }
      if (((from_bitField0_ & 0x00400000) != 0)) {
        if (extSpamInfoBuilder_ == null) {
          result.extSpamInfo_ = extSpamInfo_;
        } else {
          result.extSpamInfo_ = extSpamInfoBuilder_.build();
        }
        to_bitField0_ |= 0x00400000;
      }
      result.bitField0_ = to_bitField0_;
      onBuilt();
      return result;
    }

    @java.lang.Override
    public Builder clone() {
      return super.clone();
    }
    @java.lang.Override
    public Builder setField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        java.lang.Object value) {
      return super.setField(field, value);
    }
    @java.lang.Override
    public Builder clearField(
        com.google.protobuf.Descriptors.FieldDescriptor field) {
      return super.clearField(field);
    }
    @java.lang.Override
    public Builder clearOneof(
        com.google.protobuf.Descriptors.OneofDescriptor oneof) {
      return super.clearOneof(oneof);
    }
    @java.lang.Override
    public Builder setRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        int index, java.lang.Object value) {
      return super.setRepeatedField(field, index, value);
    }
    @java.lang.Override
    public Builder addRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        java.lang.Object value) {
      return super.addRepeatedField(field, value);
    }
    @java.lang.Override
    public Builder mergeFrom(com.google.protobuf.Message other) {
      if (other instanceof wechat.protobuf.ManualAuthAesReqData) {
        return mergeFrom((wechat.protobuf.ManualAuthAesReqData)other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(wechat.protobuf.ManualAuthAesReqData other) {
      if (other == wechat.protobuf.ManualAuthAesReqData.getDefaultInstance()) return this;
      if (other.hasBaseRequest()) {
        mergeBaseRequest(other.getBaseRequest());
      }
      if (other.hasBaseReqInfo()) {
        mergeBaseReqInfo(other.getBaseReqInfo());
      }
      if (other.hasImei()) {
        bitField0_ |= 0x00000004;
        imei_ = other.imei_;
        onChanged();
      }
      if (other.hasSoftType()) {
        bitField0_ |= 0x00000008;
        softType_ = other.softType_;
        onChanged();
      }
      if (other.hasBuiltinIpseq()) {
        setBuiltinIpseq(other.getBuiltinIpseq());
      }
      if (other.hasClientSeqId()) {
        bitField0_ |= 0x00000020;
        clientSeqId_ = other.clientSeqId_;
        onChanged();
      }
      if (other.hasSignature()) {
        bitField0_ |= 0x00000040;
        signature_ = other.signature_;
        onChanged();
      }
      if (other.hasDeviceName()) {
        bitField0_ |= 0x00000080;
        deviceName_ = other.deviceName_;
        onChanged();
      }
      if (other.hasDeviceType()) {
        bitField0_ |= 0x00000100;
        deviceType_ = other.deviceType_;
        onChanged();
      }
      if (other.hasLanguage()) {
        bitField0_ |= 0x00000200;
        language_ = other.language_;
        onChanged();
      }
      if (other.hasTimeZone()) {
        bitField0_ |= 0x00000400;
        timeZone_ = other.timeZone_;
        onChanged();
      }
      if (other.hasChannel()) {
        setChannel(other.getChannel());
      }
      if (other.hasTimeStamp()) {
        setTimeStamp(other.getTimeStamp());
      }
      if (other.hasDeviceBrand()) {
        bitField0_ |= 0x00002000;
        deviceBrand_ = other.deviceBrand_;
        onChanged();
      }
      if (other.hasDeviceModel()) {
        bitField0_ |= 0x00004000;
        deviceModel_ = other.deviceModel_;
        onChanged();
      }
      if (other.hasOstype()) {
        bitField0_ |= 0x00008000;
        ostype_ = other.ostype_;
        onChanged();
      }
      if (other.hasRealCountry()) {
        bitField0_ |= 0x00010000;
        realCountry_ = other.realCountry_;
        onChanged();
      }
      if (other.hasBundleId()) {
        bitField0_ |= 0x00020000;
        bundleId_ = other.bundleId_;
        onChanged();
      }
      if (other.hasAdSource()) {
        bitField0_ |= 0x00040000;
        adSource_ = other.adSource_;
        onChanged();
      }
      if (other.hasIphoneVer()) {
        bitField0_ |= 0x00080000;
        iphoneVer_ = other.iphoneVer_;
        onChanged();
      }
      if (other.hasInputType()) {
        setInputType(other.getInputType());
      }
      if (other.hasClientCheckData()) {
        mergeClientCheckData(other.getClientCheckData());
      }
      if (other.hasExtSpamInfo()) {
        mergeExtSpamInfo(other.getExtSpamInfo());
      }
      this.mergeUnknownFields(other.unknownFields);
      onChanged();
      return this;
    }

    @java.lang.Override
    public final boolean isInitialized() {
      return true;
    }

    @java.lang.Override
    public Builder mergeFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      wechat.protobuf.ManualAuthAesReqData parsedMessage = null;
      try {
        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        parsedMessage = (wechat.protobuf.ManualAuthAesReqData) e.getUnfinishedMessage();
        throw e.unwrapIOException();
      } finally {
        if (parsedMessage != null) {
          mergeFrom(parsedMessage);
        }
      }
      return this;
    }
    private int bitField0_;

    private wechat.protobuf.BaseRequest baseRequest_;
    private com.google.protobuf.SingleFieldBuilderV3<
        wechat.protobuf.BaseRequest, wechat.protobuf.BaseRequest.Builder, wechat.protobuf.BaseRequestOrBuilder> baseRequestBuilder_;
    /**
     * optional .wechat_proto.BaseRequest baseRequest = 1;
     * @return Whether the baseRequest field is set.
     */
    public boolean hasBaseRequest() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional .wechat_proto.BaseRequest baseRequest = 1;
     * @return The baseRequest.
     */
    public wechat.protobuf.BaseRequest getBaseRequest() {
      if (baseRequestBuilder_ == null) {
        return baseRequest_ == null ? wechat.protobuf.BaseRequest.getDefaultInstance() : baseRequest_;
      } else {
        return baseRequestBuilder_.getMessage();
      }
    }
    /**
     * optional .wechat_proto.BaseRequest baseRequest = 1;
     */
    public Builder setBaseRequest(wechat.protobuf.BaseRequest value) {
      if (baseRequestBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        baseRequest_ = value;
        onChanged();
      } else {
        baseRequestBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00000001;
      return this;
    }
    /**
     * optional .wechat_proto.BaseRequest baseRequest = 1;
     */
    public Builder setBaseRequest(
        wechat.protobuf.BaseRequest.Builder builderForValue) {
      if (baseRequestBuilder_ == null) {
        baseRequest_ = builderForValue.build();
        onChanged();
      } else {
        baseRequestBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00000001;
      return this;
    }
    /**
     * optional .wechat_proto.BaseRequest baseRequest = 1;
     */
    public Builder mergeBaseRequest(wechat.protobuf.BaseRequest value) {
      if (baseRequestBuilder_ == null) {
        if (((bitField0_ & 0x00000001) != 0) &&
            baseRequest_ != null &&
            baseRequest_ != wechat.protobuf.BaseRequest.getDefaultInstance()) {
          baseRequest_ =
            wechat.protobuf.BaseRequest.newBuilder(baseRequest_).mergeFrom(value).buildPartial();
        } else {
          baseRequest_ = value;
        }
        onChanged();
      } else {
        baseRequestBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00000001;
      return this;
    }
    /**
     * optional .wechat_proto.BaseRequest baseRequest = 1;
     */
    public Builder clearBaseRequest() {
      if (baseRequestBuilder_ == null) {
        baseRequest_ = null;
        onChanged();
      } else {
        baseRequestBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000001);
      return this;
    }
    /**
     * optional .wechat_proto.BaseRequest baseRequest = 1;
     */
    public wechat.protobuf.BaseRequest.Builder getBaseRequestBuilder() {
      bitField0_ |= 0x00000001;
      onChanged();
      return getBaseRequestFieldBuilder().getBuilder();
    }
    /**
     * optional .wechat_proto.BaseRequest baseRequest = 1;
     */
    public wechat.protobuf.BaseRequestOrBuilder getBaseRequestOrBuilder() {
      if (baseRequestBuilder_ != null) {
        return baseRequestBuilder_.getMessageOrBuilder();
      } else {
        return baseRequest_ == null ?
            wechat.protobuf.BaseRequest.getDefaultInstance() : baseRequest_;
      }
    }
    /**
     * optional .wechat_proto.BaseRequest baseRequest = 1;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        wechat.protobuf.BaseRequest, wechat.protobuf.BaseRequest.Builder, wechat.protobuf.BaseRequestOrBuilder> 
        getBaseRequestFieldBuilder() {
      if (baseRequestBuilder_ == null) {
        baseRequestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            wechat.protobuf.BaseRequest, wechat.protobuf.BaseRequest.Builder, wechat.protobuf.BaseRequestOrBuilder>(
                getBaseRequest(),
                getParentForChildren(),
                isClean());
        baseRequest_ = null;
      }
      return baseRequestBuilder_;
    }

    private wechat.protobuf.BaseAuthReqInfo baseReqInfo_;
    private com.google.protobuf.SingleFieldBuilderV3<
        wechat.protobuf.BaseAuthReqInfo, wechat.protobuf.BaseAuthReqInfo.Builder, wechat.protobuf.BaseAuthReqInfoOrBuilder> baseReqInfoBuilder_;
    /**
     * optional .wechat_proto.BaseAuthReqInfo baseReqInfo = 2;
     * @return Whether the baseReqInfo field is set.
     */
    public boolean hasBaseReqInfo() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional .wechat_proto.BaseAuthReqInfo baseReqInfo = 2;
     * @return The baseReqInfo.
     */
    public wechat.protobuf.BaseAuthReqInfo getBaseReqInfo() {
      if (baseReqInfoBuilder_ == null) {
        return baseReqInfo_ == null ? wechat.protobuf.BaseAuthReqInfo.getDefaultInstance() : baseReqInfo_;
      } else {
        return baseReqInfoBuilder_.getMessage();
      }
    }
    /**
     * optional .wechat_proto.BaseAuthReqInfo baseReqInfo = 2;
     */
    public Builder setBaseReqInfo(wechat.protobuf.BaseAuthReqInfo value) {
      if (baseReqInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        baseReqInfo_ = value;
        onChanged();
      } else {
        baseReqInfoBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00000002;
      return this;
    }
    /**
     * optional .wechat_proto.BaseAuthReqInfo baseReqInfo = 2;
     */
    public Builder setBaseReqInfo(
        wechat.protobuf.BaseAuthReqInfo.Builder builderForValue) {
      if (baseReqInfoBuilder_ == null) {
        baseReqInfo_ = builderForValue.build();
        onChanged();
      } else {
        baseReqInfoBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00000002;
      return this;
    }
    /**
     * optional .wechat_proto.BaseAuthReqInfo baseReqInfo = 2;
     */
    public Builder mergeBaseReqInfo(wechat.protobuf.BaseAuthReqInfo value) {
      if (baseReqInfoBuilder_ == null) {
        if (((bitField0_ & 0x00000002) != 0) &&
            baseReqInfo_ != null &&
            baseReqInfo_ != wechat.protobuf.BaseAuthReqInfo.getDefaultInstance()) {
          baseReqInfo_ =
            wechat.protobuf.BaseAuthReqInfo.newBuilder(baseReqInfo_).mergeFrom(value).buildPartial();
        } else {
          baseReqInfo_ = value;
        }
        onChanged();
      } else {
        baseReqInfoBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00000002;
      return this;
    }
    /**
     * optional .wechat_proto.BaseAuthReqInfo baseReqInfo = 2;
     */
    public Builder clearBaseReqInfo() {
      if (baseReqInfoBuilder_ == null) {
        baseReqInfo_ = null;
        onChanged();
      } else {
        baseReqInfoBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000002);
      return this;
    }
    /**
     * optional .wechat_proto.BaseAuthReqInfo baseReqInfo = 2;
     */
    public wechat.protobuf.BaseAuthReqInfo.Builder getBaseReqInfoBuilder() {
      bitField0_ |= 0x00000002;
      onChanged();
      return getBaseReqInfoFieldBuilder().getBuilder();
    }
    /**
     * optional .wechat_proto.BaseAuthReqInfo baseReqInfo = 2;
     */
    public wechat.protobuf.BaseAuthReqInfoOrBuilder getBaseReqInfoOrBuilder() {
      if (baseReqInfoBuilder_ != null) {
        return baseReqInfoBuilder_.getMessageOrBuilder();
      } else {
        return baseReqInfo_ == null ?
            wechat.protobuf.BaseAuthReqInfo.getDefaultInstance() : baseReqInfo_;
      }
    }
    /**
     * optional .wechat_proto.BaseAuthReqInfo baseReqInfo = 2;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        wechat.protobuf.BaseAuthReqInfo, wechat.protobuf.BaseAuthReqInfo.Builder, wechat.protobuf.BaseAuthReqInfoOrBuilder> 
        getBaseReqInfoFieldBuilder() {
      if (baseReqInfoBuilder_ == null) {
        baseReqInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            wechat.protobuf.BaseAuthReqInfo, wechat.protobuf.BaseAuthReqInfo.Builder, wechat.protobuf.BaseAuthReqInfoOrBuilder>(
                getBaseReqInfo(),
                getParentForChildren(),
                isClean());
        baseReqInfo_ = null;
      }
      return baseReqInfoBuilder_;
    }

    private java.lang.Object imei_ = "";
    /**
     * optional string imei = 3;
     * @return Whether the imei field is set.
     */
    public boolean hasImei() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional string imei = 3;
     * @return The imei.
     */
    public java.lang.String getImei() {
      java.lang.Object ref = imei_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          imei_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string imei = 3;
     * @return The bytes for imei.
     */
    public com.google.protobuf.ByteString
        getImeiBytes() {
      java.lang.Object ref = imei_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        imei_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string imei = 3;
     * @param value The imei to set.
     * @return This builder for chaining.
     */
    public Builder setImei(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
      imei_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string imei = 3;
     * @return This builder for chaining.
     */
    public Builder clearImei() {
      bitField0_ = (bitField0_ & ~0x00000004);
      imei_ = getDefaultInstance().getImei();
      onChanged();
      return this;
    }
    /**
     * optional string imei = 3;
     * @param value The bytes for imei to set.
     * @return This builder for chaining.
     */
    public Builder setImeiBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
      imei_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object softType_ = "";
    /**
     * optional string softType = 4;
     * @return Whether the softType field is set.
     */
    public boolean hasSoftType() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional string softType = 4;
     * @return The softType.
     */
    public java.lang.String getSoftType() {
      java.lang.Object ref = softType_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          softType_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string softType = 4;
     * @return The bytes for softType.
     */
    public com.google.protobuf.ByteString
        getSoftTypeBytes() {
      java.lang.Object ref = softType_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        softType_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string softType = 4;
     * @param value The softType to set.
     * @return This builder for chaining.
     */
    public Builder setSoftType(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
      softType_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string softType = 4;
     * @return This builder for chaining.
     */
    public Builder clearSoftType() {
      bitField0_ = (bitField0_ & ~0x00000008);
      softType_ = getDefaultInstance().getSoftType();
      onChanged();
      return this;
    }
    /**
     * optional string softType = 4;
     * @param value The bytes for softType to set.
     * @return This builder for chaining.
     */
    public Builder setSoftTypeBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
      softType_ = value;
      onChanged();
      return this;
    }

    private int builtinIpseq_ ;
    /**
     * optional uint32 builtinIpseq = 5;
     * @return Whether the builtinIpseq field is set.
     */
    @java.lang.Override
    public boolean hasBuiltinIpseq() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional uint32 builtinIpseq = 5;
     * @return The builtinIpseq.
     */
    @java.lang.Override
    public int getBuiltinIpseq() {
      return builtinIpseq_;
    }
    /**
     * optional uint32 builtinIpseq = 5;
     * @param value The builtinIpseq to set.
     * @return This builder for chaining.
     */
    public Builder setBuiltinIpseq(int value) {
      bitField0_ |= 0x00000010;
      builtinIpseq_ = value;
      onChanged();
      return this;
    }
    /**
     * optional uint32 builtinIpseq = 5;
     * @return This builder for chaining.
     */
    public Builder clearBuiltinIpseq() {
      bitField0_ = (bitField0_ & ~0x00000010);
      builtinIpseq_ = 0;
      onChanged();
      return this;
    }

    private java.lang.Object clientSeqId_ = "";
    /**
     * optional string clientSeqId = 6;
     * @return Whether the clientSeqId field is set.
     */
    public boolean hasClientSeqId() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional string clientSeqId = 6;
     * @return The clientSeqId.
     */
    public java.lang.String getClientSeqId() {
      java.lang.Object ref = clientSeqId_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          clientSeqId_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string clientSeqId = 6;
     * @return The bytes for clientSeqId.
     */
    public com.google.protobuf.ByteString
        getClientSeqIdBytes() {
      java.lang.Object ref = clientSeqId_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        clientSeqId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string clientSeqId = 6;
     * @param value The clientSeqId to set.
     * @return This builder for chaining.
     */
    public Builder setClientSeqId(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
      clientSeqId_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string clientSeqId = 6;
     * @return This builder for chaining.
     */
    public Builder clearClientSeqId() {
      bitField0_ = (bitField0_ & ~0x00000020);
      clientSeqId_ = getDefaultInstance().getClientSeqId();
      onChanged();
      return this;
    }
    /**
     * optional string clientSeqId = 6;
     * @param value The bytes for clientSeqId to set.
     * @return This builder for chaining.
     */
    public Builder setClientSeqIdBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
      clientSeqId_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object signature_ = "";
    /**
     * optional string signature = 7;
     * @return Whether the signature field is set.
     */
    public boolean hasSignature() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * optional string signature = 7;
     * @return The signature.
     */
    public java.lang.String getSignature() {
      java.lang.Object ref = signature_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          signature_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string signature = 7;
     * @return The bytes for signature.
     */
    public com.google.protobuf.ByteString
        getSignatureBytes() {
      java.lang.Object ref = signature_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        signature_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string signature = 7;
     * @param value The signature to set.
     * @return This builder for chaining.
     */
    public Builder setSignature(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000040;
      signature_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string signature = 7;
     * @return This builder for chaining.
     */
    public Builder clearSignature() {
      bitField0_ = (bitField0_ & ~0x00000040);
      signature_ = getDefaultInstance().getSignature();
      onChanged();
      return this;
    }
    /**
     * optional string signature = 7;
     * @param value The bytes for signature to set.
     * @return This builder for chaining.
     */
    public Builder setSignatureBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000040;
      signature_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object deviceName_ = "";
    /**
     * optional string deviceName = 8;
     * @return Whether the deviceName field is set.
     */
    public boolean hasDeviceName() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     * optional string deviceName = 8;
     * @return The deviceName.
     */
    public java.lang.String getDeviceName() {
      java.lang.Object ref = deviceName_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          deviceName_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string deviceName = 8;
     * @return The bytes for deviceName.
     */
    public com.google.protobuf.ByteString
        getDeviceNameBytes() {
      java.lang.Object ref = deviceName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        deviceName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string deviceName = 8;
     * @param value The deviceName to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceName(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000080;
      deviceName_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string deviceName = 8;
     * @return This builder for chaining.
     */
    public Builder clearDeviceName() {
      bitField0_ = (bitField0_ & ~0x00000080);
      deviceName_ = getDefaultInstance().getDeviceName();
      onChanged();
      return this;
    }
    /**
     * optional string deviceName = 8;
     * @param value The bytes for deviceName to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceNameBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000080;
      deviceName_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object deviceType_ = "";
    /**
     * optional string deviceType = 9;
     * @return Whether the deviceType field is set.
     */
    public boolean hasDeviceType() {
      return ((bitField0_ & 0x00000100) != 0);
    }
    /**
     * optional string deviceType = 9;
     * @return The deviceType.
     */
    public java.lang.String getDeviceType() {
      java.lang.Object ref = deviceType_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          deviceType_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string deviceType = 9;
     * @return The bytes for deviceType.
     */
    public com.google.protobuf.ByteString
        getDeviceTypeBytes() {
      java.lang.Object ref = deviceType_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        deviceType_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string deviceType = 9;
     * @param value The deviceType to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceType(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000100;
      deviceType_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string deviceType = 9;
     * @return This builder for chaining.
     */
    public Builder clearDeviceType() {
      bitField0_ = (bitField0_ & ~0x00000100);
      deviceType_ = getDefaultInstance().getDeviceType();
      onChanged();
      return this;
    }
    /**
     * optional string deviceType = 9;
     * @param value The bytes for deviceType to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceTypeBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000100;
      deviceType_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object language_ = "";
    /**
     * optional string language = 10;
     * @return Whether the language field is set.
     */
    public boolean hasLanguage() {
      return ((bitField0_ & 0x00000200) != 0);
    }
    /**
     * optional string language = 10;
     * @return The language.
     */
    public java.lang.String getLanguage() {
      java.lang.Object ref = language_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          language_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string language = 10;
     * @return The bytes for language.
     */
    public com.google.protobuf.ByteString
        getLanguageBytes() {
      java.lang.Object ref = language_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        language_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string language = 10;
     * @param value The language to set.
     * @return This builder for chaining.
     */
    public Builder setLanguage(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000200;
      language_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string language = 10;
     * @return This builder for chaining.
     */
    public Builder clearLanguage() {
      bitField0_ = (bitField0_ & ~0x00000200);
      language_ = getDefaultInstance().getLanguage();
      onChanged();
      return this;
    }
    /**
     * optional string language = 10;
     * @param value The bytes for language to set.
     * @return This builder for chaining.
     */
    public Builder setLanguageBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000200;
      language_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object timeZone_ = "";
    /**
     * optional string timeZone = 11;
     * @return Whether the timeZone field is set.
     */
    public boolean hasTimeZone() {
      return ((bitField0_ & 0x00000400) != 0);
    }
    /**
     * optional string timeZone = 11;
     * @return The timeZone.
     */
    public java.lang.String getTimeZone() {
      java.lang.Object ref = timeZone_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          timeZone_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string timeZone = 11;
     * @return The bytes for timeZone.
     */
    public com.google.protobuf.ByteString
        getTimeZoneBytes() {
      java.lang.Object ref = timeZone_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        timeZone_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string timeZone = 11;
     * @param value The timeZone to set.
     * @return This builder for chaining.
     */
    public Builder setTimeZone(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000400;
      timeZone_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string timeZone = 11;
     * @return This builder for chaining.
     */
    public Builder clearTimeZone() {
      bitField0_ = (bitField0_ & ~0x00000400);
      timeZone_ = getDefaultInstance().getTimeZone();
      onChanged();
      return this;
    }
    /**
     * optional string timeZone = 11;
     * @param value The bytes for timeZone to set.
     * @return This builder for chaining.
     */
    public Builder setTimeZoneBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000400;
      timeZone_ = value;
      onChanged();
      return this;
    }

    private int channel_ ;
    /**
     * optional int32 channel = 13;
     * @return Whether the channel field is set.
     */
    @java.lang.Override
    public boolean hasChannel() {
      return ((bitField0_ & 0x00000800) != 0);
    }
    /**
     * optional int32 channel = 13;
     * @return The channel.
     */
    @java.lang.Override
    public int getChannel() {
      return channel_;
    }
    /**
     * optional int32 channel = 13;
     * @param value The channel to set.
     * @return This builder for chaining.
     */
    public Builder setChannel(int value) {
      bitField0_ |= 0x00000800;
      channel_ = value;
      onChanged();
      return this;
    }
    /**
     * optional int32 channel = 13;
     * @return This builder for chaining.
     */
    public Builder clearChannel() {
      bitField0_ = (bitField0_ & ~0x00000800);
      channel_ = 0;
      onChanged();
      return this;
    }

    private int timeStamp_ ;
    /**
     * optional uint32 timeStamp = 14;
     * @return Whether the timeStamp field is set.
     */
    @java.lang.Override
    public boolean hasTimeStamp() {
      return ((bitField0_ & 0x00001000) != 0);
    }
    /**
     * optional uint32 timeStamp = 14;
     * @return The timeStamp.
     */
    @java.lang.Override
    public int getTimeStamp() {
      return timeStamp_;
    }
    /**
     * optional uint32 timeStamp = 14;
     * @param value The timeStamp to set.
     * @return This builder for chaining.
     */
    public Builder setTimeStamp(int value) {
      bitField0_ |= 0x00001000;
      timeStamp_ = value;
      onChanged();
      return this;
    }
    /**
     * optional uint32 timeStamp = 14;
     * @return This builder for chaining.
     */
    public Builder clearTimeStamp() {
      bitField0_ = (bitField0_ & ~0x00001000);
      timeStamp_ = 0;
      onChanged();
      return this;
    }

    private java.lang.Object deviceBrand_ = "";
    /**
     * optional string deviceBrand = 15;
     * @return Whether the deviceBrand field is set.
     */
    public boolean hasDeviceBrand() {
      return ((bitField0_ & 0x00002000) != 0);
    }
    /**
     * optional string deviceBrand = 15;
     * @return The deviceBrand.
     */
    public java.lang.String getDeviceBrand() {
      java.lang.Object ref = deviceBrand_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          deviceBrand_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string deviceBrand = 15;
     * @return The bytes for deviceBrand.
     */
    public com.google.protobuf.ByteString
        getDeviceBrandBytes() {
      java.lang.Object ref = deviceBrand_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        deviceBrand_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string deviceBrand = 15;
     * @param value The deviceBrand to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceBrand(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00002000;
      deviceBrand_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string deviceBrand = 15;
     * @return This builder for chaining.
     */
    public Builder clearDeviceBrand() {
      bitField0_ = (bitField0_ & ~0x00002000);
      deviceBrand_ = getDefaultInstance().getDeviceBrand();
      onChanged();
      return this;
    }
    /**
     * optional string deviceBrand = 15;
     * @param value The bytes for deviceBrand to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceBrandBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00002000;
      deviceBrand_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object deviceModel_ = "";
    /**
     * optional string deviceModel = 16;
     * @return Whether the deviceModel field is set.
     */
    public boolean hasDeviceModel() {
      return ((bitField0_ & 0x00004000) != 0);
    }
    /**
     * optional string deviceModel = 16;
     * @return The deviceModel.
     */
    public java.lang.String getDeviceModel() {
      java.lang.Object ref = deviceModel_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          deviceModel_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string deviceModel = 16;
     * @return The bytes for deviceModel.
     */
    public com.google.protobuf.ByteString
        getDeviceModelBytes() {
      java.lang.Object ref = deviceModel_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        deviceModel_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string deviceModel = 16;
     * @param value The deviceModel to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceModel(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00004000;
      deviceModel_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string deviceModel = 16;
     * @return This builder for chaining.
     */
    public Builder clearDeviceModel() {
      bitField0_ = (bitField0_ & ~0x00004000);
      deviceModel_ = getDefaultInstance().getDeviceModel();
      onChanged();
      return this;
    }
    /**
     * optional string deviceModel = 16;
     * @param value The bytes for deviceModel to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceModelBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00004000;
      deviceModel_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object ostype_ = "";
    /**
     * optional string ostype = 17;
     * @return Whether the ostype field is set.
     */
    public boolean hasOstype() {
      return ((bitField0_ & 0x00008000) != 0);
    }
    /**
     * optional string ostype = 17;
     * @return The ostype.
     */
    public java.lang.String getOstype() {
      java.lang.Object ref = ostype_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          ostype_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string ostype = 17;
     * @return The bytes for ostype.
     */
    public com.google.protobuf.ByteString
        getOstypeBytes() {
      java.lang.Object ref = ostype_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        ostype_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string ostype = 17;
     * @param value The ostype to set.
     * @return This builder for chaining.
     */
    public Builder setOstype(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00008000;
      ostype_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string ostype = 17;
     * @return This builder for chaining.
     */
    public Builder clearOstype() {
      bitField0_ = (bitField0_ & ~0x00008000);
      ostype_ = getDefaultInstance().getOstype();
      onChanged();
      return this;
    }
    /**
     * optional string ostype = 17;
     * @param value The bytes for ostype to set.
     * @return This builder for chaining.
     */
    public Builder setOstypeBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00008000;
      ostype_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object realCountry_ = "";
    /**
     * optional string realCountry = 18;
     * @return Whether the realCountry field is set.
     */
    public boolean hasRealCountry() {
      return ((bitField0_ & 0x00010000) != 0);
    }
    /**
     * optional string realCountry = 18;
     * @return The realCountry.
     */
    public java.lang.String getRealCountry() {
      java.lang.Object ref = realCountry_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          realCountry_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string realCountry = 18;
     * @return The bytes for realCountry.
     */
    public com.google.protobuf.ByteString
        getRealCountryBytes() {
      java.lang.Object ref = realCountry_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        realCountry_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string realCountry = 18;
     * @param value The realCountry to set.
     * @return This builder for chaining.
     */
    public Builder setRealCountry(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00010000;
      realCountry_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string realCountry = 18;
     * @return This builder for chaining.
     */
    public Builder clearRealCountry() {
      bitField0_ = (bitField0_ & ~0x00010000);
      realCountry_ = getDefaultInstance().getRealCountry();
      onChanged();
      return this;
    }
    /**
     * optional string realCountry = 18;
     * @param value The bytes for realCountry to set.
     * @return This builder for chaining.
     */
    public Builder setRealCountryBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00010000;
      realCountry_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object bundleId_ = "";
    /**
     * optional string bundleId = 19;
     * @return Whether the bundleId field is set.
     */
    public boolean hasBundleId() {
      return ((bitField0_ & 0x00020000) != 0);
    }
    /**
     * optional string bundleId = 19;
     * @return The bundleId.
     */
    public java.lang.String getBundleId() {
      java.lang.Object ref = bundleId_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          bundleId_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string bundleId = 19;
     * @return The bytes for bundleId.
     */
    public com.google.protobuf.ByteString
        getBundleIdBytes() {
      java.lang.Object ref = bundleId_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        bundleId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string bundleId = 19;
     * @param value The bundleId to set.
     * @return This builder for chaining.
     */
    public Builder setBundleId(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00020000;
      bundleId_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string bundleId = 19;
     * @return This builder for chaining.
     */
    public Builder clearBundleId() {
      bitField0_ = (bitField0_ & ~0x00020000);
      bundleId_ = getDefaultInstance().getBundleId();
      onChanged();
      return this;
    }
    /**
     * optional string bundleId = 19;
     * @param value The bytes for bundleId to set.
     * @return This builder for chaining.
     */
    public Builder setBundleIdBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00020000;
      bundleId_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object adSource_ = "";
    /**
     * optional string adSource = 20;
     * @return Whether the adSource field is set.
     */
    public boolean hasAdSource() {
      return ((bitField0_ & 0x00040000) != 0);
    }
    /**
     * optional string adSource = 20;
     * @return The adSource.
     */
    public java.lang.String getAdSource() {
      java.lang.Object ref = adSource_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          adSource_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string adSource = 20;
     * @return The bytes for adSource.
     */
    public com.google.protobuf.ByteString
        getAdSourceBytes() {
      java.lang.Object ref = adSource_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        adSource_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string adSource = 20;
     * @param value The adSource to set.
     * @return This builder for chaining.
     */
    public Builder setAdSource(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00040000;
      adSource_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string adSource = 20;
     * @return This builder for chaining.
     */
    public Builder clearAdSource() {
      bitField0_ = (bitField0_ & ~0x00040000);
      adSource_ = getDefaultInstance().getAdSource();
      onChanged();
      return this;
    }
    /**
     * optional string adSource = 20;
     * @param value The bytes for adSource to set.
     * @return This builder for chaining.
     */
    public Builder setAdSourceBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00040000;
      adSource_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object iphoneVer_ = "";
    /**
     * optional string iphoneVer = 21;
     * @return Whether the iphoneVer field is set.
     */
    public boolean hasIphoneVer() {
      return ((bitField0_ & 0x00080000) != 0);
    }
    /**
     * optional string iphoneVer = 21;
     * @return The iphoneVer.
     */
    public java.lang.String getIphoneVer() {
      java.lang.Object ref = iphoneVer_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          iphoneVer_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string iphoneVer = 21;
     * @return The bytes for iphoneVer.
     */
    public com.google.protobuf.ByteString
        getIphoneVerBytes() {
      java.lang.Object ref = iphoneVer_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        iphoneVer_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string iphoneVer = 21;
     * @param value The iphoneVer to set.
     * @return This builder for chaining.
     */
    public Builder setIphoneVer(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00080000;
      iphoneVer_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string iphoneVer = 21;
     * @return This builder for chaining.
     */
    public Builder clearIphoneVer() {
      bitField0_ = (bitField0_ & ~0x00080000);
      iphoneVer_ = getDefaultInstance().getIphoneVer();
      onChanged();
      return this;
    }
    /**
     * optional string iphoneVer = 21;
     * @param value The bytes for iphoneVer to set.
     * @return This builder for chaining.
     */
    public Builder setIphoneVerBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00080000;
      iphoneVer_ = value;
      onChanged();
      return this;
    }

    private int inputType_ ;
    /**
     * optional uint32 inputType = 22;
     * @return Whether the inputType field is set.
     */
    @java.lang.Override
    public boolean hasInputType() {
      return ((bitField0_ & 0x00100000) != 0);
    }
    /**
     * optional uint32 inputType = 22;
     * @return The inputType.
     */
    @java.lang.Override
    public int getInputType() {
      return inputType_;
    }
    /**
     * optional uint32 inputType = 22;
     * @param value The inputType to set.
     * @return This builder for chaining.
     */
    public Builder setInputType(int value) {
      bitField0_ |= 0x00100000;
      inputType_ = value;
      onChanged();
      return this;
    }
    /**
     * optional uint32 inputType = 22;
     * @return This builder for chaining.
     */
    public Builder clearInputType() {
      bitField0_ = (bitField0_ & ~0x00100000);
      inputType_ = 0;
      onChanged();
      return this;
    }

    private wechat.protobuf.SKBuiltinString_ clientCheckData_;
    private com.google.protobuf.SingleFieldBuilderV3<
        wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> clientCheckDataBuilder_;
    /**
     * optional .wechat_proto.SKBuiltinString_ clientCheckData = 23;
     * @return Whether the clientCheckData field is set.
     */
    public boolean hasClientCheckData() {
      return ((bitField0_ & 0x00200000) != 0);
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ clientCheckData = 23;
     * @return The clientCheckData.
     */
    public wechat.protobuf.SKBuiltinString_ getClientCheckData() {
      if (clientCheckDataBuilder_ == null) {
        return clientCheckData_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : clientCheckData_;
      } else {
        return clientCheckDataBuilder_.getMessage();
      }
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ clientCheckData = 23;
     */
    public Builder setClientCheckData(wechat.protobuf.SKBuiltinString_ value) {
      if (clientCheckDataBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        clientCheckData_ = value;
        onChanged();
      } else {
        clientCheckDataBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00200000;
      return this;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ clientCheckData = 23;
     */
    public Builder setClientCheckData(
        wechat.protobuf.SKBuiltinString_.Builder builderForValue) {
      if (clientCheckDataBuilder_ == null) {
        clientCheckData_ = builderForValue.build();
        onChanged();
      } else {
        clientCheckDataBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00200000;
      return this;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ clientCheckData = 23;
     */
    public Builder mergeClientCheckData(wechat.protobuf.SKBuiltinString_ value) {
      if (clientCheckDataBuilder_ == null) {
        if (((bitField0_ & 0x00200000) != 0) &&
            clientCheckData_ != null &&
            clientCheckData_ != wechat.protobuf.SKBuiltinString_.getDefaultInstance()) {
          clientCheckData_ =
            wechat.protobuf.SKBuiltinString_.newBuilder(clientCheckData_).mergeFrom(value).buildPartial();
        } else {
          clientCheckData_ = value;
        }
        onChanged();
      } else {
        clientCheckDataBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00200000;
      return this;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ clientCheckData = 23;
     */
    public Builder clearClientCheckData() {
      if (clientCheckDataBuilder_ == null) {
        clientCheckData_ = null;
        onChanged();
      } else {
        clientCheckDataBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00200000);
      return this;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ clientCheckData = 23;
     */
    public wechat.protobuf.SKBuiltinString_.Builder getClientCheckDataBuilder() {
      bitField0_ |= 0x00200000;
      onChanged();
      return getClientCheckDataFieldBuilder().getBuilder();
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ clientCheckData = 23;
     */
    public wechat.protobuf.SKBuiltinString_OrBuilder getClientCheckDataOrBuilder() {
      if (clientCheckDataBuilder_ != null) {
        return clientCheckDataBuilder_.getMessageOrBuilder();
      } else {
        return clientCheckData_ == null ?
            wechat.protobuf.SKBuiltinString_.getDefaultInstance() : clientCheckData_;
      }
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ clientCheckData = 23;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> 
        getClientCheckDataFieldBuilder() {
      if (clientCheckDataBuilder_ == null) {
        clientCheckDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder>(
                getClientCheckData(),
                getParentForChildren(),
                isClean());
        clientCheckData_ = null;
      }
      return clientCheckDataBuilder_;
    }

    private wechat.protobuf.SKBuiltinString_ extSpamInfo_;
    private com.google.protobuf.SingleFieldBuilderV3<
        wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> extSpamInfoBuilder_;
    /**
     * optional .wechat_proto.SKBuiltinString_ extSpamInfo = 24;
     * @return Whether the extSpamInfo field is set.
     */
    public boolean hasExtSpamInfo() {
      return ((bitField0_ & 0x00400000) != 0);
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ extSpamInfo = 24;
     * @return The extSpamInfo.
     */
    public wechat.protobuf.SKBuiltinString_ getExtSpamInfo() {
      if (extSpamInfoBuilder_ == null) {
        return extSpamInfo_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : extSpamInfo_;
      } else {
        return extSpamInfoBuilder_.getMessage();
      }
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ extSpamInfo = 24;
     */
    public Builder setExtSpamInfo(wechat.protobuf.SKBuiltinString_ value) {
      if (extSpamInfoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        extSpamInfo_ = value;
        onChanged();
      } else {
        extSpamInfoBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00400000;
      return this;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ extSpamInfo = 24;
     */
    public Builder setExtSpamInfo(
        wechat.protobuf.SKBuiltinString_.Builder builderForValue) {
      if (extSpamInfoBuilder_ == null) {
        extSpamInfo_ = builderForValue.build();
        onChanged();
      } else {
        extSpamInfoBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00400000;
      return this;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ extSpamInfo = 24;
     */
    public Builder mergeExtSpamInfo(wechat.protobuf.SKBuiltinString_ value) {
      if (extSpamInfoBuilder_ == null) {
        if (((bitField0_ & 0x00400000) != 0) &&
            extSpamInfo_ != null &&
            extSpamInfo_ != wechat.protobuf.SKBuiltinString_.getDefaultInstance()) {
          extSpamInfo_ =
            wechat.protobuf.SKBuiltinString_.newBuilder(extSpamInfo_).mergeFrom(value).buildPartial();
        } else {
          extSpamInfo_ = value;
        }
        onChanged();
      } else {
        extSpamInfoBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00400000;
      return this;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ extSpamInfo = 24;
     */
    public Builder clearExtSpamInfo() {
      if (extSpamInfoBuilder_ == null) {
        extSpamInfo_ = null;
        onChanged();
      } else {
        extSpamInfoBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00400000);
      return this;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ extSpamInfo = 24;
     */
    public wechat.protobuf.SKBuiltinString_.Builder getExtSpamInfoBuilder() {
      bitField0_ |= 0x00400000;
      onChanged();
      return getExtSpamInfoFieldBuilder().getBuilder();
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ extSpamInfo = 24;
     */
    public wechat.protobuf.SKBuiltinString_OrBuilder getExtSpamInfoOrBuilder() {
      if (extSpamInfoBuilder_ != null) {
        return extSpamInfoBuilder_.getMessageOrBuilder();
      } else {
        return extSpamInfo_ == null ?
            wechat.protobuf.SKBuiltinString_.getDefaultInstance() : extSpamInfo_;
      }
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ extSpamInfo = 24;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> 
        getExtSpamInfoFieldBuilder() {
      if (extSpamInfoBuilder_ == null) {
        extSpamInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder>(
                getExtSpamInfo(),
                getParentForChildren(),
                isClean());
        extSpamInfo_ = null;
      }
      return extSpamInfoBuilder_;
    }
    @java.lang.Override
    public final Builder setUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.setUnknownFields(unknownFields);
    }

    @java.lang.Override
    public final Builder mergeUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.mergeUnknownFields(unknownFields);
    }


    // @@protoc_insertion_point(builder_scope:wechat_proto.ManualAuthAesReqData)
  }

  // @@protoc_insertion_point(class_scope:wechat_proto.ManualAuthAesReqData)
  private static final wechat.protobuf.ManualAuthAesReqData DEFAULT_INSTANCE;
  static {
    DEFAULT_INSTANCE = new wechat.protobuf.ManualAuthAesReqData();
  }

  public static wechat.protobuf.ManualAuthAesReqData getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

  @java.lang.Deprecated public static final com.google.protobuf.Parser
      PARSER = new com.google.protobuf.AbstractParser() {
    @java.lang.Override
    public ManualAuthAesReqData parsePartialFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return new ManualAuthAesReqData(input, extensionRegistry);
    }
  };

  public static com.google.protobuf.Parser parser() {
    return PARSER;
  }

  @java.lang.Override
  public com.google.protobuf.Parser getParserForType() {
    return PARSER;
  }

  @java.lang.Override
  public wechat.protobuf.ManualAuthAesReqData getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }

}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy