// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: proto2AllTypes.proto

package org.redisson.codec.protobuf.nativeData;

public final class Proto2AllTypes {
  private Proto2AllTypes() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface AllTypes2OrBuilder extends
      // @@protoc_insertion_point(interface_extends:org.redisson.codec.protobuf.raw.AllTypes2)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *types from https://protobuf.dev/programming-guides/proto2/
     * </pre>
     *
     * <code>repeated double doubleType = 1;</code>
     * @return A list containing the doubleType.
     */
    java.util.List<Double> getDoubleTypeList();
    /**
     * <pre>
     *types from https://protobuf.dev/programming-guides/proto2/
     * </pre>
     *
     * <code>repeated double doubleType = 1;</code>
     * @return The count of doubleType.
     */
    int getDoubleTypeCount();
    /**
     * <pre>
     *types from https://protobuf.dev/programming-guides/proto2/
     * </pre>
     *
     * <code>repeated double doubleType = 1;</code>
     * @param index The index of the element to return.
     * @return The doubleType at the given index.
     */
    double getDoubleType(int index);

    /**
     * <code>optional float floatType = 2;</code>
     * @return Whether the floatType field is set.
     */
    boolean hasFloatType();
    /**
     * <code>optional float floatType = 2;</code>
     * @return The floatType.
     */
    float getFloatType();

    /**
     * <code>required int32 int32Type = 3;</code>
     * @return Whether the int32Type field is set.
     */
    boolean hasInt32Type();
    /**
     * <code>required int32 int32Type = 3;</code>
     * @return The int32Type.
     */
    int getInt32Type();

    /**
     * <code>optional int64 int64Type = 4;</code>
     * @return Whether the int64Type field is set.
     */
    boolean hasInt64Type();
    /**
     * <code>optional int64 int64Type = 4;</code>
     * @return The int64Type.
     */
    long getInt64Type();

    /**
     * <code>optional uint32 uint32Type = 5;</code>
     * @return Whether the uint32Type field is set.
     */
    boolean hasUint32Type();
    /**
     * <code>optional uint32 uint32Type = 5;</code>
     * @return The uint32Type.
     */
    int getUint32Type();

    /**
     * <code>optional uint64 uint64Type = 6;</code>
     * @return Whether the uint64Type field is set.
     */
    boolean hasUint64Type();
    /**
     * <code>optional uint64 uint64Type = 6;</code>
     * @return The uint64Type.
     */
    long getUint64Type();

    /**
     * <code>optional sint32 sint32Type = 7;</code>
     * @return Whether the sint32Type field is set.
     */
    boolean hasSint32Type();
    /**
     * <code>optional sint32 sint32Type = 7;</code>
     * @return The sint32Type.
     */
    int getSint32Type();

    /**
     * <code>optional sint64 sint64Type = 8;</code>
     * @return Whether the sint64Type field is set.
     */
    boolean hasSint64Type();
    /**
     * <code>optional sint64 sint64Type = 8;</code>
     * @return The sint64Type.
     */
    long getSint64Type();

    /**
     * <code>optional fixed32 fixed32Type = 9;</code>
     * @return Whether the fixed32Type field is set.
     */
    boolean hasFixed32Type();
    /**
     * <code>optional fixed32 fixed32Type = 9;</code>
     * @return The fixed32Type.
     */
    int getFixed32Type();

    /**
     * <code>optional fixed64 fixed64Type = 10;</code>
     * @return Whether the fixed64Type field is set.
     */
    boolean hasFixed64Type();
    /**
     * <code>optional fixed64 fixed64Type = 10;</code>
     * @return The fixed64Type.
     */
    long getFixed64Type();

    /**
     * <code>optional sfixed32 sfixed32Type = 11;</code>
     * @return Whether the sfixed32Type field is set.
     */
    boolean hasSfixed32Type();
    /**
     * <code>optional sfixed32 sfixed32Type = 11;</code>
     * @return The sfixed32Type.
     */
    int getSfixed32Type();

    /**
     * <code>optional sfixed64 sfixed64Type = 12;</code>
     * @return Whether the sfixed64Type field is set.
     */
    boolean hasSfixed64Type();
    /**
     * <code>optional sfixed64 sfixed64Type = 12;</code>
     * @return The sfixed64Type.
     */
    long getSfixed64Type();

    /**
     * <code>optional bool boolType = 13;</code>
     * @return Whether the boolType field is set.
     */
    boolean hasBoolType();
    /**
     * <code>optional bool boolType = 13;</code>
     * @return The boolType.
     */
    boolean getBoolType();

    /**
     * <code>optional string stringType = 14;</code>
     * @return Whether the stringType field is set.
     */
    boolean hasStringType();
    /**
     * <code>optional string stringType = 14;</code>
     * @return The stringType.
     */
    String getStringType();
    /**
     * <code>optional string stringType = 14;</code>
     * @return The bytes for stringType.
     */
    com.google.protobuf.ByteString
        getStringTypeBytes();

    /**
     * <code>optional bytes bytesType = 15;</code>
     * @return Whether the bytesType field is set.
     */
    boolean hasBytesType();
    /**
     * <code>optional bytes bytesType = 15;</code>
     * @return The bytesType.
     */
    com.google.protobuf.ByteString getBytesType();
  }
  /**
   * Protobuf type {@code org.redisson.codec.protobuf.raw.AllTypes2}
   */
  public static final class AllTypes2 extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:org.redisson.codec.protobuf.raw.AllTypes2)
      AllTypes2OrBuilder {
  private static final long serialVersionUID = 0L;
    // Use AllTypes2.newBuilder() to construct.
    private AllTypes2(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private AllTypes2() {
      doubleType_ = emptyDoubleList();
      stringType_ = "";
      bytesType_ = com.google.protobuf.ByteString.EMPTY;
    }

    @Override
    @SuppressWarnings({"unused"})
    protected Object newInstance(
        UnusedPrivateParameter unused) {
      return new AllTypes2();
    }

    @Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private AllTypes2(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new 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 9: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                doubleType_ = newDoubleList();
                mutable_bitField0_ |= 0x00000001;
              }
              doubleType_.addDouble(input.readDouble());
              break;
            }
            case 10: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) {
                doubleType_ = newDoubleList();
                mutable_bitField0_ |= 0x00000001;
              }
              while (input.getBytesUntilLimit() > 0) {
                doubleType_.addDouble(input.readDouble());
              }
              input.popLimit(limit);
              break;
            }
            case 21: {
              bitField0_ |= 0x00000001;
              floatType_ = input.readFloat();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000002;
              int32Type_ = input.readInt32();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000004;
              int64Type_ = input.readInt64();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000008;
              uint32Type_ = input.readUInt32();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000010;
              uint64Type_ = input.readUInt64();
              break;
            }
            case 56: {
              bitField0_ |= 0x00000020;
              sint32Type_ = input.readSInt32();
              break;
            }
            case 64: {
              bitField0_ |= 0x00000040;
              sint64Type_ = input.readSInt64();
              break;
            }
            case 77: {
              bitField0_ |= 0x00000080;
              fixed32Type_ = input.readFixed32();
              break;
            }
            case 81: {
              bitField0_ |= 0x00000100;
              fixed64Type_ = input.readFixed64();
              break;
            }
            case 93: {
              bitField0_ |= 0x00000200;
              sfixed32Type_ = input.readSFixed32();
              break;
            }
            case 97: {
              bitField0_ |= 0x00000400;
              sfixed64Type_ = input.readSFixed64();
              break;
            }
            case 104: {
              bitField0_ |= 0x00000800;
              boolType_ = input.readBool();
              break;
            }
            case 114: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00001000;
              stringType_ = bs;
              break;
            }
            case 122: {
              bitField0_ |= 0x00002000;
              bytesType_ = input.readBytes();
              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 {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          doubleType_.makeImmutable(); // C
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return Proto2AllTypes.internal_static_org_redisson_codec_protobuf_raw_AllTypes2_descriptor;
    }

    @Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return Proto2AllTypes.internal_static_org_redisson_codec_protobuf_raw_AllTypes2_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              AllTypes2.class, Builder.class);
    }

    private int bitField0_;
    public static final int DOUBLETYPE_FIELD_NUMBER = 1;
    private com.google.protobuf.Internal.DoubleList doubleType_;
    /**
     * <pre>
     *types from https://protobuf.dev/programming-guides/proto2/
     * </pre>
     *
     * <code>repeated double doubleType = 1;</code>
     * @return A list containing the doubleType.
     */
    @Override
    public java.util.List<Double>
        getDoubleTypeList() {
      return doubleType_;
    }
    /**
     * <pre>
     *types from https://protobuf.dev/programming-guides/proto2/
     * </pre>
     *
     * <code>repeated double doubleType = 1;</code>
     * @return The count of doubleType.
     */
    public int getDoubleTypeCount() {
      return doubleType_.size();
    }
    /**
     * <pre>
     *types from https://protobuf.dev/programming-guides/proto2/
     * </pre>
     *
     * <code>repeated double doubleType = 1;</code>
     * @param index The index of the element to return.
     * @return The doubleType at the given index.
     */
    public double getDoubleType(int index) {
      return doubleType_.getDouble(index);
    }

    public static final int FLOATTYPE_FIELD_NUMBER = 2;
    private float floatType_;
    /**
     * <code>optional float floatType = 2;</code>
     * @return Whether the floatType field is set.
     */
    @Override
    public boolean hasFloatType() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional float floatType = 2;</code>
     * @return The floatType.
     */
    @Override
    public float getFloatType() {
      return floatType_;
    }

    public static final int INT32TYPE_FIELD_NUMBER = 3;
    private int int32Type_;
    /**
     * <code>required int32 int32Type = 3;</code>
     * @return Whether the int32Type field is set.
     */
    @Override
    public boolean hasInt32Type() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required int32 int32Type = 3;</code>
     * @return The int32Type.
     */
    @Override
    public int getInt32Type() {
      return int32Type_;
    }

    public static final int INT64TYPE_FIELD_NUMBER = 4;
    private long int64Type_;
    /**
     * <code>optional int64 int64Type = 4;</code>
     * @return Whether the int64Type field is set.
     */
    @Override
    public boolean hasInt64Type() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional int64 int64Type = 4;</code>
     * @return The int64Type.
     */
    @Override
    public long getInt64Type() {
      return int64Type_;
    }

    public static final int UINT32TYPE_FIELD_NUMBER = 5;
    private int uint32Type_;
    /**
     * <code>optional uint32 uint32Type = 5;</code>
     * @return Whether the uint32Type field is set.
     */
    @Override
    public boolean hasUint32Type() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional uint32 uint32Type = 5;</code>
     * @return The uint32Type.
     */
    @Override
    public int getUint32Type() {
      return uint32Type_;
    }

    public static final int UINT64TYPE_FIELD_NUMBER = 6;
    private long uint64Type_;
    /**
     * <code>optional uint64 uint64Type = 6;</code>
     * @return Whether the uint64Type field is set.
     */
    @Override
    public boolean hasUint64Type() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>optional uint64 uint64Type = 6;</code>
     * @return The uint64Type.
     */
    @Override
    public long getUint64Type() {
      return uint64Type_;
    }

    public static final int SINT32TYPE_FIELD_NUMBER = 7;
    private int sint32Type_;
    /**
     * <code>optional sint32 sint32Type = 7;</code>
     * @return Whether the sint32Type field is set.
     */
    @Override
    public boolean hasSint32Type() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * <code>optional sint32 sint32Type = 7;</code>
     * @return The sint32Type.
     */
    @Override
    public int getSint32Type() {
      return sint32Type_;
    }

    public static final int SINT64TYPE_FIELD_NUMBER = 8;
    private long sint64Type_;
    /**
     * <code>optional sint64 sint64Type = 8;</code>
     * @return Whether the sint64Type field is set.
     */
    @Override
    public boolean hasSint64Type() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * <code>optional sint64 sint64Type = 8;</code>
     * @return The sint64Type.
     */
    @Override
    public long getSint64Type() {
      return sint64Type_;
    }

    public static final int FIXED32TYPE_FIELD_NUMBER = 9;
    private int fixed32Type_;
    /**
     * <code>optional fixed32 fixed32Type = 9;</code>
     * @return Whether the fixed32Type field is set.
     */
    @Override
    public boolean hasFixed32Type() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     * <code>optional fixed32 fixed32Type = 9;</code>
     * @return The fixed32Type.
     */
    @Override
    public int getFixed32Type() {
      return fixed32Type_;
    }

    public static final int FIXED64TYPE_FIELD_NUMBER = 10;
    private long fixed64Type_;
    /**
     * <code>optional fixed64 fixed64Type = 10;</code>
     * @return Whether the fixed64Type field is set.
     */
    @Override
    public boolean hasFixed64Type() {
      return ((bitField0_ & 0x00000100) != 0);
    }
    /**
     * <code>optional fixed64 fixed64Type = 10;</code>
     * @return The fixed64Type.
     */
    @Override
    public long getFixed64Type() {
      return fixed64Type_;
    }

    public static final int SFIXED32TYPE_FIELD_NUMBER = 11;
    private int sfixed32Type_;
    /**
     * <code>optional sfixed32 sfixed32Type = 11;</code>
     * @return Whether the sfixed32Type field is set.
     */
    @Override
    public boolean hasSfixed32Type() {
      return ((bitField0_ & 0x00000200) != 0);
    }
    /**
     * <code>optional sfixed32 sfixed32Type = 11;</code>
     * @return The sfixed32Type.
     */
    @Override
    public int getSfixed32Type() {
      return sfixed32Type_;
    }

    public static final int SFIXED64TYPE_FIELD_NUMBER = 12;
    private long sfixed64Type_;
    /**
     * <code>optional sfixed64 sfixed64Type = 12;</code>
     * @return Whether the sfixed64Type field is set.
     */
    @Override
    public boolean hasSfixed64Type() {
      return ((bitField0_ & 0x00000400) != 0);
    }
    /**
     * <code>optional sfixed64 sfixed64Type = 12;</code>
     * @return The sfixed64Type.
     */
    @Override
    public long getSfixed64Type() {
      return sfixed64Type_;
    }

    public static final int BOOLTYPE_FIELD_NUMBER = 13;
    private boolean boolType_;
    /**
     * <code>optional bool boolType = 13;</code>
     * @return Whether the boolType field is set.
     */
    @Override
    public boolean hasBoolType() {
      return ((bitField0_ & 0x00000800) != 0);
    }
    /**
     * <code>optional bool boolType = 13;</code>
     * @return The boolType.
     */
    @Override
    public boolean getBoolType() {
      return boolType_;
    }

    public static final int STRINGTYPE_FIELD_NUMBER = 14;
    private volatile Object stringType_;
    /**
     * <code>optional string stringType = 14;</code>
     * @return Whether the stringType field is set.
     */
    @Override
    public boolean hasStringType() {
      return ((bitField0_ & 0x00001000) != 0);
    }
    /**
     * <code>optional string stringType = 14;</code>
     * @return The stringType.
     */
    @Override
    public String getStringType() {
      Object ref = stringType_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          stringType_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string stringType = 14;</code>
     * @return The bytes for stringType.
     */
    @Override
    public com.google.protobuf.ByteString
        getStringTypeBytes() {
      Object ref = stringType_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        stringType_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int BYTESTYPE_FIELD_NUMBER = 15;
    private com.google.protobuf.ByteString bytesType_;
    /**
     * <code>optional bytes bytesType = 15;</code>
     * @return Whether the bytesType field is set.
     */
    @Override
    public boolean hasBytesType() {
      return ((bitField0_ & 0x00002000) != 0);
    }
    /**
     * <code>optional bytes bytesType = 15;</code>
     * @return The bytesType.
     */
    @Override
    public com.google.protobuf.ByteString getBytesType() {
      return bytesType_;
    }

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

      if (!hasInt32Type()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < doubleType_.size(); i++) {
        output.writeDouble(1, doubleType_.getDouble(i));
      }
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeFloat(2, floatType_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeInt32(3, int32Type_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeInt64(4, int64Type_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeUInt32(5, uint32Type_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeUInt64(6, uint64Type_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        output.writeSInt32(7, sint32Type_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        output.writeSInt64(8, sint64Type_);
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        output.writeFixed32(9, fixed32Type_);
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        output.writeFixed64(10, fixed64Type_);
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        output.writeSFixed32(11, sfixed32Type_);
      }
      if (((bitField0_ & 0x00000400) != 0)) {
        output.writeSFixed64(12, sfixed64Type_);
      }
      if (((bitField0_ & 0x00000800) != 0)) {
        output.writeBool(13, boolType_);
      }
      if (((bitField0_ & 0x00001000) != 0)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 14, stringType_);
      }
      if (((bitField0_ & 0x00002000) != 0)) {
        output.writeBytes(15, bytesType_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      {
        int dataSize = 0;
        dataSize = 8 * getDoubleTypeList().size();
        size += dataSize;
        size += 1 * getDoubleTypeList().size();
      }
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(2, floatType_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, int32Type_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(4, int64Type_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, uint32Type_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(6, uint64Type_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeSInt32Size(7, sint32Type_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeSInt64Size(8, sint64Type_);
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(9, fixed32Type_);
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed64Size(10, fixed64Type_);
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeSFixed32Size(11, sfixed32Type_);
      }
      if (((bitField0_ & 0x00000400) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeSFixed64Size(12, sfixed64Type_);
      }
      if (((bitField0_ & 0x00000800) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(13, boolType_);
      }
      if (((bitField0_ & 0x00001000) != 0)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(14, stringType_);
      }
      if (((bitField0_ & 0x00002000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(15, bytesType_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @Override
    public boolean equals(final Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof AllTypes2)) {
        return super.equals(obj);
      }
      AllTypes2 other = (AllTypes2) obj;

      if (!getDoubleTypeList()
          .equals(other.getDoubleTypeList())) return false;
      if (hasFloatType() != other.hasFloatType()) return false;
      if (hasFloatType()) {
        if (Float.floatToIntBits(getFloatType())
            != Float.floatToIntBits(
                other.getFloatType())) return false;
      }
      if (hasInt32Type() != other.hasInt32Type()) return false;
      if (hasInt32Type()) {
        if (getInt32Type()
            != other.getInt32Type()) return false;
      }
      if (hasInt64Type() != other.hasInt64Type()) return false;
      if (hasInt64Type()) {
        if (getInt64Type()
            != other.getInt64Type()) return false;
      }
      if (hasUint32Type() != other.hasUint32Type()) return false;
      if (hasUint32Type()) {
        if (getUint32Type()
            != other.getUint32Type()) return false;
      }
      if (hasUint64Type() != other.hasUint64Type()) return false;
      if (hasUint64Type()) {
        if (getUint64Type()
            != other.getUint64Type()) return false;
      }
      if (hasSint32Type() != other.hasSint32Type()) return false;
      if (hasSint32Type()) {
        if (getSint32Type()
            != other.getSint32Type()) return false;
      }
      if (hasSint64Type() != other.hasSint64Type()) return false;
      if (hasSint64Type()) {
        if (getSint64Type()
            != other.getSint64Type()) return false;
      }
      if (hasFixed32Type() != other.hasFixed32Type()) return false;
      if (hasFixed32Type()) {
        if (getFixed32Type()
            != other.getFixed32Type()) return false;
      }
      if (hasFixed64Type() != other.hasFixed64Type()) return false;
      if (hasFixed64Type()) {
        if (getFixed64Type()
            != other.getFixed64Type()) return false;
      }
      if (hasSfixed32Type() != other.hasSfixed32Type()) return false;
      if (hasSfixed32Type()) {
        if (getSfixed32Type()
            != other.getSfixed32Type()) return false;
      }
      if (hasSfixed64Type() != other.hasSfixed64Type()) return false;
      if (hasSfixed64Type()) {
        if (getSfixed64Type()
            != other.getSfixed64Type()) return false;
      }
      if (hasBoolType() != other.hasBoolType()) return false;
      if (hasBoolType()) {
        if (getBoolType()
            != other.getBoolType()) return false;
      }
      if (hasStringType() != other.hasStringType()) return false;
      if (hasStringType()) {
        if (!getStringType()
            .equals(other.getStringType())) return false;
      }
      if (hasBytesType() != other.hasBytesType()) return false;
      if (hasBytesType()) {
        if (!getBytesType()
            .equals(other.getBytesType())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getDoubleTypeCount() > 0) {
        hash = (37 * hash) + DOUBLETYPE_FIELD_NUMBER;
        hash = (53 * hash) + getDoubleTypeList().hashCode();
      }
      if (hasFloatType()) {
        hash = (37 * hash) + FLOATTYPE_FIELD_NUMBER;
        hash = (53 * hash) + Float.floatToIntBits(
            getFloatType());
      }
      if (hasInt32Type()) {
        hash = (37 * hash) + INT32TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getInt32Type();
      }
      if (hasInt64Type()) {
        hash = (37 * hash) + INT64TYPE_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getInt64Type());
      }
      if (hasUint32Type()) {
        hash = (37 * hash) + UINT32TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getUint32Type();
      }
      if (hasUint64Type()) {
        hash = (37 * hash) + UINT64TYPE_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getUint64Type());
      }
      if (hasSint32Type()) {
        hash = (37 * hash) + SINT32TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getSint32Type();
      }
      if (hasSint64Type()) {
        hash = (37 * hash) + SINT64TYPE_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getSint64Type());
      }
      if (hasFixed32Type()) {
        hash = (37 * hash) + FIXED32TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getFixed32Type();
      }
      if (hasFixed64Type()) {
        hash = (37 * hash) + FIXED64TYPE_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getFixed64Type());
      }
      if (hasSfixed32Type()) {
        hash = (37 * hash) + SFIXED32TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getSfixed32Type();
      }
      if (hasSfixed64Type()) {
        hash = (37 * hash) + SFIXED64TYPE_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getSfixed64Type());
      }
      if (hasBoolType()) {
        hash = (37 * hash) + BOOLTYPE_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getBoolType());
      }
      if (hasStringType()) {
        hash = (37 * hash) + STRINGTYPE_FIELD_NUMBER;
        hash = (53 * hash) + getStringType().hashCode();
      }
      if (hasBytesType()) {
        hash = (37 * hash) + BYTESTYPE_FIELD_NUMBER;
        hash = (53 * hash) + getBytesType().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static AllTypes2 parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static AllTypes2 parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static AllTypes2 parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static AllTypes2 parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static AllTypes2 parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static AllTypes2 parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static AllTypes2 parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static AllTypes2 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 AllTypes2 parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static AllTypes2 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 AllTypes2 parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static AllTypes2 parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(AllTypes2 prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code org.redisson.codec.protobuf.raw.AllTypes2}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:org.redisson.codec.protobuf.raw.AllTypes2)
        AllTypes2OrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return Proto2AllTypes.internal_static_org_redisson_codec_protobuf_raw_AllTypes2_descriptor;
      }

      @Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return Proto2AllTypes.internal_static_org_redisson_codec_protobuf_raw_AllTypes2_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                AllTypes2.class, Builder.class);
      }

      // Construct using org.redisson.codec.protobuf.raw.Proto2AllTypes.AllTypes2.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @Override
      public Builder clear() {
        super.clear();
        doubleType_ = emptyDoubleList();
        bitField0_ = (bitField0_ & ~0x00000001);
        floatType_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000002);
        int32Type_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        int64Type_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000008);
        uint32Type_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        uint64Type_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000020);
        sint32Type_ = 0;
        bitField0_ = (bitField0_ & ~0x00000040);
        sint64Type_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000080);
        fixed32Type_ = 0;
        bitField0_ = (bitField0_ & ~0x00000100);
        fixed64Type_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000200);
        sfixed32Type_ = 0;
        bitField0_ = (bitField0_ & ~0x00000400);
        sfixed64Type_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000800);
        boolType_ = false;
        bitField0_ = (bitField0_ & ~0x00001000);
        stringType_ = "";
        bitField0_ = (bitField0_ & ~0x00002000);
        bytesType_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00004000);
        return this;
      }

      @Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return Proto2AllTypes.internal_static_org_redisson_codec_protobuf_raw_AllTypes2_descriptor;
      }

      @Override
      public AllTypes2 getDefaultInstanceForType() {
        return AllTypes2.getDefaultInstance();
      }

      @Override
      public AllTypes2 build() {
        AllTypes2 result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @Override
      public AllTypes2 buildPartial() {
        AllTypes2 result = new AllTypes2(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          doubleType_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.doubleType_ = doubleType_;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.floatType_ = floatType_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.int32Type_ = int32Type_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.int64Type_ = int64Type_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.uint32Type_ = uint32Type_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.uint64Type_ = uint64Type_;
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          result.sint32Type_ = sint32Type_;
          to_bitField0_ |= 0x00000020;
        }
        if (((from_bitField0_ & 0x00000080) != 0)) {
          result.sint64Type_ = sint64Type_;
          to_bitField0_ |= 0x00000040;
        }
        if (((from_bitField0_ & 0x00000100) != 0)) {
          result.fixed32Type_ = fixed32Type_;
          to_bitField0_ |= 0x00000080;
        }
        if (((from_bitField0_ & 0x00000200) != 0)) {
          result.fixed64Type_ = fixed64Type_;
          to_bitField0_ |= 0x00000100;
        }
        if (((from_bitField0_ & 0x00000400) != 0)) {
          result.sfixed32Type_ = sfixed32Type_;
          to_bitField0_ |= 0x00000200;
        }
        if (((from_bitField0_ & 0x00000800) != 0)) {
          result.sfixed64Type_ = sfixed64Type_;
          to_bitField0_ |= 0x00000400;
        }
        if (((from_bitField0_ & 0x00001000) != 0)) {
          result.boolType_ = boolType_;
          to_bitField0_ |= 0x00000800;
        }
        if (((from_bitField0_ & 0x00002000) != 0)) {
          to_bitField0_ |= 0x00001000;
        }
        result.stringType_ = stringType_;
        if (((from_bitField0_ & 0x00004000) != 0)) {
          to_bitField0_ |= 0x00002000;
        }
        result.bytesType_ = bytesType_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(AllTypes2 other) {
        if (other == AllTypes2.getDefaultInstance()) return this;
        if (!other.doubleType_.isEmpty()) {
          if (doubleType_.isEmpty()) {
            doubleType_ = other.doubleType_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureDoubleTypeIsMutable();
            doubleType_.addAll(other.doubleType_);
          }
          onChanged();
        }
        if (other.hasFloatType()) {
          setFloatType(other.getFloatType());
        }
        if (other.hasInt32Type()) {
          setInt32Type(other.getInt32Type());
        }
        if (other.hasInt64Type()) {
          setInt64Type(other.getInt64Type());
        }
        if (other.hasUint32Type()) {
          setUint32Type(other.getUint32Type());
        }
        if (other.hasUint64Type()) {
          setUint64Type(other.getUint64Type());
        }
        if (other.hasSint32Type()) {
          setSint32Type(other.getSint32Type());
        }
        if (other.hasSint64Type()) {
          setSint64Type(other.getSint64Type());
        }
        if (other.hasFixed32Type()) {
          setFixed32Type(other.getFixed32Type());
        }
        if (other.hasFixed64Type()) {
          setFixed64Type(other.getFixed64Type());
        }
        if (other.hasSfixed32Type()) {
          setSfixed32Type(other.getSfixed32Type());
        }
        if (other.hasSfixed64Type()) {
          setSfixed64Type(other.getSfixed64Type());
        }
        if (other.hasBoolType()) {
          setBoolType(other.getBoolType());
        }
        if (other.hasStringType()) {
          bitField0_ |= 0x00002000;
          stringType_ = other.stringType_;
          onChanged();
        }
        if (other.hasBytesType()) {
          setBytesType(other.getBytesType());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @Override
      public final boolean isInitialized() {
        if (!hasInt32Type()) {
          return false;
        }
        return true;
      }

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

      private com.google.protobuf.Internal.DoubleList doubleType_ = emptyDoubleList();
      private void ensureDoubleTypeIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          doubleType_ = mutableCopy(doubleType_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * <pre>
       *types from https://protobuf.dev/programming-guides/proto2/
       * </pre>
       *
       * <code>repeated double doubleType = 1;</code>
       * @return A list containing the doubleType.
       */
      public java.util.List<Double>
          getDoubleTypeList() {
        return ((bitField0_ & 0x00000001) != 0) ?
                 java.util.Collections.unmodifiableList(doubleType_) : doubleType_;
      }
      /**
       * <pre>
       *types from https://protobuf.dev/programming-guides/proto2/
       * </pre>
       *
       * <code>repeated double doubleType = 1;</code>
       * @return The count of doubleType.
       */
      public int getDoubleTypeCount() {
        return doubleType_.size();
      }
      /**
       * <pre>
       *types from https://protobuf.dev/programming-guides/proto2/
       * </pre>
       *
       * <code>repeated double doubleType = 1;</code>
       * @param index The index of the element to return.
       * @return The doubleType at the given index.
       */
      public double getDoubleType(int index) {
        return doubleType_.getDouble(index);
      }
      /**
       * <pre>
       *types from https://protobuf.dev/programming-guides/proto2/
       * </pre>
       *
       * <code>repeated double doubleType = 1;</code>
       * @param index The index to set the value at.
       * @param value The doubleType to set.
       * @return This builder for chaining.
       */
      public Builder setDoubleType(
          int index, double value) {
        ensureDoubleTypeIsMutable();
        doubleType_.setDouble(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *types from https://protobuf.dev/programming-guides/proto2/
       * </pre>
       *
       * <code>repeated double doubleType = 1;</code>
       * @param value The doubleType to add.
       * @return This builder for chaining.
       */
      public Builder addDoubleType(double value) {
        ensureDoubleTypeIsMutable();
        doubleType_.addDouble(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *types from https://protobuf.dev/programming-guides/proto2/
       * </pre>
       *
       * <code>repeated double doubleType = 1;</code>
       * @param values The doubleType to add.
       * @return This builder for chaining.
       */
      public Builder addAllDoubleType(
          Iterable<? extends Double> values) {
        ensureDoubleTypeIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, doubleType_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *types from https://protobuf.dev/programming-guides/proto2/
       * </pre>
       *
       * <code>repeated double doubleType = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearDoubleType() {
        doubleType_ = emptyDoubleList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }

      private float floatType_ ;
      /**
       * <code>optional float floatType = 2;</code>
       * @return Whether the floatType field is set.
       */
      @Override
      public boolean hasFloatType() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>optional float floatType = 2;</code>
       * @return The floatType.
       */
      @Override
      public float getFloatType() {
        return floatType_;
      }
      /**
       * <code>optional float floatType = 2;</code>
       * @param value The floatType to set.
       * @return This builder for chaining.
       */
      public Builder setFloatType(float value) {
        bitField0_ |= 0x00000002;
        floatType_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional float floatType = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearFloatType() {
        bitField0_ = (bitField0_ & ~0x00000002);
        floatType_ = 0F;
        onChanged();
        return this;
      }

      private int int32Type_ ;
      /**
       * <code>required int32 int32Type = 3;</code>
       * @return Whether the int32Type field is set.
       */
      @Override
      public boolean hasInt32Type() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * <code>required int32 int32Type = 3;</code>
       * @return The int32Type.
       */
      @Override
      public int getInt32Type() {
        return int32Type_;
      }
      /**
       * <code>required int32 int32Type = 3;</code>
       * @param value The int32Type to set.
       * @return This builder for chaining.
       */
      public Builder setInt32Type(int value) {
        bitField0_ |= 0x00000004;
        int32Type_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required int32 int32Type = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearInt32Type() {
        bitField0_ = (bitField0_ & ~0x00000004);
        int32Type_ = 0;
        onChanged();
        return this;
      }

      private long int64Type_ ;
      /**
       * <code>optional int64 int64Type = 4;</code>
       * @return Whether the int64Type field is set.
       */
      @Override
      public boolean hasInt64Type() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>optional int64 int64Type = 4;</code>
       * @return The int64Type.
       */
      @Override
      public long getInt64Type() {
        return int64Type_;
      }
      /**
       * <code>optional int64 int64Type = 4;</code>
       * @param value The int64Type to set.
       * @return This builder for chaining.
       */
      public Builder setInt64Type(long value) {
        bitField0_ |= 0x00000008;
        int64Type_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 int64Type = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearInt64Type() {
        bitField0_ = (bitField0_ & ~0x00000008);
        int64Type_ = 0L;
        onChanged();
        return this;
      }

      private int uint32Type_ ;
      /**
       * <code>optional uint32 uint32Type = 5;</code>
       * @return Whether the uint32Type field is set.
       */
      @Override
      public boolean hasUint32Type() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * <code>optional uint32 uint32Type = 5;</code>
       * @return The uint32Type.
       */
      @Override
      public int getUint32Type() {
        return uint32Type_;
      }
      /**
       * <code>optional uint32 uint32Type = 5;</code>
       * @param value The uint32Type to set.
       * @return This builder for chaining.
       */
      public Builder setUint32Type(int value) {
        bitField0_ |= 0x00000010;
        uint32Type_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 uint32Type = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearUint32Type() {
        bitField0_ = (bitField0_ & ~0x00000010);
        uint32Type_ = 0;
        onChanged();
        return this;
      }

      private long uint64Type_ ;
      /**
       * <code>optional uint64 uint64Type = 6;</code>
       * @return Whether the uint64Type field is set.
       */
      @Override
      public boolean hasUint64Type() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * <code>optional uint64 uint64Type = 6;</code>
       * @return The uint64Type.
       */
      @Override
      public long getUint64Type() {
        return uint64Type_;
      }
      /**
       * <code>optional uint64 uint64Type = 6;</code>
       * @param value The uint64Type to set.
       * @return This builder for chaining.
       */
      public Builder setUint64Type(long value) {
        bitField0_ |= 0x00000020;
        uint64Type_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint64 uint64Type = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearUint64Type() {
        bitField0_ = (bitField0_ & ~0x00000020);
        uint64Type_ = 0L;
        onChanged();
        return this;
      }

      private int sint32Type_ ;
      /**
       * <code>optional sint32 sint32Type = 7;</code>
       * @return Whether the sint32Type field is set.
       */
      @Override
      public boolean hasSint32Type() {
        return ((bitField0_ & 0x00000040) != 0);
      }
      /**
       * <code>optional sint32 sint32Type = 7;</code>
       * @return The sint32Type.
       */
      @Override
      public int getSint32Type() {
        return sint32Type_;
      }
      /**
       * <code>optional sint32 sint32Type = 7;</code>
       * @param value The sint32Type to set.
       * @return This builder for chaining.
       */
      public Builder setSint32Type(int value) {
        bitField0_ |= 0x00000040;
        sint32Type_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional sint32 sint32Type = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearSint32Type() {
        bitField0_ = (bitField0_ & ~0x00000040);
        sint32Type_ = 0;
        onChanged();
        return this;
      }

      private long sint64Type_ ;
      /**
       * <code>optional sint64 sint64Type = 8;</code>
       * @return Whether the sint64Type field is set.
       */
      @Override
      public boolean hasSint64Type() {
        return ((bitField0_ & 0x00000080) != 0);
      }
      /**
       * <code>optional sint64 sint64Type = 8;</code>
       * @return The sint64Type.
       */
      @Override
      public long getSint64Type() {
        return sint64Type_;
      }
      /**
       * <code>optional sint64 sint64Type = 8;</code>
       * @param value The sint64Type to set.
       * @return This builder for chaining.
       */
      public Builder setSint64Type(long value) {
        bitField0_ |= 0x00000080;
        sint64Type_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional sint64 sint64Type = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearSint64Type() {
        bitField0_ = (bitField0_ & ~0x00000080);
        sint64Type_ = 0L;
        onChanged();
        return this;
      }

      private int fixed32Type_ ;
      /**
       * <code>optional fixed32 fixed32Type = 9;</code>
       * @return Whether the fixed32Type field is set.
       */
      @Override
      public boolean hasFixed32Type() {
        return ((bitField0_ & 0x00000100) != 0);
      }
      /**
       * <code>optional fixed32 fixed32Type = 9;</code>
       * @return The fixed32Type.
       */
      @Override
      public int getFixed32Type() {
        return fixed32Type_;
      }
      /**
       * <code>optional fixed32 fixed32Type = 9;</code>
       * @param value The fixed32Type to set.
       * @return This builder for chaining.
       */
      public Builder setFixed32Type(int value) {
        bitField0_ |= 0x00000100;
        fixed32Type_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional fixed32 fixed32Type = 9;</code>
       * @return This builder for chaining.
       */
      public Builder clearFixed32Type() {
        bitField0_ = (bitField0_ & ~0x00000100);
        fixed32Type_ = 0;
        onChanged();
        return this;
      }

      private long fixed64Type_ ;
      /**
       * <code>optional fixed64 fixed64Type = 10;</code>
       * @return Whether the fixed64Type field is set.
       */
      @Override
      public boolean hasFixed64Type() {
        return ((bitField0_ & 0x00000200) != 0);
      }
      /**
       * <code>optional fixed64 fixed64Type = 10;</code>
       * @return The fixed64Type.
       */
      @Override
      public long getFixed64Type() {
        return fixed64Type_;
      }
      /**
       * <code>optional fixed64 fixed64Type = 10;</code>
       * @param value The fixed64Type to set.
       * @return This builder for chaining.
       */
      public Builder setFixed64Type(long value) {
        bitField0_ |= 0x00000200;
        fixed64Type_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional fixed64 fixed64Type = 10;</code>
       * @return This builder for chaining.
       */
      public Builder clearFixed64Type() {
        bitField0_ = (bitField0_ & ~0x00000200);
        fixed64Type_ = 0L;
        onChanged();
        return this;
      }

      private int sfixed32Type_ ;
      /**
       * <code>optional sfixed32 sfixed32Type = 11;</code>
       * @return Whether the sfixed32Type field is set.
       */
      @Override
      public boolean hasSfixed32Type() {
        return ((bitField0_ & 0x00000400) != 0);
      }
      /**
       * <code>optional sfixed32 sfixed32Type = 11;</code>
       * @return The sfixed32Type.
       */
      @Override
      public int getSfixed32Type() {
        return sfixed32Type_;
      }
      /**
       * <code>optional sfixed32 sfixed32Type = 11;</code>
       * @param value The sfixed32Type to set.
       * @return This builder for chaining.
       */
      public Builder setSfixed32Type(int value) {
        bitField0_ |= 0x00000400;
        sfixed32Type_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional sfixed32 sfixed32Type = 11;</code>
       * @return This builder for chaining.
       */
      public Builder clearSfixed32Type() {
        bitField0_ = (bitField0_ & ~0x00000400);
        sfixed32Type_ = 0;
        onChanged();
        return this;
      }

      private long sfixed64Type_ ;
      /**
       * <code>optional sfixed64 sfixed64Type = 12;</code>
       * @return Whether the sfixed64Type field is set.
       */
      @Override
      public boolean hasSfixed64Type() {
        return ((bitField0_ & 0x00000800) != 0);
      }
      /**
       * <code>optional sfixed64 sfixed64Type = 12;</code>
       * @return The sfixed64Type.
       */
      @Override
      public long getSfixed64Type() {
        return sfixed64Type_;
      }
      /**
       * <code>optional sfixed64 sfixed64Type = 12;</code>
       * @param value The sfixed64Type to set.
       * @return This builder for chaining.
       */
      public Builder setSfixed64Type(long value) {
        bitField0_ |= 0x00000800;
        sfixed64Type_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional sfixed64 sfixed64Type = 12;</code>
       * @return This builder for chaining.
       */
      public Builder clearSfixed64Type() {
        bitField0_ = (bitField0_ & ~0x00000800);
        sfixed64Type_ = 0L;
        onChanged();
        return this;
      }

      private boolean boolType_ ;
      /**
       * <code>optional bool boolType = 13;</code>
       * @return Whether the boolType field is set.
       */
      @Override
      public boolean hasBoolType() {
        return ((bitField0_ & 0x00001000) != 0);
      }
      /**
       * <code>optional bool boolType = 13;</code>
       * @return The boolType.
       */
      @Override
      public boolean getBoolType() {
        return boolType_;
      }
      /**
       * <code>optional bool boolType = 13;</code>
       * @param value The boolType to set.
       * @return This builder for chaining.
       */
      public Builder setBoolType(boolean value) {
        bitField0_ |= 0x00001000;
        boolType_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool boolType = 13;</code>
       * @return This builder for chaining.
       */
      public Builder clearBoolType() {
        bitField0_ = (bitField0_ & ~0x00001000);
        boolType_ = false;
        onChanged();
        return this;
      }

      private Object stringType_ = "";
      /**
       * <code>optional string stringType = 14;</code>
       * @return Whether the stringType field is set.
       */
      public boolean hasStringType() {
        return ((bitField0_ & 0x00002000) != 0);
      }
      /**
       * <code>optional string stringType = 14;</code>
       * @return The stringType.
       */
      public String getStringType() {
        Object ref = stringType_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            stringType_ = s;
          }
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <code>optional string stringType = 14;</code>
       * @return The bytes for stringType.
       */
      public com.google.protobuf.ByteString
          getStringTypeBytes() {
        Object ref = stringType_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          stringType_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string stringType = 14;</code>
       * @param value The stringType to set.
       * @return This builder for chaining.
       */
      public Builder setStringType(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00002000;
        stringType_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string stringType = 14;</code>
       * @return This builder for chaining.
       */
      public Builder clearStringType() {
        bitField0_ = (bitField0_ & ~0x00002000);
        stringType_ = getDefaultInstance().getStringType();
        onChanged();
        return this;
      }
      /**
       * <code>optional string stringType = 14;</code>
       * @param value The bytes for stringType to set.
       * @return This builder for chaining.
       */
      public Builder setStringTypeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00002000;
        stringType_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString bytesType_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes bytesType = 15;</code>
       * @return Whether the bytesType field is set.
       */
      @Override
      public boolean hasBytesType() {
        return ((bitField0_ & 0x00004000) != 0);
      }
      /**
       * <code>optional bytes bytesType = 15;</code>
       * @return The bytesType.
       */
      @Override
      public com.google.protobuf.ByteString getBytesType() {
        return bytesType_;
      }
      /**
       * <code>optional bytes bytesType = 15;</code>
       * @param value The bytesType to set.
       * @return This builder for chaining.
       */
      public Builder setBytesType(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00004000;
        bytesType_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes bytesType = 15;</code>
       * @return This builder for chaining.
       */
      public Builder clearBytesType() {
        bitField0_ = (bitField0_ & ~0x00004000);
        bytesType_ = getDefaultInstance().getBytesType();
        onChanged();
        return this;
      }
      @Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:org.redisson.codec.protobuf.raw.AllTypes2)
    }

    // @@protoc_insertion_point(class_scope:org.redisson.codec.protobuf.raw.AllTypes2)
    private static final AllTypes2 DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new AllTypes2();
    }

    public static AllTypes2 getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

    @Override
    public com.google.protobuf.Parser<AllTypes2> getParserForType() {
      return PARSER;
    }

    @Override
    public AllTypes2 getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_org_redisson_codec_protobuf_raw_AllTypes2_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_org_redisson_codec_protobuf_raw_AllTypes2_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    String[] descriptorData = {
      "\n\024proto2AllTypes.proto\022\037org.redisson.cod" +
      "ec.protobuf.raw\"\267\002\n\tAllTypes2\022\022\n\ndoubleT" +
      "ype\030\001 \003(\001\022\021\n\tfloatType\030\002 \001(\002\022\021\n\tint32Typ" +
      "e\030\003 \002(\005\022\021\n\tint64Type\030\004 \001(\003\022\022\n\nuint32Type" +
      "\030\005 \001(\r\022\022\n\nuint64Type\030\006 \001(\004\022\022\n\nsint32Type" +
      "\030\007 \001(\021\022\022\n\nsint64Type\030\010 \001(\022\022\023\n\013fixed32Typ" +
      "e\030\t \001(\007\022\023\n\013fixed64Type\030\n \001(\006\022\024\n\014sfixed32" +
      "Type\030\013 \001(\017\022\024\n\014sfixed64Type\030\014 \001(\020\022\020\n\010bool" +
      "Type\030\r \001(\010\022\022\n\nstringType\030\016 \001(\t\022\021\n\tbytesT" +
      "ype\030\017 \001(\014B1\n\037org.redisson.codec.protobuf" +
      ".rawB\016Proto2AllTypes"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        });
    internal_static_org_redisson_codec_protobuf_raw_AllTypes2_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_org_redisson_codec_protobuf_raw_AllTypes2_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_org_redisson_codec_protobuf_raw_AllTypes2_descriptor,
        new String[] { "DoubleType", "FloatType", "Int32Type", "Int64Type", "Uint32Type", "Uint64Type", "Sint32Type", "Sint64Type", "Fixed32Type", "Fixed64Type", "Sfixed32Type", "Sfixed64Type", "BoolType", "StringType", "BytesType", });
  }

  // @@protoc_insertion_point(outer_class_scope)
}
