content: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: Wasp.proto
  
  package com.alibaba.wasp.protobuf.generated;
  
  public final class WaspProtos {
    private WaspProtos() {}
    public static void registerAllExtensions(
        com.google.protobuf.ExtensionRegistry registry) {
    }
    public enum CompareType
        implements com.google.protobuf.ProtocolMessageEnum {
      LESS(0, 0),
      LESS_OR_EQUAL(1, 1),
      EQUAL(2, 2),
      NOT_EQUAL(3, 3),
      GREATER_OR_EQUAL(4, 4),
      GREATER(5, 5),
      NO_OP(6, 6),
      ;
      
      public static final int LESS_VALUE = 0;
      public static final int LESS_OR_EQUAL_VALUE = 1;
      public static final int EQUAL_VALUE = 2;
      public static final int NOT_EQUAL_VALUE = 3;
      public static final int GREATER_OR_EQUAL_VALUE = 4;
      public static final int GREATER_VALUE = 5;
      public static final int NO_OP_VALUE = 6;
      
      
      public final int getNumber() { return value; }
      
      public static CompareType valueOf(int value) {
        switch (value) {
          case 0: return LESS;
          case 1: return LESS_OR_EQUAL;
          case 2: return EQUAL;
          case 3: return NOT_EQUAL;
          case 4: return GREATER_OR_EQUAL;
          case 5: return GREATER;
          case 6: return NO_OP;
          default: return null;
        }
      }
      
      public static com.google.protobuf.Internal.EnumLiteMap<CompareType>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static com.google.protobuf.Internal.EnumLiteMap<CompareType>
          internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<CompareType>() {
              public CompareType findValueByNumber(int number) {
                return CompareType.valueOf(number);
              }
            };
      
      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(index);
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.getDescriptor().getEnumTypes().get(0);
      }
      
      private static final CompareType[] VALUES = {
        LESS, LESS_OR_EQUAL, EQUAL, NOT_EQUAL, GREATER_OR_EQUAL, GREATER, NO_OP, 
      };
      
      public static CompareType valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        return VALUES[desc.getIndex()];
      }
      
      private final int index;
      private final int value;
      
      private CompareType(int index, int value) {
        this.index = index;
        this.value = value;
      }
      
      // @@protoc_insertion_point(enum_scope:CompareType)
    }
    
    public enum EntityGroupOpeningState
        implements com.google.protobuf.ProtocolMessageEnum {
      OPENED(0, 0),
      ALREADY_OPENED(1, 1),
      FAILED_OPENING(2, 2),
      ;
      
      public static final int OPENED_VALUE = 0;
      public static final int ALREADY_OPENED_VALUE = 1;
      public static final int FAILED_OPENING_VALUE = 2;
      
      
      public final int getNumber() { return value; }
      
      public static EntityGroupOpeningState valueOf(int value) {
        switch (value) {
          case 0: return OPENED;
          case 1: return ALREADY_OPENED;
          case 2: return FAILED_OPENING;
          default: return null;
        }
      }
      
      public static com.google.protobuf.Internal.EnumLiteMap<EntityGroupOpeningState>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static com.google.protobuf.Internal.EnumLiteMap<EntityGroupOpeningState>
          internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<EntityGroupOpeningState>() {
              public EntityGroupOpeningState findValueByNumber(int number) {
                return EntityGroupOpeningState.valueOf(number);
              }
            };
      
      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(index);
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.getDescriptor().getEnumTypes().get(1);
      }
      
      private static final EntityGroupOpeningState[] VALUES = {
        OPENED, ALREADY_OPENED, FAILED_OPENING, 
      };
      
      public static EntityGroupOpeningState valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        return VALUES[desc.getIndex()];
      }
      
      private final int index;
      private final int value;
      
      private EntityGroupOpeningState(int index, int value) {
        this.index = index;
        this.value = value;
      }
      
      // @@protoc_insertion_point(enum_scope:EntityGroupOpeningState)
    }
    
    public interface EntityGroupInfoProtosOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required uint64 entityGroupId = 1;
      boolean hasEntityGroupId();
      long getEntityGroupId();
      
      // required bytes tableName = 2;
      boolean hasTableName();
      com.google.protobuf.ByteString getTableName();
      
      // optional bytes startKey = 3;
      boolean hasStartKey();
      com.google.protobuf.ByteString getStartKey();
      
      // optional bytes endKey = 4;
      boolean hasEndKey();
      com.google.protobuf.ByteString getEndKey();
      
      // optional bool offline = 5;
      boolean hasOffline();
      boolean getOffline();
      
      // optional bool split = 6;
      boolean hasSplit();
      boolean getSplit();
    }
    public static final class EntityGroupInfoProtos extends
        com.google.protobuf.GeneratedMessage
        implements EntityGroupInfoProtosOrBuilder {
      // Use EntityGroupInfoProtos.newBuilder() to construct.
      private EntityGroupInfoProtos(Builder builder) {
        super(builder);
      }
      private EntityGroupInfoProtos(boolean noInit) {}
      
      private static final EntityGroupInfoProtos defaultInstance;
      public static EntityGroupInfoProtos getDefaultInstance() {
        return defaultInstance;
      }
      
      public EntityGroupInfoProtos getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_EntityGroupInfoProtos_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_EntityGroupInfoProtos_fieldAccessorTable;
      }
      
      private int bitField0_;
      // required uint64 entityGroupId = 1;
      public static final int ENTITYGROUPID_FIELD_NUMBER = 1;
      private long entityGroupId_;
      public boolean hasEntityGroupId() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public long getEntityGroupId() {
        return entityGroupId_;
      }
      
      // required bytes tableName = 2;
      public static final int TABLENAME_FIELD_NUMBER = 2;
      private com.google.protobuf.ByteString tableName_;
      public boolean hasTableName() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.google.protobuf.ByteString getTableName() {
        return tableName_;
      }
      
      // optional bytes startKey = 3;
      public static final int STARTKEY_FIELD_NUMBER = 3;
      private com.google.protobuf.ByteString startKey_;
      public boolean hasStartKey() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      public com.google.protobuf.ByteString getStartKey() {
        return startKey_;
      }
      
      // optional bytes endKey = 4;
      public static final int ENDKEY_FIELD_NUMBER = 4;
      private com.google.protobuf.ByteString endKey_;
      public boolean hasEndKey() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      public com.google.protobuf.ByteString getEndKey() {
        return endKey_;
      }
      
      // optional bool offline = 5;
      public static final int OFFLINE_FIELD_NUMBER = 5;
      private boolean offline_;
      public boolean hasOffline() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      public boolean getOffline() {
        return offline_;
      }
      
      // optional bool split = 6;
      public static final int SPLIT_FIELD_NUMBER = 6;
      private boolean split_;
      public boolean hasSplit() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      public boolean getSplit() {
        return split_;
      }
      
      private void initFields() {
        entityGroupId_ = 0L;
        tableName_ = com.google.protobuf.ByteString.EMPTY;
        startKey_ = com.google.protobuf.ByteString.EMPTY;
        endKey_ = com.google.protobuf.ByteString.EMPTY;
        offline_ = false;
        split_ = false;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasEntityGroupId()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasTableName()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
      
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeUInt64(1, entityGroupId_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeBytes(2, tableName_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeBytes(3, startKey_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeBytes(4, endKey_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          output.writeBool(5, offline_);
        }
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          output.writeBool(6, split_);
        }
        getUnknownFields().writeTo(output);
      }
      
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
      
        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt64Size(1, entityGroupId_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(2, tableName_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(3, startKey_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(4, endKey_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(5, offline_);
        }
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(6, split_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos other = (com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos) obj;
        
        boolean result = true;
        result = result && (hasEntityGroupId() == other.hasEntityGroupId());
        if (hasEntityGroupId()) {
          result = result && (getEntityGroupId()
              == other.getEntityGroupId());
        }
        result = result && (hasTableName() == other.hasTableName());
        if (hasTableName()) {
          result = result && getTableName()
              .equals(other.getTableName());
        }
        result = result && (hasStartKey() == other.hasStartKey());
        if (hasStartKey()) {
          result = result && getStartKey()
              .equals(other.getStartKey());
        }
        result = result && (hasEndKey() == other.hasEndKey());
        if (hasEndKey()) {
          result = result && getEndKey()
              .equals(other.getEndKey());
        }
        result = result && (hasOffline() == other.hasOffline());
        if (hasOffline()) {
          result = result && (getOffline()
              == other.getOffline());
        }
        result = result && (hasSplit() == other.hasSplit());
        if (hasSplit()) {
          result = result && (getSplit()
              == other.getSplit());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasEntityGroupId()) {
          hash = (37 * hash) + ENTITYGROUPID_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(getEntityGroupId());
        }
        if (hasTableName()) {
          hash = (37 * hash) + TABLENAME_FIELD_NUMBER;
          hash = (53 * hash) + getTableName().hashCode();
        }
        if (hasStartKey()) {
          hash = (37 * hash) + STARTKEY_FIELD_NUMBER;
          hash = (53 * hash) + getStartKey().hashCode();
        }
        if (hasEndKey()) {
          hash = (37 * hash) + ENDKEY_FIELD_NUMBER;
          hash = (53 * hash) + getEndKey().hashCode();
        }
        if (hasOffline()) {
          hash = (37 * hash) + OFFLINE_FIELD_NUMBER;
          hash = (53 * hash) + hashBoolean(getOffline());
        }
        if (hasSplit()) {
          hash = (37 * hash) + SPLIT_FIELD_NUMBER;
          hash = (53 * hash) + hashBoolean(getSplit());
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtosOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_EntityGroupInfoProtos_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_EntityGroupInfoProtos_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          entityGroupId_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000001);
          tableName_ = com.google.protobuf.ByteString.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000002);
          startKey_ = com.google.protobuf.ByteString.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000004);
          endKey_ = com.google.protobuf.ByteString.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000008);
          offline_ = false;
          bitField0_ = (bitField0_ & ~0x00000010);
          split_ = false;
          bitField0_ = (bitField0_ & ~0x00000020);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos build() {
          com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos buildPartial() {
          com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos result = new com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.entityGroupId_ = entityGroupId_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.tableName_ = tableName_;
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.startKey_ = startKey_;
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000008;
          }
          result.endKey_ = endKey_;
          if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
            to_bitField0_ |= 0x00000010;
          }
          result.offline_ = offline_;
          if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
            to_bitField0_ |= 0x00000020;
          }
          result.split_ = split_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos other) {
          if (other == com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos.getDefaultInstance()) return this;
          if (other.hasEntityGroupId()) {
            setEntityGroupId(other.getEntityGroupId());
          }
          if (other.hasTableName()) {
            setTableName(other.getTableName());
          }
          if (other.hasStartKey()) {
            setStartKey(other.getStartKey());
          }
          if (other.hasEndKey()) {
            setEndKey(other.getEndKey());
          }
          if (other.hasOffline()) {
            setOffline(other.getOffline());
          }
          if (other.hasSplit()) {
            setSplit(other.getSplit());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasEntityGroupId()) {
            
            return false;
          }
          if (!hasTableName()) {
            
            return false;
          }
          return true;
        }
        
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder(
              this.getUnknownFields());
          while (true) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  this.setUnknownFields(unknownFields.build());
                  onChanged();
                  return this;
                }
                break;
              }
              case 8: {
                bitField0_ |= 0x00000001;
                entityGroupId_ = input.readUInt64();
                break;
              }
              case 18: {
                bitField0_ |= 0x00000002;
                tableName_ = input.readBytes();
                break;
              }
              case 26: {
                bitField0_ |= 0x00000004;
                startKey_ = input.readBytes();
                break;
              }
              case 34: {
                bitField0_ |= 0x00000008;
                endKey_ = input.readBytes();
                break;
              }
              case 40: {
                bitField0_ |= 0x00000010;
                offline_ = input.readBool();
                break;
              }
              case 48: {
                bitField0_ |= 0x00000020;
                split_ = input.readBool();
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required uint64 entityGroupId = 1;
        private long entityGroupId_ ;
        public boolean hasEntityGroupId() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public long getEntityGroupId() {
          return entityGroupId_;
        }
        public Builder setEntityGroupId(long value) {
          bitField0_ |= 0x00000001;
          entityGroupId_ = value;
          onChanged();
          return this;
        }
        public Builder clearEntityGroupId() {
          bitField0_ = (bitField0_ & ~0x00000001);
          entityGroupId_ = 0L;
          onChanged();
          return this;
        }
        
        // required bytes tableName = 2;
        private com.google.protobuf.ByteString tableName_ = com.google.protobuf.ByteString.EMPTY;
        public boolean hasTableName() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public com.google.protobuf.ByteString getTableName() {
          return tableName_;
        }
        public Builder setTableName(com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000002;
          tableName_ = value;
          onChanged();
          return this;
        }
        public Builder clearTableName() {
          bitField0_ = (bitField0_ & ~0x00000002);
          tableName_ = getDefaultInstance().getTableName();
          onChanged();
          return this;
        }
        
        // optional bytes startKey = 3;
        private com.google.protobuf.ByteString startKey_ = com.google.protobuf.ByteString.EMPTY;
        public boolean hasStartKey() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        public com.google.protobuf.ByteString getStartKey() {
          return startKey_;
        }
        public Builder setStartKey(com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000004;
          startKey_ = value;
          onChanged();
          return this;
        }
        public Builder clearStartKey() {
          bitField0_ = (bitField0_ & ~0x00000004);
          startKey_ = getDefaultInstance().getStartKey();
          onChanged();
          return this;
        }
        
        // optional bytes endKey = 4;
        private com.google.protobuf.ByteString endKey_ = com.google.protobuf.ByteString.EMPTY;
        public boolean hasEndKey() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        public com.google.protobuf.ByteString getEndKey() {
          return endKey_;
        }
        public Builder setEndKey(com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000008;
          endKey_ = value;
          onChanged();
          return this;
        }
        public Builder clearEndKey() {
          bitField0_ = (bitField0_ & ~0x00000008);
          endKey_ = getDefaultInstance().getEndKey();
          onChanged();
          return this;
        }
        
        // optional bool offline = 5;
        private boolean offline_ ;
        public boolean hasOffline() {
          return ((bitField0_ & 0x00000010) == 0x00000010);
        }
        public boolean getOffline() {
          return offline_;
        }
        public Builder setOffline(boolean value) {
          bitField0_ |= 0x00000010;
          offline_ = value;
          onChanged();
          return this;
        }
        public Builder clearOffline() {
          bitField0_ = (bitField0_ & ~0x00000010);
          offline_ = false;
          onChanged();
          return this;
        }
        
        // optional bool split = 6;
        private boolean split_ ;
        public boolean hasSplit() {
          return ((bitField0_ & 0x00000020) == 0x00000020);
        }
        public boolean getSplit() {
          return split_;
        }
        public Builder setSplit(boolean value) {
          bitField0_ |= 0x00000020;
          split_ = value;
          onChanged();
          return this;
        }
        public Builder clearSplit() {
          bitField0_ = (bitField0_ & ~0x00000020);
          split_ = false;
          onChanged();
          return this;
        }
        
        // @@protoc_insertion_point(builder_scope:EntityGroupInfoProtos)
      }
      
      static {
        defaultInstance = new EntityGroupInfoProtos(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:EntityGroupInfoProtos)
    }
    
    public interface EntityGroupLocationProtosOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required string hostname = 1;
      boolean hasHostname();
      String getHostname();
      
      // required uint32 port = 2;
      boolean hasPort();
      int getPort();
    }
    public static final class EntityGroupLocationProtos extends
        com.google.protobuf.GeneratedMessage
        implements EntityGroupLocationProtosOrBuilder {
      // Use EntityGroupLocationProtos.newBuilder() to construct.
      private EntityGroupLocationProtos(Builder builder) {
        super(builder);
      }
      private EntityGroupLocationProtos(boolean noInit) {}
      
      private static final EntityGroupLocationProtos defaultInstance;
      public static EntityGroupLocationProtos getDefaultInstance() {
        return defaultInstance;
      }
      
      public EntityGroupLocationProtos getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_EntityGroupLocationProtos_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_EntityGroupLocationProtos_fieldAccessorTable;
      }
      
      private int bitField0_;
      // required string hostname = 1;
      public static final int HOSTNAME_FIELD_NUMBER = 1;
      private java.lang.Object hostname_;
      public boolean hasHostname() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getHostname() {
        java.lang.Object ref = hostname_;
        if (ref instanceof String) {
          return (String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          if (com.google.protobuf.Internal.isValidUtf8(bs)) {
            hostname_ = s;
          }
          return s;
        }
      }
      private com.google.protobuf.ByteString getHostnameBytes() {
        java.lang.Object ref = hostname_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
          hostname_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      
      // required uint32 port = 2;
      public static final int PORT_FIELD_NUMBER = 2;
      private int port_;
      public boolean hasPort() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public int getPort() {
        return port_;
      }
      
      private void initFields() {
        hostname_ = "";
        port_ = 0;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasHostname()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasPort()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
      
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, getHostnameBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeUInt32(2, port_);
        }
        getUnknownFields().writeTo(output);
      }
      
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
      
        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(1, getHostnameBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(2, port_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos other = (com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos) obj;
        
        boolean result = true;
        result = result && (hasHostname() == other.hasHostname());
        if (hasHostname()) {
          result = result && getHostname()
              .equals(other.getHostname());
        }
        result = result && (hasPort() == other.hasPort());
        if (hasPort()) {
          result = result && (getPort()
              == other.getPort());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasHostname()) {
          hash = (37 * hash) + HOSTNAME_FIELD_NUMBER;
          hash = (53 * hash) + getHostname().hashCode();
        }
        if (hasPort()) {
          hash = (37 * hash) + PORT_FIELD_NUMBER;
          hash = (53 * hash) + getPort();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtosOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_EntityGroupLocationProtos_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_EntityGroupLocationProtos_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          hostname_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          port_ = 0;
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos build() {
          com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos buildPartial() {
          com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos result = new com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.hostname_ = hostname_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.port_ = port_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos other) {
          if (other == com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos.getDefaultInstance()) return this;
          if (other.hasHostname()) {
            setHostname(other.getHostname());
          }
          if (other.hasPort()) {
            setPort(other.getPort());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasHostname()) {
            
            return false;
          }
          if (!hasPort()) {
            
            return false;
          }
          return true;
        }
        
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder(
              this.getUnknownFields());
          while (true) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  this.setUnknownFields(unknownFields.build());
                  onChanged();
                  return this;
                }
                break;
              }
              case 10: {
                bitField0_ |= 0x00000001;
                hostname_ = input.readBytes();
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                port_ = input.readUInt32();
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required string hostname = 1;
        private java.lang.Object hostname_ = "";
        public boolean hasHostname() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public String getHostname() {
          java.lang.Object ref = hostname_;
          if (!(ref instanceof String)) {
            String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
            hostname_ = s;
            return s;
          } else {
            return (String) ref;
          }
        }
        public Builder setHostname(String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000001;
          hostname_ = value;
          onChanged();
          return this;
        }
        public Builder clearHostname() {
          bitField0_ = (bitField0_ & ~0x00000001);
          hostname_ = getDefaultInstance().getHostname();
          onChanged();
          return this;
        }
        void setHostname(com.google.protobuf.ByteString value) {
          bitField0_ |= 0x00000001;
          hostname_ = value;
          onChanged();
        }
        
        // required uint32 port = 2;
        private int port_ ;
        public boolean hasPort() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public int getPort() {
          return port_;
        }
        public Builder setPort(int value) {
          bitField0_ |= 0x00000002;
          port_ = value;
          onChanged();
          return this;
        }
        public Builder clearPort() {
          bitField0_ = (bitField0_ & ~0x00000002);
          port_ = 0;
          onChanged();
          return this;
        }
        
        // @@protoc_insertion_point(builder_scope:EntityGroupLocationProtos)
      }
      
      static {
        defaultInstance = new EntityGroupLocationProtos(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:EntityGroupLocationProtos)
    }
    
    public interface EntityGroupSpecifierOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required .EntityGroupSpecifier.EntityGroupSpecifierType type = 1;
      boolean hasType();
      com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.EntityGroupSpecifierType getType();
      
      // required bytes value = 2;
      boolean hasValue();
      com.google.protobuf.ByteString getValue();
    }
    public static final class EntityGroupSpecifier extends
        com.google.protobuf.GeneratedMessage
        implements EntityGroupSpecifierOrBuilder {
      // Use EntityGroupSpecifier.newBuilder() to construct.
      private EntityGroupSpecifier(Builder builder) {
        super(builder);
      }
      private EntityGroupSpecifier(boolean noInit) {}
      
      private static final EntityGroupSpecifier defaultInstance;
      public static EntityGroupSpecifier getDefaultInstance() {
        return defaultInstance;
      }
      
      public EntityGroupSpecifier getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_EntityGroupSpecifier_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_EntityGroupSpecifier_fieldAccessorTable;
      }
      
      public enum EntityGroupSpecifierType
          implements com.google.protobuf.ProtocolMessageEnum {
        ENTITYGROUP_NAME(0, 1),
        ENCODED_ENTITYGROUP_NAME(1, 2),
        ;
        
        public static final int ENTITYGROUP_NAME_VALUE = 1;
        public static final int ENCODED_ENTITYGROUP_NAME_VALUE = 2;
        
        
        public final int getNumber() { return value; }
        
        public static EntityGroupSpecifierType valueOf(int value) {
          switch (value) {
            case 1: return ENTITYGROUP_NAME;
            case 2: return ENCODED_ENTITYGROUP_NAME;
            default: return null;
          }
        }
        
        public static com.google.protobuf.Internal.EnumLiteMap<EntityGroupSpecifierType>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static com.google.protobuf.Internal.EnumLiteMap<EntityGroupSpecifierType>
            internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<EntityGroupSpecifierType>() {
                public EntityGroupSpecifierType findValueByNumber(int number) {
                  return EntityGroupSpecifierType.valueOf(number);
                }
              };
        
        public final com.google.protobuf.Descriptors.EnumValueDescriptor
            getValueDescriptor() {
          return getDescriptor().getValues().get(index);
        }
        public final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptorForType() {
          return getDescriptor();
        }
        public static final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDescriptor().getEnumTypes().get(0);
        }
        
        private static final EntityGroupSpecifierType[] VALUES = {
          ENTITYGROUP_NAME, ENCODED_ENTITYGROUP_NAME, 
        };
        
        public static EntityGroupSpecifierType valueOf(
            com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
          if (desc.getType() != getDescriptor()) {
            throw new java.lang.IllegalArgumentException(
              "EnumValueDescriptor is not for this type.");
          }
          return VALUES[desc.getIndex()];
        }
        
        private final int index;
        private final int value;
        
        private EntityGroupSpecifierType(int index, int value) {
          this.index = index;
          this.value = value;
        }
        
        // @@protoc_insertion_point(enum_scope:EntityGroupSpecifier.EntityGroupSpecifierType)
      }
      
      private int bitField0_;
      // required .EntityGroupSpecifier.EntityGroupSpecifierType type = 1;
      public static final int TYPE_FIELD_NUMBER = 1;
      private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.EntityGroupSpecifierType type_;
      public boolean hasType() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.EntityGroupSpecifierType getType() {
        return type_;
      }
      
      // required bytes value = 2;
      public static final int VALUE_FIELD_NUMBER = 2;
      private com.google.protobuf.ByteString value_;
      public boolean hasValue() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.google.protobuf.ByteString getValue() {
        return value_;
      }
      
      private void initFields() {
        type_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.EntityGroupSpecifierType.ENTITYGROUP_NAME;
        value_ = com.google.protobuf.ByteString.EMPTY;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasType()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasValue()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
      
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeEnum(1, type_.getNumber());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeBytes(2, value_);
        }
        getUnknownFields().writeTo(output);
      }
      
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
      
        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeEnumSize(1, type_.getNumber());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(2, value_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier other = (com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier) obj;
        
        boolean result = true;
        result = result && (hasType() == other.hasType());
        if (hasType()) {
          result = result &&
              (getType() == other.getType());
        }
        result = result && (hasValue() == other.hasValue());
        if (hasValue()) {
          result = result && getValue()
              .equals(other.getValue());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasType()) {
          hash = (37 * hash) + TYPE_FIELD_NUMBER;
          hash = (53 * hash) + hashEnum(getType());
        }
        if (hasValue()) {
          hash = (37 * hash) + VALUE_FIELD_NUMBER;
          hash = (53 * hash) + getValue().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_EntityGroupSpecifier_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_EntityGroupSpecifier_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          type_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.EntityGroupSpecifierType.ENTITYGROUP_NAME;
          bitField0_ = (bitField0_ & ~0x00000001);
          value_ = com.google.protobuf.ByteString.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier build() {
          com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier buildPartial() {
          com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier result = new com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.type_ = type_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.value_ = value_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier other) {
          if (other == com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance()) return this;
          if (other.hasType()) {
            setType(other.getType());
          }
          if (other.hasValue()) {
            setValue(other.getValue());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasType()) {
            
            return false;
          }
          if (!hasValue()) {
            
            return false;
          }
          return true;
        }
        
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder(
              this.getUnknownFields());
          while (true) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  this.setUnknownFields(unknownFields.build());
                  onChanged();
                  return this;
                }
                break;
              }
              case 8: {
                int rawValue = input.readEnum();
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.EntityGroupSpecifierType value = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.EntityGroupSpecifierType.valueOf(rawValue);
                if (value == null) {
                  unknownFields.mergeVarintField(1, rawValue);
                } else {
                  bitField0_ |= 0x00000001;
                  type_ = value;
                }
                break;
              }
              case 18: {
                bitField0_ |= 0x00000002;
                value_ = input.readBytes();
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required .EntityGroupSpecifier.EntityGroupSpecifierType type = 1;
        private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.EntityGroupSpecifierType type_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.EntityGroupSpecifierType.ENTITYGROUP_NAME;
        public boolean hasType() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.EntityGroupSpecifierType getType() {
          return type_;
        }
        public Builder setType(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.EntityGroupSpecifierType value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000001;
          type_ = value;
          onChanged();
          return this;
        }
        public Builder clearType() {
          bitField0_ = (bitField0_ & ~0x00000001);
          type_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.EntityGroupSpecifierType.ENTITYGROUP_NAME;
          onChanged();
          return this;
        }
        
        // required bytes value = 2;
        private com.google.protobuf.ByteString value_ = com.google.protobuf.ByteString.EMPTY;
        public boolean hasValue() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public com.google.protobuf.ByteString getValue() {
          return value_;
        }
        public Builder setValue(com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000002;
          value_ = value;
          onChanged();
          return this;
        }
        public Builder clearValue() {
          bitField0_ = (bitField0_ & ~0x00000002);
          value_ = getDefaultInstance().getValue();
          onChanged();
          return this;
        }
        
        // @@protoc_insertion_point(builder_scope:EntityGroupSpecifier)
      }
      
      static {
        defaultInstance = new EntityGroupSpecifier(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:EntityGroupSpecifier)
    }
    
    public interface EntityGroupLoadProtosOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required .EntityGroupSpecifier entityGroupSpecifier = 1;
      boolean hasEntityGroupSpecifier();
      com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getEntityGroupSpecifier();
      com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getEntityGroupSpecifierOrBuilder();
      
      // optional uint64 readRequestsCount = 2;
      boolean hasReadRequestsCount();
      long getReadRequestsCount();
      
      // optional uint64 writeRequestsCount = 3;
      boolean hasWriteRequestsCount();
      long getWriteRequestsCount();
      
      // optional uint64 transactionLogSize = 4;
      boolean hasTransactionLogSize();
      long getTransactionLogSize();
    }
    public static final class EntityGroupLoadProtos extends
        com.google.protobuf.GeneratedMessage
        implements EntityGroupLoadProtosOrBuilder {
      // Use EntityGroupLoadProtos.newBuilder() to construct.
      private EntityGroupLoadProtos(Builder builder) {
        super(builder);
      }
      private EntityGroupLoadProtos(boolean noInit) {}
      
      private static final EntityGroupLoadProtos defaultInstance;
      public static EntityGroupLoadProtos getDefaultInstance() {
        return defaultInstance;
      }
      
      public EntityGroupLoadProtos getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_EntityGroupLoadProtos_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_EntityGroupLoadProtos_fieldAccessorTable;
      }
      
      private int bitField0_;
      // required .EntityGroupSpecifier entityGroupSpecifier = 1;
      public static final int ENTITYGROUPSPECIFIER_FIELD_NUMBER = 1;
      private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier entityGroupSpecifier_;
      public boolean hasEntityGroupSpecifier() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getEntityGroupSpecifier() {
        return entityGroupSpecifier_;
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getEntityGroupSpecifierOrBuilder() {
        return entityGroupSpecifier_;
      }
      
      // optional uint64 readRequestsCount = 2;
      public static final int READREQUESTSCOUNT_FIELD_NUMBER = 2;
      private long readRequestsCount_;
      public boolean hasReadRequestsCount() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public long getReadRequestsCount() {
        return readRequestsCount_;
      }
      
      // optional uint64 writeRequestsCount = 3;
      public static final int WRITEREQUESTSCOUNT_FIELD_NUMBER = 3;
      private long writeRequestsCount_;
      public boolean hasWriteRequestsCount() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      public long getWriteRequestsCount() {
        return writeRequestsCount_;
      }
      
      // optional uint64 transactionLogSize = 4;
      public static final int TRANSACTIONLOGSIZE_FIELD_NUMBER = 4;
      private long transactionLogSize_;
      public boolean hasTransactionLogSize() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      public long getTransactionLogSize() {
        return transactionLogSize_;
      }
      
      private void initFields() {
        entityGroupSpecifier_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
        readRequestsCount_ = 0L;
        writeRequestsCount_ = 0L;
        transactionLogSize_ = 0L;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasEntityGroupSpecifier()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getEntityGroupSpecifier().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
      
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeMessage(1, entityGroupSpecifier_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeUInt64(2, readRequestsCount_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeUInt64(3, writeRequestsCount_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeUInt64(4, transactionLogSize_);
        }
        getUnknownFields().writeTo(output);
      }
      
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
      
        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, entityGroupSpecifier_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt64Size(2, readRequestsCount_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt64Size(3, writeRequestsCount_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt64Size(4, transactionLogSize_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos other = (com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos) obj;
        
        boolean result = true;
        result = result && (hasEntityGroupSpecifier() == other.hasEntityGroupSpecifier());
        if (hasEntityGroupSpecifier()) {
          result = result && getEntityGroupSpecifier()
              .equals(other.getEntityGroupSpecifier());
        }
        result = result && (hasReadRequestsCount() == other.hasReadRequestsCount());
        if (hasReadRequestsCount()) {
          result = result && (getReadRequestsCount()
              == other.getReadRequestsCount());
        }
        result = result && (hasWriteRequestsCount() == other.hasWriteRequestsCount());
        if (hasWriteRequestsCount()) {
          result = result && (getWriteRequestsCount()
              == other.getWriteRequestsCount());
        }
        result = result && (hasTransactionLogSize() == other.hasTransactionLogSize());
        if (hasTransactionLogSize()) {
          result = result && (getTransactionLogSize()
              == other.getTransactionLogSize());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasEntityGroupSpecifier()) {
          hash = (37 * hash) + ENTITYGROUPSPECIFIER_FIELD_NUMBER;
          hash = (53 * hash) + getEntityGroupSpecifier().hashCode();
        }
        if (hasReadRequestsCount()) {
          hash = (37 * hash) + READREQUESTSCOUNT_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(getReadRequestsCount());
        }
        if (hasWriteRequestsCount()) {
          hash = (37 * hash) + WRITEREQUESTSCOUNT_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(getWriteRequestsCount());
        }
        if (hasTransactionLogSize()) {
          hash = (37 * hash) + TRANSACTIONLOGSIZE_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(getTransactionLogSize());
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtosOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_EntityGroupLoadProtos_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_EntityGroupLoadProtos_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getEntityGroupSpecifierFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          if (entityGroupSpecifierBuilder_ == null) {
            entityGroupSpecifier_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
          } else {
            entityGroupSpecifierBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          readRequestsCount_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000002);
          writeRequestsCount_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000004);
          transactionLogSize_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000008);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos build() {
          com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos buildPartial() {
          com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos result = new com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          if (entityGroupSpecifierBuilder_ == null) {
            result.entityGroupSpecifier_ = entityGroupSpecifier_;
          } else {
            result.entityGroupSpecifier_ = entityGroupSpecifierBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.readRequestsCount_ = readRequestsCount_;
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.writeRequestsCount_ = writeRequestsCount_;
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000008;
          }
          result.transactionLogSize_ = transactionLogSize_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos other) {
          if (other == com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos.getDefaultInstance()) return this;
          if (other.hasEntityGroupSpecifier()) {
            mergeEntityGroupSpecifier(other.getEntityGroupSpecifier());
          }
          if (other.hasReadRequestsCount()) {
            setReadRequestsCount(other.getReadRequestsCount());
          }
          if (other.hasWriteRequestsCount()) {
            setWriteRequestsCount(other.getWriteRequestsCount());
          }
          if (other.hasTransactionLogSize()) {
            setTransactionLogSize(other.getTransactionLogSize());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasEntityGroupSpecifier()) {
            
            return false;
          }
          if (!getEntityGroupSpecifier().isInitialized()) {
            
            return false;
          }
          return true;
        }
        
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder(
              this.getUnknownFields());
          while (true) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  this.setUnknownFields(unknownFields.build());
                  onChanged();
                  return this;
                }
                break;
              }
              case 10: {
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder subBuilder = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.newBuilder();
                if (hasEntityGroupSpecifier()) {
                  subBuilder.mergeFrom(getEntityGroupSpecifier());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setEntityGroupSpecifier(subBuilder.buildPartial());
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                readRequestsCount_ = input.readUInt64();
                break;
              }
              case 24: {
                bitField0_ |= 0x00000004;
                writeRequestsCount_ = input.readUInt64();
                break;
              }
              case 32: {
                bitField0_ |= 0x00000008;
                transactionLogSize_ = input.readUInt64();
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required .EntityGroupSpecifier entityGroupSpecifier = 1;
        private com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier entityGroupSpecifier_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder> entityGroupSpecifierBuilder_;
        public boolean hasEntityGroupSpecifier() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier getEntityGroupSpecifier() {
          if (entityGroupSpecifierBuilder_ == null) {
            return entityGroupSpecifier_;
          } else {
            return entityGroupSpecifierBuilder_.getMessage();
          }
        }
        public Builder setEntityGroupSpecifier(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier value) {
          if (entityGroupSpecifierBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            entityGroupSpecifier_ = value;
            onChanged();
          } else {
            entityGroupSpecifierBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder setEntityGroupSpecifier(
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder builderForValue) {
          if (entityGroupSpecifierBuilder_ == null) {
            entityGroupSpecifier_ = builderForValue.build();
            onChanged();
          } else {
            entityGroupSpecifierBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder mergeEntityGroupSpecifier(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier value) {
          if (entityGroupSpecifierBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001) &&
                entityGroupSpecifier_ != com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance()) {
              entityGroupSpecifier_ =
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.newBuilder(entityGroupSpecifier_).mergeFrom(value).buildPartial();
            } else {
              entityGroupSpecifier_ = value;
            }
            onChanged();
          } else {
            entityGroupSpecifierBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder clearEntityGroupSpecifier() {
          if (entityGroupSpecifierBuilder_ == null) {
            entityGroupSpecifier_ = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.getDefaultInstance();
            onChanged();
          } else {
            entityGroupSpecifierBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder getEntityGroupSpecifierBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getEntityGroupSpecifierFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder getEntityGroupSpecifierOrBuilder() {
          if (entityGroupSpecifierBuilder_ != null) {
            return entityGroupSpecifierBuilder_.getMessageOrBuilder();
          } else {
            return entityGroupSpecifier_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder> 
            getEntityGroupSpecifierFieldBuilder() {
          if (entityGroupSpecifierBuilder_ == null) {
            entityGroupSpecifierBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifierOrBuilder>(
                    entityGroupSpecifier_,
                    getParentForChildren(),
                    isClean());
            entityGroupSpecifier_ = null;
          }
          return entityGroupSpecifierBuilder_;
        }
        
        // optional uint64 readRequestsCount = 2;
        private long readRequestsCount_ ;
        public boolean hasReadRequestsCount() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public long getReadRequestsCount() {
          return readRequestsCount_;
        }
        public Builder setReadRequestsCount(long value) {
          bitField0_ |= 0x00000002;
          readRequestsCount_ = value;
          onChanged();
          return this;
        }
        public Builder clearReadRequestsCount() {
          bitField0_ = (bitField0_ & ~0x00000002);
          readRequestsCount_ = 0L;
          onChanged();
          return this;
        }
        
        // optional uint64 writeRequestsCount = 3;
        private long writeRequestsCount_ ;
        public boolean hasWriteRequestsCount() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        public long getWriteRequestsCount() {
          return writeRequestsCount_;
        }
        public Builder setWriteRequestsCount(long value) {
          bitField0_ |= 0x00000004;
          writeRequestsCount_ = value;
          onChanged();
          return this;
        }
        public Builder clearWriteRequestsCount() {
          bitField0_ = (bitField0_ & ~0x00000004);
          writeRequestsCount_ = 0L;
          onChanged();
          return this;
        }
        
        // optional uint64 transactionLogSize = 4;
        private long transactionLogSize_ ;
        public boolean hasTransactionLogSize() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        public long getTransactionLogSize() {
          return transactionLogSize_;
        }
        public Builder setTransactionLogSize(long value) {
          bitField0_ |= 0x00000008;
          transactionLogSize_ = value;
          onChanged();
          return this;
        }
        public Builder clearTransactionLogSize() {
          bitField0_ = (bitField0_ & ~0x00000008);
          transactionLogSize_ = 0L;
          onChanged();
          return this;
        }
        
        // @@protoc_insertion_point(builder_scope:EntityGroupLoadProtos)
      }
      
      static {
        defaultInstance = new EntityGroupLoadProtos(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:EntityGroupLoadProtos)
    }
    
    public interface ServerLoadProtosOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // optional uint32 numberOfRequests = 1;
      boolean hasNumberOfRequests();
      int getNumberOfRequests();
      
      // optional uint32 totalNumberOfRequests = 2;
      boolean hasTotalNumberOfRequests();
      int getTotalNumberOfRequests();
      
      // repeated .EntityGroupLoadProtos entityGroupsLoads = 3;
      java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos> 
          getEntityGroupsLoadsList();
      com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos getEntityGroupsLoads(int index);
      int getEntityGroupsLoadsCount();
      java.util.List<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtosOrBuilder> 
          getEntityGroupsLoadsOrBuilderList();
      com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtosOrBuilder getEntityGroupsLoadsOrBuilder(
          int index);
      
      // optional uint64 reportStartTime = 4;
      boolean hasReportStartTime();
      long getReportStartTime();
      
      // optional uint64 reportEndTime = 5;
      boolean hasReportEndTime();
      long getReportEndTime();
      
      // optional uint32 infoServerPort = 6;
      boolean hasInfoServerPort();
      int getInfoServerPort();
      
      // optional uint32 numberOfConnections = 7;
      boolean hasNumberOfConnections();
      int getNumberOfConnections();
      
      // optional float avgWriteTime = 8;
      boolean hasAvgWriteTime();
      float getAvgWriteTime();
      
      // optional float avgReadTime = 9;
      boolean hasAvgReadTime();
      float getAvgReadTime();
    }
    public static final class ServerLoadProtos extends
        com.google.protobuf.GeneratedMessage
        implements ServerLoadProtosOrBuilder {
      // Use ServerLoadProtos.newBuilder() to construct.
      private ServerLoadProtos(Builder builder) {
        super(builder);
      }
      private ServerLoadProtos(boolean noInit) {}
      
      private static final ServerLoadProtos defaultInstance;
      public static ServerLoadProtos getDefaultInstance() {
        return defaultInstance;
      }
      
      public ServerLoadProtos getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_ServerLoadProtos_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_ServerLoadProtos_fieldAccessorTable;
      }
      
      private int bitField0_;
      // optional uint32 numberOfRequests = 1;
      public static final int NUMBEROFREQUESTS_FIELD_NUMBER = 1;
      private int numberOfRequests_;
      public boolean hasNumberOfRequests() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public int getNumberOfRequests() {
        return numberOfRequests_;
      }
      
      // optional uint32 totalNumberOfRequests = 2;
      public static final int TOTALNUMBEROFREQUESTS_FIELD_NUMBER = 2;
      private int totalNumberOfRequests_;
      public boolean hasTotalNumberOfRequests() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public int getTotalNumberOfRequests() {
        return totalNumberOfRequests_;
      }
      
      // repeated .EntityGroupLoadProtos entityGroupsLoads = 3;
      public static final int ENTITYGROUPSLOADS_FIELD_NUMBER = 3;
      private java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos> entityGroupsLoads_;
      public java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos> getEntityGroupsLoadsList() {
        return entityGroupsLoads_;
      }
      public java.util.List<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtosOrBuilder> 
          getEntityGroupsLoadsOrBuilderList() {
        return entityGroupsLoads_;
      }
      public int getEntityGroupsLoadsCount() {
        return entityGroupsLoads_.size();
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos getEntityGroupsLoads(int index) {
        return entityGroupsLoads_.get(index);
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtosOrBuilder getEntityGroupsLoadsOrBuilder(
          int index) {
        return entityGroupsLoads_.get(index);
      }
      
      // optional uint64 reportStartTime = 4;
      public static final int REPORTSTARTTIME_FIELD_NUMBER = 4;
      private long reportStartTime_;
      public boolean hasReportStartTime() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      public long getReportStartTime() {
        return reportStartTime_;
      }
      
      // optional uint64 reportEndTime = 5;
      public static final int REPORTENDTIME_FIELD_NUMBER = 5;
      private long reportEndTime_;
      public boolean hasReportEndTime() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      public long getReportEndTime() {
        return reportEndTime_;
      }
      
      // optional uint32 infoServerPort = 6;
      public static final int INFOSERVERPORT_FIELD_NUMBER = 6;
      private int infoServerPort_;
      public boolean hasInfoServerPort() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      public int getInfoServerPort() {
        return infoServerPort_;
      }
      
      // optional uint32 numberOfConnections = 7;
      public static final int NUMBEROFCONNECTIONS_FIELD_NUMBER = 7;
      private int numberOfConnections_;
      public boolean hasNumberOfConnections() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      public int getNumberOfConnections() {
        return numberOfConnections_;
      }
      
      // optional float avgWriteTime = 8;
      public static final int AVGWRITETIME_FIELD_NUMBER = 8;
      private float avgWriteTime_;
      public boolean hasAvgWriteTime() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      public float getAvgWriteTime() {
        return avgWriteTime_;
      }
      
      // optional float avgReadTime = 9;
      public static final int AVGREADTIME_FIELD_NUMBER = 9;
      private float avgReadTime_;
      public boolean hasAvgReadTime() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      public float getAvgReadTime() {
        return avgReadTime_;
      }
      
      private void initFields() {
        numberOfRequests_ = 0;
        totalNumberOfRequests_ = 0;
        entityGroupsLoads_ = java.util.Collections.emptyList();
        reportStartTime_ = 0L;
        reportEndTime_ = 0L;
        infoServerPort_ = 0;
        numberOfConnections_ = 0;
        avgWriteTime_ = 0F;
        avgReadTime_ = 0F;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        for (int i = 0; i < getEntityGroupsLoadsCount(); i++) {
          if (!getEntityGroupsLoads(i).isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }
      
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeUInt32(1, numberOfRequests_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeUInt32(2, totalNumberOfRequests_);
        }
        for (int i = 0; i < entityGroupsLoads_.size(); i++) {
          output.writeMessage(3, entityGroupsLoads_.get(i));
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeUInt64(4, reportStartTime_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeUInt64(5, reportEndTime_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          output.writeUInt32(6, infoServerPort_);
        }
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          output.writeUInt32(7, numberOfConnections_);
        }
        if (((bitField0_ & 0x00000040) == 0x00000040)) {
          output.writeFloat(8, avgWriteTime_);
        }
        if (((bitField0_ & 0x00000080) == 0x00000080)) {
          output.writeFloat(9, avgReadTime_);
        }
        getUnknownFields().writeTo(output);
      }
      
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
      
        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(1, numberOfRequests_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(2, totalNumberOfRequests_);
        }
        for (int i = 0; i < entityGroupsLoads_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, entityGroupsLoads_.get(i));
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt64Size(4, reportStartTime_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt64Size(5, reportEndTime_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(6, infoServerPort_);
        }
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(7, numberOfConnections_);
        }
        if (((bitField0_ & 0x00000040) == 0x00000040)) {
          size += com.google.protobuf.CodedOutputStream
            .computeFloatSize(8, avgWriteTime_);
        }
        if (((bitField0_ & 0x00000080) == 0x00000080)) {
          size += com.google.protobuf.CodedOutputStream
            .computeFloatSize(9, avgReadTime_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos other = (com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos) obj;
        
        boolean result = true;
        result = result && (hasNumberOfRequests() == other.hasNumberOfRequests());
        if (hasNumberOfRequests()) {
          result = result && (getNumberOfRequests()
              == other.getNumberOfRequests());
        }
        result = result && (hasTotalNumberOfRequests() == other.hasTotalNumberOfRequests());
        if (hasTotalNumberOfRequests()) {
          result = result && (getTotalNumberOfRequests()
              == other.getTotalNumberOfRequests());
        }
        result = result && getEntityGroupsLoadsList()
            .equals(other.getEntityGroupsLoadsList());
        result = result && (hasReportStartTime() == other.hasReportStartTime());
        if (hasReportStartTime()) {
          result = result && (getReportStartTime()
              == other.getReportStartTime());
        }
        result = result && (hasReportEndTime() == other.hasReportEndTime());
        if (hasReportEndTime()) {
          result = result && (getReportEndTime()
              == other.getReportEndTime());
        }
        result = result && (hasInfoServerPort() == other.hasInfoServerPort());
        if (hasInfoServerPort()) {
          result = result && (getInfoServerPort()
              == other.getInfoServerPort());
        }
        result = result && (hasNumberOfConnections() == other.hasNumberOfConnections());
        if (hasNumberOfConnections()) {
          result = result && (getNumberOfConnections()
              == other.getNumberOfConnections());
        }
        result = result && (hasAvgWriteTime() == other.hasAvgWriteTime());
        if (hasAvgWriteTime()) {
          result = result && (Float.floatToIntBits(getAvgWriteTime())    == Float.floatToIntBits(other.getAvgWriteTime()));
        }
        result = result && (hasAvgReadTime() == other.hasAvgReadTime());
        if (hasAvgReadTime()) {
          result = result && (Float.floatToIntBits(getAvgReadTime())    == Float.floatToIntBits(other.getAvgReadTime()));
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasNumberOfRequests()) {
          hash = (37 * hash) + NUMBEROFREQUESTS_FIELD_NUMBER;
          hash = (53 * hash) + getNumberOfRequests();
        }
        if (hasTotalNumberOfRequests()) {
          hash = (37 * hash) + TOTALNUMBEROFREQUESTS_FIELD_NUMBER;
          hash = (53 * hash) + getTotalNumberOfRequests();
        }
        if (getEntityGroupsLoadsCount() > 0) {
          hash = (37 * hash) + ENTITYGROUPSLOADS_FIELD_NUMBER;
          hash = (53 * hash) + getEntityGroupsLoadsList().hashCode();
        }
        if (hasReportStartTime()) {
          hash = (37 * hash) + REPORTSTARTTIME_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(getReportStartTime());
        }
        if (hasReportEndTime()) {
          hash = (37 * hash) + REPORTENDTIME_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(getReportEndTime());
        }
        if (hasInfoServerPort()) {
          hash = (37 * hash) + INFOSERVERPORT_FIELD_NUMBER;
          hash = (53 * hash) + getInfoServerPort();
        }
        if (hasNumberOfConnections()) {
          hash = (37 * hash) + NUMBEROFCONNECTIONS_FIELD_NUMBER;
          hash = (53 * hash) + getNumberOfConnections();
        }
        if (hasAvgWriteTime()) {
          hash = (37 * hash) + AVGWRITETIME_FIELD_NUMBER;
          hash = (53 * hash) + Float.floatToIntBits(
              getAvgWriteTime());
        }
        if (hasAvgReadTime()) {
          hash = (37 * hash) + AVGREADTIME_FIELD_NUMBER;
          hash = (53 * hash) + Float.floatToIntBits(
              getAvgReadTime());
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtosOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_ServerLoadProtos_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_ServerLoadProtos_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getEntityGroupsLoadsFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          numberOfRequests_ = 0;
          bitField0_ = (bitField0_ & ~0x00000001);
          totalNumberOfRequests_ = 0;
          bitField0_ = (bitField0_ & ~0x00000002);
          if (entityGroupsLoadsBuilder_ == null) {
            entityGroupsLoads_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            entityGroupsLoadsBuilder_.clear();
          }
          reportStartTime_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000008);
          reportEndTime_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000010);
          infoServerPort_ = 0;
          bitField0_ = (bitField0_ & ~0x00000020);
          numberOfConnections_ = 0;
          bitField0_ = (bitField0_ & ~0x00000040);
          avgWriteTime_ = 0F;
          bitField0_ = (bitField0_ & ~0x00000080);
          avgReadTime_ = 0F;
          bitField0_ = (bitField0_ & ~0x00000100);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos build() {
          com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos buildPartial() {
          com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos result = new com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.numberOfRequests_ = numberOfRequests_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.totalNumberOfRequests_ = totalNumberOfRequests_;
          if (entityGroupsLoadsBuilder_ == null) {
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              entityGroupsLoads_ = java.util.Collections.unmodifiableList(entityGroupsLoads_);
              bitField0_ = (bitField0_ & ~0x00000004);
            }
            result.entityGroupsLoads_ = entityGroupsLoads_;
          } else {
            result.entityGroupsLoads_ = entityGroupsLoadsBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000004;
          }
          result.reportStartTime_ = reportStartTime_;
          if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
            to_bitField0_ |= 0x00000008;
          }
          result.reportEndTime_ = reportEndTime_;
          if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
            to_bitField0_ |= 0x00000010;
          }
          result.infoServerPort_ = infoServerPort_;
          if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
            to_bitField0_ |= 0x00000020;
          }
          result.numberOfConnections_ = numberOfConnections_;
          if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
            to_bitField0_ |= 0x00000040;
          }
          result.avgWriteTime_ = avgWriteTime_;
          if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
            to_bitField0_ |= 0x00000080;
          }
          result.avgReadTime_ = avgReadTime_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos other) {
          if (other == com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos.getDefaultInstance()) return this;
          if (other.hasNumberOfRequests()) {
            setNumberOfRequests(other.getNumberOfRequests());
          }
          if (other.hasTotalNumberOfRequests()) {
            setTotalNumberOfRequests(other.getTotalNumberOfRequests());
          }
          if (entityGroupsLoadsBuilder_ == null) {
            if (!other.entityGroupsLoads_.isEmpty()) {
              if (entityGroupsLoads_.isEmpty()) {
                entityGroupsLoads_ = other.entityGroupsLoads_;
                bitField0_ = (bitField0_ & ~0x00000004);
              } else {
                ensureEntityGroupsLoadsIsMutable();
                entityGroupsLoads_.addAll(other.entityGroupsLoads_);
              }
              onChanged();
            }
          } else {
            if (!other.entityGroupsLoads_.isEmpty()) {
              if (entityGroupsLoadsBuilder_.isEmpty()) {
                entityGroupsLoadsBuilder_.dispose();
                entityGroupsLoadsBuilder_ = null;
                entityGroupsLoads_ = other.entityGroupsLoads_;
                bitField0_ = (bitField0_ & ~0x00000004);
                entityGroupsLoadsBuilder_ = 
                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                     getEntityGroupsLoadsFieldBuilder() : null;
              } else {
                entityGroupsLoadsBuilder_.addAllMessages(other.entityGroupsLoads_);
              }
            }
          }
          if (other.hasReportStartTime()) {
            setReportStartTime(other.getReportStartTime());
          }
          if (other.hasReportEndTime()) {
            setReportEndTime(other.getReportEndTime());
          }
          if (other.hasInfoServerPort()) {
            setInfoServerPort(other.getInfoServerPort());
          }
          if (other.hasNumberOfConnections()) {
            setNumberOfConnections(other.getNumberOfConnections());
          }
          if (other.hasAvgWriteTime()) {
            setAvgWriteTime(other.getAvgWriteTime());
          }
          if (other.hasAvgReadTime()) {
            setAvgReadTime(other.getAvgReadTime());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          for (int i = 0; i < getEntityGroupsLoadsCount(); i++) {
            if (!getEntityGroupsLoads(i).isInitialized()) {
              
              return false;
            }
          }
          return true;
        }
        
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder(
              this.getUnknownFields());
          while (true) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  this.setUnknownFields(unknownFields.build());
                  onChanged();
                  return this;
                }
                break;
              }
              case 8: {
                bitField0_ |= 0x00000001;
                numberOfRequests_ = input.readUInt32();
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                totalNumberOfRequests_ = input.readUInt32();
                break;
              }
              case 26: {
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos.Builder subBuilder = com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos.newBuilder();
                input.readMessage(subBuilder, extensionRegistry);
                addEntityGroupsLoads(subBuilder.buildPartial());
                break;
              }
              case 32: {
                bitField0_ |= 0x00000008;
                reportStartTime_ = input.readUInt64();
                break;
              }
              case 40: {
                bitField0_ |= 0x00000010;
                reportEndTime_ = input.readUInt64();
                break;
              }
              case 48: {
                bitField0_ |= 0x00000020;
                infoServerPort_ = input.readUInt32();
                break;
              }
              case 56: {
                bitField0_ |= 0x00000040;
                numberOfConnections_ = input.readUInt32();
                break;
              }
              case 69: {
                bitField0_ |= 0x00000080;
                avgWriteTime_ = input.readFloat();
                break;
              }
              case 77: {
                bitField0_ |= 0x00000100;
                avgReadTime_ = input.readFloat();
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // optional uint32 numberOfRequests = 1;
        private int numberOfRequests_ ;
        public boolean hasNumberOfRequests() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public int getNumberOfRequests() {
          return numberOfRequests_;
        }
        public Builder setNumberOfRequests(int value) {
          bitField0_ |= 0x00000001;
          numberOfRequests_ = value;
          onChanged();
          return this;
        }
        public Builder clearNumberOfRequests() {
          bitField0_ = (bitField0_ & ~0x00000001);
          numberOfRequests_ = 0;
          onChanged();
          return this;
        }
        
        // optional uint32 totalNumberOfRequests = 2;
        private int totalNumberOfRequests_ ;
        public boolean hasTotalNumberOfRequests() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public int getTotalNumberOfRequests() {
          return totalNumberOfRequests_;
        }
        public Builder setTotalNumberOfRequests(int value) {
          bitField0_ |= 0x00000002;
          totalNumberOfRequests_ = value;
          onChanged();
          return this;
        }
        public Builder clearTotalNumberOfRequests() {
          bitField0_ = (bitField0_ & ~0x00000002);
          totalNumberOfRequests_ = 0;
          onChanged();
          return this;
        }
        
        // repeated .EntityGroupLoadProtos entityGroupsLoads = 3;
        private java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos> entityGroupsLoads_ =
          java.util.Collections.emptyList();
        private void ensureEntityGroupsLoadsIsMutable() {
          if (!((bitField0_ & 0x00000004) == 0x00000004)) {
            entityGroupsLoads_ = new java.util.ArrayList<com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos>(entityGroupsLoads_);
            bitField0_ |= 0x00000004;
           }
        }
        
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtosOrBuilder> entityGroupsLoadsBuilder_;
        
        public java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos> getEntityGroupsLoadsList() {
          if (entityGroupsLoadsBuilder_ == null) {
            return java.util.Collections.unmodifiableList(entityGroupsLoads_);
          } else {
            return entityGroupsLoadsBuilder_.getMessageList();
          }
        }
        public int getEntityGroupsLoadsCount() {
          if (entityGroupsLoadsBuilder_ == null) {
            return entityGroupsLoads_.size();
          } else {
            return entityGroupsLoadsBuilder_.getCount();
          }
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos getEntityGroupsLoads(int index) {
          if (entityGroupsLoadsBuilder_ == null) {
            return entityGroupsLoads_.get(index);
          } else {
            return entityGroupsLoadsBuilder_.getMessage(index);
          }
        }
        public Builder setEntityGroupsLoads(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos value) {
          if (entityGroupsLoadsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEntityGroupsLoadsIsMutable();
            entityGroupsLoads_.set(index, value);
            onChanged();
          } else {
            entityGroupsLoadsBuilder_.setMessage(index, value);
          }
          return this;
        }
        public Builder setEntityGroupsLoads(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos.Builder builderForValue) {
          if (entityGroupsLoadsBuilder_ == null) {
            ensureEntityGroupsLoadsIsMutable();
            entityGroupsLoads_.set(index, builderForValue.build());
            onChanged();
          } else {
            entityGroupsLoadsBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addEntityGroupsLoads(com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos value) {
          if (entityGroupsLoadsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEntityGroupsLoadsIsMutable();
            entityGroupsLoads_.add(value);
            onChanged();
          } else {
            entityGroupsLoadsBuilder_.addMessage(value);
          }
          return this;
        }
        public Builder addEntityGroupsLoads(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos value) {
          if (entityGroupsLoadsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureEntityGroupsLoadsIsMutable();
            entityGroupsLoads_.add(index, value);
            onChanged();
          } else {
            entityGroupsLoadsBuilder_.addMessage(index, value);
          }
          return this;
        }
        public Builder addEntityGroupsLoads(
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos.Builder builderForValue) {
          if (entityGroupsLoadsBuilder_ == null) {
            ensureEntityGroupsLoadsIsMutable();
            entityGroupsLoads_.add(builderForValue.build());
            onChanged();
          } else {
            entityGroupsLoadsBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        public Builder addEntityGroupsLoads(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos.Builder builderForValue) {
          if (entityGroupsLoadsBuilder_ == null) {
            ensureEntityGroupsLoadsIsMutable();
            entityGroupsLoads_.add(index, builderForValue.build());
            onChanged();
          } else {
            entityGroupsLoadsBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addAllEntityGroupsLoads(
            java.lang.Iterable<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos> values) {
          if (entityGroupsLoadsBuilder_ == null) {
            ensureEntityGroupsLoadsIsMutable();
            super.addAll(values, entityGroupsLoads_);
            onChanged();
          } else {
            entityGroupsLoadsBuilder_.addAllMessages(values);
          }
          return this;
        }
        public Builder clearEntityGroupsLoads() {
          if (entityGroupsLoadsBuilder_ == null) {
            entityGroupsLoads_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
            onChanged();
          } else {
            entityGroupsLoadsBuilder_.clear();
          }
          return this;
        }
        public Builder removeEntityGroupsLoads(int index) {
          if (entityGroupsLoadsBuilder_ == null) {
            ensureEntityGroupsLoadsIsMutable();
            entityGroupsLoads_.remove(index);
            onChanged();
          } else {
            entityGroupsLoadsBuilder_.remove(index);
          }
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos.Builder getEntityGroupsLoadsBuilder(
            int index) {
          return getEntityGroupsLoadsFieldBuilder().getBuilder(index);
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtosOrBuilder getEntityGroupsLoadsOrBuilder(
            int index) {
          if (entityGroupsLoadsBuilder_ == null) {
            return entityGroupsLoads_.get(index);  } else {
            return entityGroupsLoadsBuilder_.getMessageOrBuilder(index);
          }
        }
        public java.util.List<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtosOrBuilder> 
             getEntityGroupsLoadsOrBuilderList() {
          if (entityGroupsLoadsBuilder_ != null) {
            return entityGroupsLoadsBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(entityGroupsLoads_);
          }
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos.Builder addEntityGroupsLoadsBuilder() {
          return getEntityGroupsLoadsFieldBuilder().addBuilder(
              com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos.getDefaultInstance());
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos.Builder addEntityGroupsLoadsBuilder(
            int index) {
          return getEntityGroupsLoadsFieldBuilder().addBuilder(
              index, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos.getDefaultInstance());
        }
        public java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos.Builder> 
             getEntityGroupsLoadsBuilderList() {
          return getEntityGroupsLoadsFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtosOrBuilder> 
            getEntityGroupsLoadsFieldBuilder() {
          if (entityGroupsLoadsBuilder_ == null) {
            entityGroupsLoadsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtosOrBuilder>(
                    entityGroupsLoads_,
                    ((bitField0_ & 0x00000004) == 0x00000004),
                    getParentForChildren(),
                    isClean());
            entityGroupsLoads_ = null;
          }
          return entityGroupsLoadsBuilder_;
        }
        
        // optional uint64 reportStartTime = 4;
        private long reportStartTime_ ;
        public boolean hasReportStartTime() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        public long getReportStartTime() {
          return reportStartTime_;
        }
        public Builder setReportStartTime(long value) {
          bitField0_ |= 0x00000008;
          reportStartTime_ = value;
          onChanged();
          return this;
        }
        public Builder clearReportStartTime() {
          bitField0_ = (bitField0_ & ~0x00000008);
          reportStartTime_ = 0L;
          onChanged();
          return this;
        }
        
        // optional uint64 reportEndTime = 5;
        private long reportEndTime_ ;
        public boolean hasReportEndTime() {
          return ((bitField0_ & 0x00000010) == 0x00000010);
        }
        public long getReportEndTime() {
          return reportEndTime_;
        }
        public Builder setReportEndTime(long value) {
          bitField0_ |= 0x00000010;
          reportEndTime_ = value;
          onChanged();
          return this;
        }
        public Builder clearReportEndTime() {
          bitField0_ = (bitField0_ & ~0x00000010);
          reportEndTime_ = 0L;
          onChanged();
          return this;
        }
        
        // optional uint32 infoServerPort = 6;
        private int infoServerPort_ ;
        public boolean hasInfoServerPort() {
          return ((bitField0_ & 0x00000020) == 0x00000020);
        }
        public int getInfoServerPort() {
          return infoServerPort_;
        }
        public Builder setInfoServerPort(int value) {
          bitField0_ |= 0x00000020;
          infoServerPort_ = value;
          onChanged();
          return this;
        }
        public Builder clearInfoServerPort() {
          bitField0_ = (bitField0_ & ~0x00000020);
          infoServerPort_ = 0;
          onChanged();
          return this;
        }
        
        // optional uint32 numberOfConnections = 7;
        private int numberOfConnections_ ;
        public boolean hasNumberOfConnections() {
          return ((bitField0_ & 0x00000040) == 0x00000040);
        }
        public int getNumberOfConnections() {
          return numberOfConnections_;
        }
        public Builder setNumberOfConnections(int value) {
          bitField0_ |= 0x00000040;
          numberOfConnections_ = value;
          onChanged();
          return this;
        }
        public Builder clearNumberOfConnections() {
          bitField0_ = (bitField0_ & ~0x00000040);
          numberOfConnections_ = 0;
          onChanged();
          return this;
        }
        
        // optional float avgWriteTime = 8;
        private float avgWriteTime_ ;
        public boolean hasAvgWriteTime() {
          return ((bitField0_ & 0x00000080) == 0x00000080);
        }
        public float getAvgWriteTime() {
          return avgWriteTime_;
        }
        public Builder setAvgWriteTime(float value) {
          bitField0_ |= 0x00000080;
          avgWriteTime_ = value;
          onChanged();
          return this;
        }
        public Builder clearAvgWriteTime() {
          bitField0_ = (bitField0_ & ~0x00000080);
          avgWriteTime_ = 0F;
          onChanged();
          return this;
        }
        
        // optional float avgReadTime = 9;
        private float avgReadTime_ ;
        public boolean hasAvgReadTime() {
          return ((bitField0_ & 0x00000100) == 0x00000100);
        }
        public float getAvgReadTime() {
          return avgReadTime_;
        }
        public Builder setAvgReadTime(float value) {
          bitField0_ |= 0x00000100;
          avgReadTime_ = value;
          onChanged();
          return this;
        }
        public Builder clearAvgReadTime() {
          bitField0_ = (bitField0_ & ~0x00000100);
          avgReadTime_ = 0F;
          onChanged();
          return this;
        }
        
        // @@protoc_insertion_point(builder_scope:ServerLoadProtos)
      }
      
      static {
        defaultInstance = new ServerLoadProtos(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:ServerLoadProtos)
    }
    
    public interface TimeRangeOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // optional uint64 from = 1;
      boolean hasFrom();
      long getFrom();
      
      // optional uint64 to = 2;
      boolean hasTo();
      long getTo();
    }
    public static final class TimeRange extends
        com.google.protobuf.GeneratedMessage
        implements TimeRangeOrBuilder {
      // Use TimeRange.newBuilder() to construct.
      private TimeRange(Builder builder) {
        super(builder);
      }
      private TimeRange(boolean noInit) {}
      
      private static final TimeRange defaultInstance;
      public static TimeRange getDefaultInstance() {
        return defaultInstance;
      }
      
      public TimeRange getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_TimeRange_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_TimeRange_fieldAccessorTable;
      }
      
      private int bitField0_;
      // optional uint64 from = 1;
      public static final int FROM_FIELD_NUMBER = 1;
      private long from_;
      public boolean hasFrom() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public long getFrom() {
        return from_;
      }
      
      // optional uint64 to = 2;
      public static final int TO_FIELD_NUMBER = 2;
      private long to_;
      public boolean hasTo() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public long getTo() {
        return to_;
      }
      
      private void initFields() {
        from_ = 0L;
        to_ = 0L;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        memoizedIsInitialized = 1;
        return true;
      }
      
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeUInt64(1, from_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeUInt64(2, to_);
        }
        getUnknownFields().writeTo(output);
      }
      
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
      
        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt64Size(1, from_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt64Size(2, to_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange other = (com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange) obj;
        
        boolean result = true;
        result = result && (hasFrom() == other.hasFrom());
        if (hasFrom()) {
          result = result && (getFrom()
              == other.getFrom());
        }
        result = result && (hasTo() == other.hasTo());
        if (hasTo()) {
          result = result && (getTo()
              == other.getTo());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasFrom()) {
          hash = (37 * hash) + FROM_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(getFrom());
        }
        if (hasTo()) {
          hash = (37 * hash) + TO_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(getTo());
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRangeOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_TimeRange_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_TimeRange_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          from_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000001);
          to_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange build() {
          com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange buildPartial() {
          com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange result = new com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.from_ = from_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.to_ = to_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange other) {
          if (other == com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange.getDefaultInstance()) return this;
          if (other.hasFrom()) {
            setFrom(other.getFrom());
          }
          if (other.hasTo()) {
            setTo(other.getTo());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          return true;
        }
        
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder(
              this.getUnknownFields());
          while (true) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  this.setUnknownFields(unknownFields.build());
                  onChanged();
                  return this;
                }
                break;
              }
              case 8: {
                bitField0_ |= 0x00000001;
                from_ = input.readUInt64();
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                to_ = input.readUInt64();
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // optional uint64 from = 1;
        private long from_ ;
        public boolean hasFrom() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public long getFrom() {
          return from_;
        }
        public Builder setFrom(long value) {
          bitField0_ |= 0x00000001;
          from_ = value;
          onChanged();
          return this;
        }
        public Builder clearFrom() {
          bitField0_ = (bitField0_ & ~0x00000001);
          from_ = 0L;
          onChanged();
          return this;
        }
        
        // optional uint64 to = 2;
        private long to_ ;
        public boolean hasTo() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public long getTo() {
          return to_;
        }
        public Builder setTo(long value) {
          bitField0_ |= 0x00000002;
          to_ = value;
          onChanged();
          return this;
        }
        public Builder clearTo() {
          bitField0_ = (bitField0_ & ~0x00000002);
          to_ = 0L;
          onChanged();
          return this;
        }
        
        // @@protoc_insertion_point(builder_scope:TimeRange)
      }
      
      static {
        defaultInstance = new TimeRange(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:TimeRange)
    }
    
    public interface ServerNameOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required string hostName = 1;
      boolean hasHostName();
      String getHostName();
      
      // optional uint32 port = 2;
      boolean hasPort();
      int getPort();
      
      // optional uint64 startCode = 3;
      boolean hasStartCode();
      long getStartCode();
    }
    public static final class ServerName extends
        com.google.protobuf.GeneratedMessage
        implements ServerNameOrBuilder {
      // Use ServerName.newBuilder() to construct.
      private ServerName(Builder builder) {
        super(builder);
      }
      private ServerName(boolean noInit) {}
      
      private static final ServerName defaultInstance;
      public static ServerName getDefaultInstance() {
        return defaultInstance;
      }
      
      public ServerName getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_ServerName_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_ServerName_fieldAccessorTable;
      }
      
      private int bitField0_;
      // required string hostName = 1;
      public static final int HOSTNAME_FIELD_NUMBER = 1;
      private java.lang.Object hostName_;
      public boolean hasHostName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getHostName() {
        java.lang.Object ref = hostName_;
        if (ref instanceof String) {
          return (String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          if (com.google.protobuf.Internal.isValidUtf8(bs)) {
            hostName_ = s;
          }
          return s;
        }
      }
      private com.google.protobuf.ByteString getHostNameBytes() {
        java.lang.Object ref = hostName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
          hostName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      
      // optional uint32 port = 2;
      public static final int PORT_FIELD_NUMBER = 2;
      private int port_;
      public boolean hasPort() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public int getPort() {
        return port_;
      }
      
      // optional uint64 startCode = 3;
      public static final int STARTCODE_FIELD_NUMBER = 3;
      private long startCode_;
      public boolean hasStartCode() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      public long getStartCode() {
        return startCode_;
      }
      
      private void initFields() {
        hostName_ = "";
        port_ = 0;
        startCode_ = 0L;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasHostName()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
      
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, getHostNameBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeUInt32(2, port_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeUInt64(3, startCode_);
        }
        getUnknownFields().writeTo(output);
      }
      
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
      
        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(1, getHostNameBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(2, port_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt64Size(3, startCode_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName other = (com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName) obj;
        
        boolean result = true;
        result = result && (hasHostName() == other.hasHostName());
        if (hasHostName()) {
          result = result && getHostName()
              .equals(other.getHostName());
        }
        result = result && (hasPort() == other.hasPort());
        if (hasPort()) {
          result = result && (getPort()
              == other.getPort());
        }
        result = result && (hasStartCode() == other.hasStartCode());
        if (hasStartCode()) {
          result = result && (getStartCode()
              == other.getStartCode());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasHostName()) {
          hash = (37 * hash) + HOSTNAME_FIELD_NUMBER;
          hash = (53 * hash) + getHostName().hashCode();
        }
        if (hasPort()) {
          hash = (37 * hash) + PORT_FIELD_NUMBER;
          hash = (53 * hash) + getPort();
        }
        if (hasStartCode()) {
          hash = (37 * hash) + STARTCODE_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(getStartCode());
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements com.alibaba.wasp.protobuf.generated.WaspProtos.ServerNameOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_ServerName_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_ServerName_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          hostName_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          port_ = 0;
          bitField0_ = (bitField0_ & ~0x00000002);
          startCode_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000004);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName build() {
          com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName buildPartial() {
          com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName result = new com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.hostName_ = hostName_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.port_ = port_;
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.startCode_ = startCode_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName other) {
          if (other == com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.getDefaultInstance()) return this;
          if (other.hasHostName()) {
            setHostName(other.getHostName());
          }
          if (other.hasPort()) {
            setPort(other.getPort());
          }
          if (other.hasStartCode()) {
            setStartCode(other.getStartCode());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasHostName()) {
            
            return false;
          }
          return true;
        }
        
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder(
              this.getUnknownFields());
          while (true) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  this.setUnknownFields(unknownFields.build());
                  onChanged();
                  return this;
                }
                break;
              }
              case 10: {
                bitField0_ |= 0x00000001;
                hostName_ = input.readBytes();
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                port_ = input.readUInt32();
                break;
              }
              case 24: {
                bitField0_ |= 0x00000004;
                startCode_ = input.readUInt64();
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required string hostName = 1;
        private java.lang.Object hostName_ = "";
        public boolean hasHostName() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public String getHostName() {
          java.lang.Object ref = hostName_;
          if (!(ref instanceof String)) {
            String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
            hostName_ = s;
            return s;
          } else {
            return (String) ref;
          }
        }
        public Builder setHostName(String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000001;
          hostName_ = value;
          onChanged();
          return this;
        }
        public Builder clearHostName() {
          bitField0_ = (bitField0_ & ~0x00000001);
          hostName_ = getDefaultInstance().getHostName();
          onChanged();
          return this;
        }
        void setHostName(com.google.protobuf.ByteString value) {
          bitField0_ |= 0x00000001;
          hostName_ = value;
          onChanged();
        }
        
        // optional uint32 port = 2;
        private int port_ ;
        public boolean hasPort() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public int getPort() {
          return port_;
        }
        public Builder setPort(int value) {
          bitField0_ |= 0x00000002;
          port_ = value;
          onChanged();
          return this;
        }
        public Builder clearPort() {
          bitField0_ = (bitField0_ & ~0x00000002);
          port_ = 0;
          onChanged();
          return this;
        }
        
        // optional uint64 startCode = 3;
        private long startCode_ ;
        public boolean hasStartCode() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        public long getStartCode() {
          return startCode_;
        }
        public Builder setStartCode(long value) {
          bitField0_ |= 0x00000004;
          startCode_ = value;
          onChanged();
          return this;
        }
        public Builder clearStartCode() {
          bitField0_ = (bitField0_ & ~0x00000004);
          startCode_ = 0L;
          onChanged();
          return this;
        }
        
        // @@protoc_insertion_point(builder_scope:ServerName)
      }
      
      static {
        defaultInstance = new ServerName(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:ServerName)
    }
    
    public interface StringStringPairOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required string name = 1;
      boolean hasName();
      String getName();
      
      // required string value = 2;
      boolean hasValue();
      String getValue();
    }
    public static final class StringStringPair extends
        com.google.protobuf.GeneratedMessage
        implements StringStringPairOrBuilder {
      // Use StringStringPair.newBuilder() to construct.
      private StringStringPair(Builder builder) {
        super(builder);
      }
      private StringStringPair(boolean noInit) {}
      
      private static final StringStringPair defaultInstance;
      public static StringStringPair getDefaultInstance() {
        return defaultInstance;
      }
      
      public StringStringPair getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_StringStringPair_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_StringStringPair_fieldAccessorTable;
      }
      
      private int bitField0_;
      // required string name = 1;
      public static final int NAME_FIELD_NUMBER = 1;
      private java.lang.Object name_;
      public boolean hasName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getName() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          return (String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          if (com.google.protobuf.Internal.isValidUtf8(bs)) {
            name_ = s;
          }
          return s;
        }
      }
      private com.google.protobuf.ByteString getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      
      // required string value = 2;
      public static final int VALUE_FIELD_NUMBER = 2;
      private java.lang.Object value_;
      public boolean hasValue() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public String getValue() {
        java.lang.Object ref = value_;
        if (ref instanceof String) {
          return (String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          if (com.google.protobuf.Internal.isValidUtf8(bs)) {
            value_ = s;
          }
          return s;
        }
      }
      private com.google.protobuf.ByteString getValueBytes() {
        java.lang.Object ref = value_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
          value_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      
      private void initFields() {
        name_ = "";
        value_ = "";
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasName()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasValue()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
      
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, getNameBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeBytes(2, getValueBytes());
        }
        getUnknownFields().writeTo(output);
      }
      
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
      
        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(1, getNameBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(2, getValueBytes());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair other = (com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair) obj;
        
        boolean result = true;
        result = result && (hasName() == other.hasName());
        if (hasName()) {
          result = result && getName()
              .equals(other.getName());
        }
        result = result && (hasValue() == other.hasValue());
        if (hasValue()) {
          result = result && getValue()
              .equals(other.getValue());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasName()) {
          hash = (37 * hash) + NAME_FIELD_NUMBER;
          hash = (53 * hash) + getName().hashCode();
        }
        if (hasValue()) {
          hash = (37 * hash) + VALUE_FIELD_NUMBER;
          hash = (53 * hash) + getValue().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPairOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_StringStringPair_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_StringStringPair_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          name_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          value_ = "";
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair build() {
          com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair buildPartial() {
          com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair result = new com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.name_ = name_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.value_ = value_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair other) {
          if (other == com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair.getDefaultInstance()) return this;
          if (other.hasName()) {
            setName(other.getName());
          }
          if (other.hasValue()) {
            setValue(other.getValue());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasName()) {
            
            return false;
          }
          if (!hasValue()) {
            
            return false;
          }
          return true;
        }
        
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder(
              this.getUnknownFields());
          while (true) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  this.setUnknownFields(unknownFields.build());
                  onChanged();
                  return this;
                }
                break;
              }
              case 10: {
                bitField0_ |= 0x00000001;
                name_ = input.readBytes();
                break;
              }
              case 18: {
                bitField0_ |= 0x00000002;
                value_ = input.readBytes();
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required string name = 1;
        private java.lang.Object name_ = "";
        public boolean hasName() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public String getName() {
          java.lang.Object ref = name_;
          if (!(ref instanceof String)) {
            String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
            name_ = s;
            return s;
          } else {
            return (String) ref;
          }
        }
        public Builder setName(String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000001;
          name_ = value;
          onChanged();
          return this;
        }
        public Builder clearName() {
          bitField0_ = (bitField0_ & ~0x00000001);
          name_ = getDefaultInstance().getName();
          onChanged();
          return this;
        }
        void setName(com.google.protobuf.ByteString value) {
          bitField0_ |= 0x00000001;
          name_ = value;
          onChanged();
        }
        
        // required string value = 2;
        private java.lang.Object value_ = "";
        public boolean hasValue() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public String getValue() {
          java.lang.Object ref = value_;
          if (!(ref instanceof String)) {
            String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
            value_ = s;
            return s;
          } else {
            return (String) ref;
          }
        }
        public Builder setValue(String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000002;
          value_ = value;
          onChanged();
          return this;
        }
        public Builder clearValue() {
          bitField0_ = (bitField0_ & ~0x00000002);
          value_ = getDefaultInstance().getValue();
          onChanged();
          return this;
        }
        void setValue(com.google.protobuf.ByteString value) {
          bitField0_ |= 0x00000002;
          value_ = value;
          onChanged();
        }
        
        // @@protoc_insertion_point(builder_scope:StringStringPair)
      }
      
      static {
        defaultInstance = new StringStringPair(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:StringStringPair)
    }
    
    public interface StringBytesPairOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required string name = 1;
      boolean hasName();
      String getName();
      
      // optional bytes value = 2;
      boolean hasValue();
      com.google.protobuf.ByteString getValue();
    }
    public static final class StringBytesPair extends
        com.google.protobuf.GeneratedMessage
        implements StringBytesPairOrBuilder {
      // Use StringBytesPair.newBuilder() to construct.
      private StringBytesPair(Builder builder) {
        super(builder);
      }
      private StringBytesPair(boolean noInit) {}
      
      private static final StringBytesPair defaultInstance;
      public static StringBytesPair getDefaultInstance() {
        return defaultInstance;
      }
      
      public StringBytesPair getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_StringBytesPair_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_StringBytesPair_fieldAccessorTable;
      }
      
      private int bitField0_;
      // required string name = 1;
      public static final int NAME_FIELD_NUMBER = 1;
      private java.lang.Object name_;
      public boolean hasName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getName() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          return (String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          if (com.google.protobuf.Internal.isValidUtf8(bs)) {
            name_ = s;
          }
          return s;
        }
      }
      private com.google.protobuf.ByteString getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      
      // optional bytes value = 2;
      public static final int VALUE_FIELD_NUMBER = 2;
      private com.google.protobuf.ByteString value_;
      public boolean hasValue() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.google.protobuf.ByteString getValue() {
        return value_;
      }
      
      private void initFields() {
        name_ = "";
        value_ = com.google.protobuf.ByteString.EMPTY;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasName()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
      
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, getNameBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeBytes(2, value_);
        }
        getUnknownFields().writeTo(output);
      }
      
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
      
        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(1, getNameBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(2, value_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair other = (com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair) obj;
        
        boolean result = true;
        result = result && (hasName() == other.hasName());
        if (hasName()) {
          result = result && getName()
              .equals(other.getName());
        }
        result = result && (hasValue() == other.hasValue());
        if (hasValue()) {
          result = result && getValue()
              .equals(other.getValue());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasName()) {
          hash = (37 * hash) + NAME_FIELD_NUMBER;
          hash = (53 * hash) + getName().hashCode();
        }
        if (hasValue()) {
          hash = (37 * hash) + VALUE_FIELD_NUMBER;
          hash = (53 * hash) + getValue().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPairOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_StringBytesPair_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_StringBytesPair_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          name_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          value_ = com.google.protobuf.ByteString.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair build() {
          com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair buildPartial() {
          com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair result = new com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.name_ = name_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.value_ = value_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair other) {
          if (other == com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.getDefaultInstance()) return this;
          if (other.hasName()) {
            setName(other.getName());
          }
          if (other.hasValue()) {
            setValue(other.getValue());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasName()) {
            
            return false;
          }
          return true;
        }
        
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder(
              this.getUnknownFields());
          while (true) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  this.setUnknownFields(unknownFields.build());
                  onChanged();
                  return this;
                }
                break;
              }
              case 10: {
                bitField0_ |= 0x00000001;
                name_ = input.readBytes();
                break;
              }
              case 18: {
                bitField0_ |= 0x00000002;
                value_ = input.readBytes();
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required string name = 1;
        private java.lang.Object name_ = "";
        public boolean hasName() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public String getName() {
          java.lang.Object ref = name_;
          if (!(ref instanceof String)) {
            String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
            name_ = s;
            return s;
          } else {
            return (String) ref;
          }
        }
        public Builder setName(String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000001;
          name_ = value;
          onChanged();
          return this;
        }
        public Builder clearName() {
          bitField0_ = (bitField0_ & ~0x00000001);
          name_ = getDefaultInstance().getName();
          onChanged();
          return this;
        }
        void setName(com.google.protobuf.ByteString value) {
          bitField0_ |= 0x00000001;
          name_ = value;
          onChanged();
        }
        
        // optional bytes value = 2;
        private com.google.protobuf.ByteString value_ = com.google.protobuf.ByteString.EMPTY;
        public boolean hasValue() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public com.google.protobuf.ByteString getValue() {
          return value_;
        }
        public Builder setValue(com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000002;
          value_ = value;
          onChanged();
          return this;
        }
        public Builder clearValue() {
          bitField0_ = (bitField0_ & ~0x00000002);
          value_ = getDefaultInstance().getValue();
          onChanged();
          return this;
        }
        
        // @@protoc_insertion_point(builder_scope:StringBytesPair)
      }
      
      static {
        defaultInstance = new StringBytesPair(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:StringBytesPair)
    }
    
    public interface BytesBytesPairOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required bytes first = 1;
      boolean hasFirst();
      com.google.protobuf.ByteString getFirst();
      
      // required bytes second = 2;
      boolean hasSecond();
      com.google.protobuf.ByteString getSecond();
    }
    public static final class BytesBytesPair extends
        com.google.protobuf.GeneratedMessage
        implements BytesBytesPairOrBuilder {
      // Use BytesBytesPair.newBuilder() to construct.
      private BytesBytesPair(Builder builder) {
        super(builder);
      }
      private BytesBytesPair(boolean noInit) {}
      
      private static final BytesBytesPair defaultInstance;
      public static BytesBytesPair getDefaultInstance() {
        return defaultInstance;
      }
      
      public BytesBytesPair getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_BytesBytesPair_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_BytesBytesPair_fieldAccessorTable;
      }
      
      private int bitField0_;
      // required bytes first = 1;
      public static final int FIRST_FIELD_NUMBER = 1;
      private com.google.protobuf.ByteString first_;
      public boolean hasFirst() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.google.protobuf.ByteString getFirst() {
        return first_;
      }
      
      // required bytes second = 2;
      public static final int SECOND_FIELD_NUMBER = 2;
      private com.google.protobuf.ByteString second_;
      public boolean hasSecond() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.google.protobuf.ByteString getSecond() {
        return second_;
      }
      
      private void initFields() {
        first_ = com.google.protobuf.ByteString.EMPTY;
        second_ = com.google.protobuf.ByteString.EMPTY;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasFirst()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasSecond()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
      
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, first_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeBytes(2, second_);
        }
        getUnknownFields().writeTo(output);
      }
      
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
      
        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(1, first_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(2, second_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair other = (com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair) obj;
        
        boolean result = true;
        result = result && (hasFirst() == other.hasFirst());
        if (hasFirst()) {
          result = result && getFirst()
              .equals(other.getFirst());
        }
        result = result && (hasSecond() == other.hasSecond());
        if (hasSecond()) {
          result = result && getSecond()
              .equals(other.getSecond());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasFirst()) {
          hash = (37 * hash) + FIRST_FIELD_NUMBER;
          hash = (53 * hash) + getFirst().hashCode();
        }
        if (hasSecond()) {
          hash = (37 * hash) + SECOND_FIELD_NUMBER;
          hash = (53 * hash) + getSecond().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPairOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_BytesBytesPair_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_BytesBytesPair_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          first_ = com.google.protobuf.ByteString.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000001);
          second_ = com.google.protobuf.ByteString.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair build() {
          com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair buildPartial() {
          com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair result = new com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.first_ = first_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.second_ = second_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair other) {
          if (other == com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair.getDefaultInstance()) return this;
          if (other.hasFirst()) {
            setFirst(other.getFirst());
          }
          if (other.hasSecond()) {
            setSecond(other.getSecond());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasFirst()) {
            
            return false;
          }
          if (!hasSecond()) {
            
            return false;
          }
          return true;
        }
        
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder(
              this.getUnknownFields());
          while (true) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  this.setUnknownFields(unknownFields.build());
                  onChanged();
                  return this;
                }
                break;
              }
              case 10: {
                bitField0_ |= 0x00000001;
                first_ = input.readBytes();
                break;
              }
              case 18: {
                bitField0_ |= 0x00000002;
                second_ = input.readBytes();
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required bytes first = 1;
        private com.google.protobuf.ByteString first_ = com.google.protobuf.ByteString.EMPTY;
        public boolean hasFirst() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public com.google.protobuf.ByteString getFirst() {
          return first_;
        }
        public Builder setFirst(com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000001;
          first_ = value;
          onChanged();
          return this;
        }
        public Builder clearFirst() {
          bitField0_ = (bitField0_ & ~0x00000001);
          first_ = getDefaultInstance().getFirst();
          onChanged();
          return this;
        }
        
        // required bytes second = 2;
        private com.google.protobuf.ByteString second_ = com.google.protobuf.ByteString.EMPTY;
        public boolean hasSecond() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public com.google.protobuf.ByteString getSecond() {
          return second_;
        }
        public Builder setSecond(com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000002;
          second_ = value;
          onChanged();
          return this;
        }
        public Builder clearSecond() {
          bitField0_ = (bitField0_ & ~0x00000002);
          second_ = getDefaultInstance().getSecond();
          onChanged();
          return this;
        }
        
        // @@protoc_insertion_point(builder_scope:BytesBytesPair)
      }
      
      static {
        defaultInstance = new BytesBytesPair(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:BytesBytesPair)
    }
    
    public interface MutateOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // required bytes row = 1;
      boolean hasRow();
      com.google.protobuf.ByteString getRow();
      
      // required .Mutate.MutateType mutateType = 2;
      boolean hasMutateType();
      com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.MutateType getMutateType();
      
      // repeated .Mutate.ColumnValue columnValue = 3;
      java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue> 
          getColumnValueList();
      com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue getColumnValue(int index);
      int getColumnValueCount();
      java.util.List<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValueOrBuilder> 
          getColumnValueOrBuilderList();
      com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValueOrBuilder getColumnValueOrBuilder(
          int index);
      
      // repeated .StringBytesPair attribute = 4;
      java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair> 
          getAttributeList();
      com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair getAttribute(int index);
      int getAttributeCount();
      java.util.List<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPairOrBuilder> 
          getAttributeOrBuilderList();
      com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPairOrBuilder getAttributeOrBuilder(
          int index);
      
      // optional uint64 timestamp = 5;
      boolean hasTimestamp();
      long getTimestamp();
      
      // optional uint64 lockId = 6;
      boolean hasLockId();
      long getLockId();
      
      // optional bool writeToWAL = 7 [default = true];
      boolean hasWriteToWAL();
      boolean getWriteToWAL();
      
      // required string tableName = 8;
      boolean hasTableName();
      String getTableName();
      
      // optional .TimeRange timeRange = 10;
      boolean hasTimeRange();
      com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange getTimeRange();
      com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRangeOrBuilder getTimeRangeOrBuilder();
    }
    public static final class Mutate extends
        com.google.protobuf.GeneratedMessage
        implements MutateOrBuilder {
      // Use Mutate.newBuilder() to construct.
      private Mutate(Builder builder) {
        super(builder);
      }
      private Mutate(boolean noInit) {}
      
      private static final Mutate defaultInstance;
      public static Mutate getDefaultInstance() {
        return defaultInstance;
      }
      
      public Mutate getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_Mutate_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_Mutate_fieldAccessorTable;
      }
      
      public enum MutateType
          implements com.google.protobuf.ProtocolMessageEnum {
        PUT(0, 0),
        DELETE(1, 1),
        ;
        
        public static final int PUT_VALUE = 0;
        public static final int DELETE_VALUE = 1;
        
        
        public final int getNumber() { return value; }
        
        public static MutateType valueOf(int value) {
          switch (value) {
            case 0: return PUT;
            case 1: return DELETE;
            default: return null;
          }
        }
        
        public static com.google.protobuf.Internal.EnumLiteMap<MutateType>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static com.google.protobuf.Internal.EnumLiteMap<MutateType>
            internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<MutateType>() {
                public MutateType findValueByNumber(int number) {
                  return MutateType.valueOf(number);
                }
              };
        
        public final com.google.protobuf.Descriptors.EnumValueDescriptor
            getValueDescriptor() {
          return getDescriptor().getValues().get(index);
        }
        public final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptorForType() {
          return getDescriptor();
        }
        public static final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.getDescriptor().getEnumTypes().get(0);
        }
        
        private static final MutateType[] VALUES = {
          PUT, DELETE, 
        };
        
        public static MutateType valueOf(
            com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
          if (desc.getType() != getDescriptor()) {
            throw new java.lang.IllegalArgumentException(
              "EnumValueDescriptor is not for this type.");
          }
          return VALUES[desc.getIndex()];
        }
        
        private final int index;
        private final int value;
        
        private MutateType(int index, int value) {
          this.index = index;
          this.value = value;
        }
        
        // @@protoc_insertion_point(enum_scope:Mutate.MutateType)
      }
      
      public enum DeleteType
          implements com.google.protobuf.ProtocolMessageEnum {
        DELETE_ONE_VERSION(0, 0),
        DELETE_MULTIPLE_VERSIONS(1, 1),
        DELETE_FAMILY(2, 2),
        ;
        
        public static final int DELETE_ONE_VERSION_VALUE = 0;
        public static final int DELETE_MULTIPLE_VERSIONS_VALUE = 1;
        public static final int DELETE_FAMILY_VALUE = 2;
        
        
        public final int getNumber() { return value; }
        
        public static DeleteType valueOf(int value) {
          switch (value) {
            case 0: return DELETE_ONE_VERSION;
            case 1: return DELETE_MULTIPLE_VERSIONS;
            case 2: return DELETE_FAMILY;
            default: return null;
          }
        }
        
        public static com.google.protobuf.Internal.EnumLiteMap<DeleteType>
            internalGetValueMap() {
          return internalValueMap;
        }
        private static com.google.protobuf.Internal.EnumLiteMap<DeleteType>
            internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap<DeleteType>() {
                public DeleteType findValueByNumber(int number) {
                  return DeleteType.valueOf(number);
                }
              };
        
        public final com.google.protobuf.Descriptors.EnumValueDescriptor
            getValueDescriptor() {
          return getDescriptor().getValues().get(index);
        }
        public final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptorForType() {
          return getDescriptor();
        }
        public static final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.getDescriptor().getEnumTypes().get(1);
        }
        
        private static final DeleteType[] VALUES = {
          DELETE_ONE_VERSION, DELETE_MULTIPLE_VERSIONS, DELETE_FAMILY, 
        };
        
        public static DeleteType valueOf(
            com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
          if (desc.getType() != getDescriptor()) {
            throw new java.lang.IllegalArgumentException(
              "EnumValueDescriptor is not for this type.");
          }
          return VALUES[desc.getIndex()];
        }
        
        private final int index;
        private final int value;
        
        private DeleteType(int index, int value) {
          this.index = index;
          this.value = value;
        }
        
        // @@protoc_insertion_point(enum_scope:Mutate.DeleteType)
      }
      
      public interface ColumnValueOrBuilder
          extends com.google.protobuf.MessageOrBuilder {
        
        // required bytes family = 1;
        boolean hasFamily();
        com.google.protobuf.ByteString getFamily();
        
        // repeated .Mutate.ColumnValue.QualifierValue qualifierValue = 2;
        java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue> 
            getQualifierValueList();
        com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue getQualifierValue(int index);
        int getQualifierValueCount();
        java.util.List<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValueOrBuilder> 
            getQualifierValueOrBuilderList();
        com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValueOrBuilder getQualifierValueOrBuilder(
            int index);
      }
      public static final class ColumnValue extends
          com.google.protobuf.GeneratedMessage
          implements ColumnValueOrBuilder {
        // Use ColumnValue.newBuilder() to construct.
        private ColumnValue(Builder builder) {
          super(builder);
        }
        private ColumnValue(boolean noInit) {}
        
        private static final ColumnValue defaultInstance;
        public static ColumnValue getDefaultInstance() {
          return defaultInstance;
        }
        
        public ColumnValue getDefaultInstanceForType() {
          return defaultInstance;
        }
        
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_Mutate_ColumnValue_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_Mutate_ColumnValue_fieldAccessorTable;
        }
        
        public interface QualifierValueOrBuilder
            extends com.google.protobuf.MessageOrBuilder {
          
          // optional bytes qualifier = 1;
          boolean hasQualifier();
          com.google.protobuf.ByteString getQualifier();
          
          // optional bytes value = 2;
          boolean hasValue();
          com.google.protobuf.ByteString getValue();
          
          // optional uint64 timestamp = 3;
          boolean hasTimestamp();
          long getTimestamp();
          
          // optional .Mutate.DeleteType deleteType = 4;
          boolean hasDeleteType();
          com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.DeleteType getDeleteType();
        }
        public static final class QualifierValue extends
            com.google.protobuf.GeneratedMessage
            implements QualifierValueOrBuilder {
          // Use QualifierValue.newBuilder() to construct.
          private QualifierValue(Builder builder) {
            super(builder);
          }
          private QualifierValue(boolean noInit) {}
          
          private static final QualifierValue defaultInstance;
          public static QualifierValue getDefaultInstance() {
            return defaultInstance;
          }
          
          public QualifierValue getDefaultInstanceForType() {
            return defaultInstance;
          }
          
          public static final com.google.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_Mutate_ColumnValue_QualifierValue_descriptor;
          }
          
          protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_Mutate_ColumnValue_QualifierValue_fieldAccessorTable;
          }
          
          private int bitField0_;
          // optional bytes qualifier = 1;
          public static final int QUALIFIER_FIELD_NUMBER = 1;
          private com.google.protobuf.ByteString qualifier_;
          public boolean hasQualifier() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
          }
          public com.google.protobuf.ByteString getQualifier() {
            return qualifier_;
          }
          
          // optional bytes value = 2;
          public static final int VALUE_FIELD_NUMBER = 2;
          private com.google.protobuf.ByteString value_;
          public boolean hasValue() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
          }
          public com.google.protobuf.ByteString getValue() {
            return value_;
          }
          
          // optional uint64 timestamp = 3;
          public static final int TIMESTAMP_FIELD_NUMBER = 3;
          private long timestamp_;
          public boolean hasTimestamp() {
            return ((bitField0_ & 0x00000004) == 0x00000004);
          }
          public long getTimestamp() {
            return timestamp_;
          }
          
          // optional .Mutate.DeleteType deleteType = 4;
          public static final int DELETETYPE_FIELD_NUMBER = 4;
          private com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.DeleteType deleteType_;
          public boolean hasDeleteType() {
            return ((bitField0_ & 0x00000008) == 0x00000008);
          }
          public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.DeleteType getDeleteType() {
            return deleteType_;
          }
          
          private void initFields() {
            qualifier_ = com.google.protobuf.ByteString.EMPTY;
            value_ = com.google.protobuf.ByteString.EMPTY;
            timestamp_ = 0L;
            deleteType_ = com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.DeleteType.DELETE_ONE_VERSION;
          }
          private byte memoizedIsInitialized = -1;
          public final boolean isInitialized() {
            byte isInitialized = memoizedIsInitialized;
            if (isInitialized != -1) return isInitialized == 1;
            
            memoizedIsInitialized = 1;
            return true;
          }
          
          public void writeTo(com.google.protobuf.CodedOutputStream output)
                              throws java.io.IOException {
            getSerializedSize();
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
              output.writeBytes(1, qualifier_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
              output.writeBytes(2, value_);
            }
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              output.writeUInt64(3, timestamp_);
            }
            if (((bitField0_ & 0x00000008) == 0x00000008)) {
              output.writeEnum(4, deleteType_.getNumber());
            }
            getUnknownFields().writeTo(output);
          }
          
          private int memoizedSerializedSize = -1;
          public int getSerializedSize() {
            int size = memoizedSerializedSize;
            if (size != -1) return size;
          
            size = 0;
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(1, qualifier_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
              size += com.google.protobuf.CodedOutputStream
                .computeBytesSize(2, value_);
            }
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              size += com.google.protobuf.CodedOutputStream
                .computeUInt64Size(3, timestamp_);
            }
            if (((bitField0_ & 0x00000008) == 0x00000008)) {
              size += com.google.protobuf.CodedOutputStream
                .computeEnumSize(4, deleteType_.getNumber());
            }
            size += getUnknownFields().getSerializedSize();
            memoizedSerializedSize = size;
            return size;
          }
          
          private static final long serialVersionUID = 0L;
          @java.lang.Override
          protected java.lang.Object writeReplace()
              throws java.io.ObjectStreamException {
            return super.writeReplace();
          }
          
          @java.lang.Override
          public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
             return true;
            }
            if (!(obj instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue)) {
              return super.equals(obj);
            }
            com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue other = (com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue) obj;
            
            boolean result = true;
            result = result && (hasQualifier() == other.hasQualifier());
            if (hasQualifier()) {
              result = result && getQualifier()
                  .equals(other.getQualifier());
            }
            result = result && (hasValue() == other.hasValue());
            if (hasValue()) {
              result = result && getValue()
                  .equals(other.getValue());
            }
            result = result && (hasTimestamp() == other.hasTimestamp());
            if (hasTimestamp()) {
              result = result && (getTimestamp()
                  == other.getTimestamp());
            }
            result = result && (hasDeleteType() == other.hasDeleteType());
            if (hasDeleteType()) {
              result = result &&
                  (getDeleteType() == other.getDeleteType());
            }
            result = result &&
                getUnknownFields().equals(other.getUnknownFields());
            return result;
          }
          
          @java.lang.Override
          public int hashCode() {
            int hash = 41;
            hash = (19 * hash) + getDescriptorForType().hashCode();
            if (hasQualifier()) {
              hash = (37 * hash) + QUALIFIER_FIELD_NUMBER;
              hash = (53 * hash) + getQualifier().hashCode();
            }
            if (hasValue()) {
              hash = (37 * hash) + VALUE_FIELD_NUMBER;
              hash = (53 * hash) + getValue().hashCode();
            }
            if (hasTimestamp()) {
              hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
              hash = (53 * hash) + hashLong(getTimestamp());
            }
            if (hasDeleteType()) {
              hash = (37 * hash) + DELETETYPE_FIELD_NUMBER;
              hash = (53 * hash) + hashEnum(getDeleteType());
            }
            hash = (29 * hash) + getUnknownFields().hashCode();
            return hash;
          }
          
          public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue parseFrom(
              com.google.protobuf.ByteString data)
              throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
          }
          public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue parseFrom(
              com.google.protobuf.ByteString data,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry)
                     .buildParsed();
          }
          public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue parseFrom(byte[] data)
              throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data).buildParsed();
          }
          public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue parseFrom(
              byte[] data,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.protobuf.InvalidProtocolBufferException {
            return newBuilder().mergeFrom(data, extensionRegistry)
                     .buildParsed();
          }
          public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue parseFrom(java.io.InputStream input)
              throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
          }
          public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue parseFrom(
              java.io.InputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry)
                     .buildParsed();
          }
          public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue parseDelimitedFrom(java.io.InputStream input)
              throws java.io.IOException {
            Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input)) {
              return builder.buildParsed();
            } else {
              return null;
            }
          }
          public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue parseDelimitedFrom(
              java.io.InputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            Builder builder = newBuilder();
            if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
              return builder.buildParsed();
            } else {
              return null;
            }
          }
          public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue parseFrom(
              com.google.protobuf.CodedInputStream input)
              throws java.io.IOException {
            return newBuilder().mergeFrom(input).buildParsed();
          }
          public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue parseFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            return newBuilder().mergeFrom(input, extensionRegistry)
                     .buildParsed();
          }
          
          public static Builder newBuilder() { return Builder.create(); }
          public Builder newBuilderForType() { return newBuilder(); }
          public static Builder newBuilder(com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue prototype) {
            return newBuilder().mergeFrom(prototype);
          }
          public Builder toBuilder() { return newBuilder(this); }
          
          @java.lang.Override
          protected Builder newBuilderForType(
              com.google.protobuf.GeneratedMessage.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
          }
          public static final class Builder extends
              com.google.protobuf.GeneratedMessage.Builder<Builder>
             implements com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValueOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor
                getDescriptor() {
              return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_Mutate_ColumnValue_QualifierValue_descriptor;
            }
            
            protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
                internalGetFieldAccessorTable() {
              return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_Mutate_ColumnValue_QualifierValue_fieldAccessorTable;
            }
            
            // Construct using com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue.newBuilder()
            private Builder() {
              maybeForceBuilderInitialization();
            }
            
            private Builder(BuilderParent parent) {
              super(parent);
              maybeForceBuilderInitialization();
            }
            private void maybeForceBuilderInitialization() {
              if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
              }
            }
            private static Builder create() {
              return new Builder();
            }
            
            public Builder clear() {
              super.clear();
              qualifier_ = com.google.protobuf.ByteString.EMPTY;
              bitField0_ = (bitField0_ & ~0x00000001);
              value_ = com.google.protobuf.ByteString.EMPTY;
              bitField0_ = (bitField0_ & ~0x00000002);
              timestamp_ = 0L;
              bitField0_ = (bitField0_ & ~0x00000004);
              deleteType_ = com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.DeleteType.DELETE_ONE_VERSION;
              bitField0_ = (bitField0_ & ~0x00000008);
              return this;
            }
            
            public Builder clone() {
              return create().mergeFrom(buildPartial());
            }
            
            public com.google.protobuf.Descriptors.Descriptor
                getDescriptorForType() {
              return com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue.getDescriptor();
            }
            
            public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue getDefaultInstanceForType() {
              return com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue.getDefaultInstance();
            }
            
            public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue build() {
              com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue result = buildPartial();
              if (!result.isInitialized()) {
                throw newUninitializedMessageException(result);
              }
              return result;
            }
            
            private com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue buildParsed()
                throws com.google.protobuf.InvalidProtocolBufferException {
              com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue result = buildPartial();
              if (!result.isInitialized()) {
                throw newUninitializedMessageException(
                  result).asInvalidProtocolBufferException();
              }
              return result;
            }
            
            public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue buildPartial() {
              com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue result = new com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue(this);
              int from_bitField0_ = bitField0_;
              int to_bitField0_ = 0;
              if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                to_bitField0_ |= 0x00000001;
              }
              result.qualifier_ = qualifier_;
              if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                to_bitField0_ |= 0x00000002;
              }
              result.value_ = value_;
              if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
                to_bitField0_ |= 0x00000004;
              }
              result.timestamp_ = timestamp_;
              if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
                to_bitField0_ |= 0x00000008;
              }
              result.deleteType_ = deleteType_;
              result.bitField0_ = to_bitField0_;
              onBuilt();
              return result;
            }
            
            public Builder mergeFrom(com.google.protobuf.Message other) {
              if (other instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue) {
                return mergeFrom((com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue)other);
              } else {
                super.mergeFrom(other);
                return this;
              }
            }
            
            public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue other) {
              if (other == com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue.getDefaultInstance()) return this;
              if (other.hasQualifier()) {
                setQualifier(other.getQualifier());
              }
              if (other.hasValue()) {
                setValue(other.getValue());
              }
              if (other.hasTimestamp()) {
                setTimestamp(other.getTimestamp());
              }
              if (other.hasDeleteType()) {
                setDeleteType(other.getDeleteType());
              }
              this.mergeUnknownFields(other.getUnknownFields());
              return this;
            }
            
            public final boolean isInitialized() {
              return true;
            }
            
            public Builder mergeFrom(
                com.google.protobuf.CodedInputStream input,
                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                throws java.io.IOException {
              com.google.protobuf.UnknownFieldSet.Builder unknownFields =
                com.google.protobuf.UnknownFieldSet.newBuilder(
                  this.getUnknownFields());
              while (true) {
                int tag = input.readTag();
                switch (tag) {
                  case 0:
                    this.setUnknownFields(unknownFields.build());
                    onChanged();
                    return this;
                  default: {
                    if (!parseUnknownField(input, unknownFields,
                                           extensionRegistry, tag)) {
                      this.setUnknownFields(unknownFields.build());
                      onChanged();
                      return this;
                    }
                    break;
                  }
                  case 10: {
                    bitField0_ |= 0x00000001;
                    qualifier_ = input.readBytes();
                    break;
                  }
                  case 18: {
                    bitField0_ |= 0x00000002;
                    value_ = input.readBytes();
                    break;
                  }
                  case 24: {
                    bitField0_ |= 0x00000004;
                    timestamp_ = input.readUInt64();
                    break;
                  }
                  case 32: {
                    int rawValue = input.readEnum();
                    com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.DeleteType value = com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.DeleteType.valueOf(rawValue);
                    if (value == null) {
                      unknownFields.mergeVarintField(4, rawValue);
                    } else {
                      bitField0_ |= 0x00000008;
                      deleteType_ = value;
                    }
                    break;
                  }
                }
              }
            }
            
            private int bitField0_;
            
            // optional bytes qualifier = 1;
            private com.google.protobuf.ByteString qualifier_ = com.google.protobuf.ByteString.EMPTY;
            public boolean hasQualifier() {
              return ((bitField0_ & 0x00000001) == 0x00000001);
            }
            public com.google.protobuf.ByteString getQualifier() {
              return qualifier_;
            }
            public Builder setQualifier(com.google.protobuf.ByteString value) {
              if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000001;
              qualifier_ = value;
              onChanged();
              return this;
            }
            public Builder clearQualifier() {
              bitField0_ = (bitField0_ & ~0x00000001);
              qualifier_ = getDefaultInstance().getQualifier();
              onChanged();
              return this;
            }
            
            // optional bytes value = 2;
            private com.google.protobuf.ByteString value_ = com.google.protobuf.ByteString.EMPTY;
            public boolean hasValue() {
              return ((bitField0_ & 0x00000002) == 0x00000002);
            }
            public com.google.protobuf.ByteString getValue() {
              return value_;
            }
            public Builder setValue(com.google.protobuf.ByteString value) {
              if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000002;
              value_ = value;
              onChanged();
              return this;
            }
            public Builder clearValue() {
              bitField0_ = (bitField0_ & ~0x00000002);
              value_ = getDefaultInstance().getValue();
              onChanged();
              return this;
            }
            
            // optional uint64 timestamp = 3;
            private long timestamp_ ;
            public boolean hasTimestamp() {
              return ((bitField0_ & 0x00000004) == 0x00000004);
            }
            public long getTimestamp() {
              return timestamp_;
            }
            public Builder setTimestamp(long value) {
              bitField0_ |= 0x00000004;
              timestamp_ = value;
              onChanged();
              return this;
            }
            public Builder clearTimestamp() {
              bitField0_ = (bitField0_ & ~0x00000004);
              timestamp_ = 0L;
              onChanged();
              return this;
            }
            
            // optional .Mutate.DeleteType deleteType = 4;
            private com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.DeleteType deleteType_ = com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.DeleteType.DELETE_ONE_VERSION;
            public boolean hasDeleteType() {
              return ((bitField0_ & 0x00000008) == 0x00000008);
            }
            public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.DeleteType getDeleteType() {
              return deleteType_;
            }
            public Builder setDeleteType(com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.DeleteType value) {
              if (value == null) {
                throw new NullPointerException();
              }
              bitField0_ |= 0x00000008;
              deleteType_ = value;
              onChanged();
              return this;
            }
            public Builder clearDeleteType() {
              bitField0_ = (bitField0_ & ~0x00000008);
              deleteType_ = com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.DeleteType.DELETE_ONE_VERSION;
              onChanged();
              return this;
            }
            
            // @@protoc_insertion_point(builder_scope:Mutate.ColumnValue.QualifierValue)
          }
          
          static {
            defaultInstance = new QualifierValue(true);
            defaultInstance.initFields();
          }
          
          // @@protoc_insertion_point(class_scope:Mutate.ColumnValue.QualifierValue)
        }
        
        private int bitField0_;
        // required bytes family = 1;
        public static final int FAMILY_FIELD_NUMBER = 1;
        private com.google.protobuf.ByteString family_;
        public boolean hasFamily() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public com.google.protobuf.ByteString getFamily() {
          return family_;
        }
        
        // repeated .Mutate.ColumnValue.QualifierValue qualifierValue = 2;
        public static final int QUALIFIERVALUE_FIELD_NUMBER = 2;
        private java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue> qualifierValue_;
        public java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue> getQualifierValueList() {
          return qualifierValue_;
        }
        public java.util.List<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValueOrBuilder> 
            getQualifierValueOrBuilderList() {
          return qualifierValue_;
        }
        public int getQualifierValueCount() {
          return qualifierValue_.size();
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue getQualifierValue(int index) {
          return qualifierValue_.get(index);
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValueOrBuilder getQualifierValueOrBuilder(
            int index) {
          return qualifierValue_.get(index);
        }
        
        private void initFields() {
          family_ = com.google.protobuf.ByteString.EMPTY;
          qualifierValue_ = java.util.Collections.emptyList();
        }
        private byte memoizedIsInitialized = -1;
        public final boolean isInitialized() {
          byte isInitialized = memoizedIsInitialized;
          if (isInitialized != -1) return isInitialized == 1;
          
          if (!hasFamily()) {
            memoizedIsInitialized = 0;
            return false;
          }
          memoizedIsInitialized = 1;
          return true;
        }
        
        public void writeTo(com.google.protobuf.CodedOutputStream output)
                            throws java.io.IOException {
          getSerializedSize();
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            output.writeBytes(1, family_);
          }
          for (int i = 0; i < qualifierValue_.size(); i++) {
            output.writeMessage(2, qualifierValue_.get(i));
          }
          getUnknownFields().writeTo(output);
        }
        
        private int memoizedSerializedSize = -1;
        public int getSerializedSize() {
          int size = memoizedSerializedSize;
          if (size != -1) return size;
        
          size = 0;
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            size += com.google.protobuf.CodedOutputStream
              .computeBytesSize(1, family_);
          }
          for (int i = 0; i < qualifierValue_.size(); i++) {
            size += com.google.protobuf.CodedOutputStream
              .computeMessageSize(2, qualifierValue_.get(i));
          }
          size += getUnknownFields().getSerializedSize();
          memoizedSerializedSize = size;
          return size;
        }
        
        private static final long serialVersionUID = 0L;
        @java.lang.Override
        protected java.lang.Object writeReplace()
            throws java.io.ObjectStreamException {
          return super.writeReplace();
        }
        
        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
          if (obj == this) {
           return true;
          }
          if (!(obj instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue)) {
            return super.equals(obj);
          }
          com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue other = (com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue) obj;
          
          boolean result = true;
          result = result && (hasFamily() == other.hasFamily());
          if (hasFamily()) {
            result = result && getFamily()
                .equals(other.getFamily());
          }
          result = result && getQualifierValueList()
              .equals(other.getQualifierValueList());
          result = result &&
              getUnknownFields().equals(other.getUnknownFields());
          return result;
        }
        
        @java.lang.Override
        public int hashCode() {
          int hash = 41;
          hash = (19 * hash) + getDescriptorForType().hashCode();
          if (hasFamily()) {
            hash = (37 * hash) + FAMILY_FIELD_NUMBER;
            hash = (53 * hash) + getFamily().hashCode();
          }
          if (getQualifierValueCount() > 0) {
            hash = (37 * hash) + QUALIFIERVALUE_FIELD_NUMBER;
            hash = (53 * hash) + getQualifierValueList().hashCode();
          }
          hash = (29 * hash) + getUnknownFields().hashCode();
          return hash;
        }
        
        public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue parseFrom(
            com.google.protobuf.ByteString data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return newBuilder().mergeFrom(data).buildParsed();
        }
        public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue parseFrom(
            com.google.protobuf.ByteString data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return newBuilder().mergeFrom(data, extensionRegistry)
                   .buildParsed();
        }
        public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue parseFrom(byte[] data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return newBuilder().mergeFrom(data).buildParsed();
        }
        public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue parseFrom(
            byte[] data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return newBuilder().mergeFrom(data, extensionRegistry)
                   .buildParsed();
        }
        public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return newBuilder().mergeFrom(input).buildParsed();
        }
        public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue parseFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return newBuilder().mergeFrom(input, extensionRegistry)
                   .buildParsed();
        }
        public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          Builder builder = newBuilder();
          if (builder.mergeDelimitedFrom(input)) {
            return builder.buildParsed();
          } else {
            return null;
          }
        }
        public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue parseDelimitedFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          Builder builder = newBuilder();
          if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
            return builder.buildParsed();
          } else {
            return null;
          }
        }
        public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue parseFrom(
            com.google.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return newBuilder().mergeFrom(input).buildParsed();
        }
        public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue parseFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return newBuilder().mergeFrom(input, extensionRegistry)
                   .buildParsed();
        }
        
        public static Builder newBuilder() { return Builder.create(); }
        public Builder newBuilderForType() { return newBuilder(); }
        public static Builder newBuilder(com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue prototype) {
          return newBuilder().mergeFrom(prototype);
        }
        public Builder toBuilder() { return newBuilder(this); }
        
        @java.lang.Override
        protected Builder newBuilderForType(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          Builder builder = new Builder(parent);
          return builder;
        }
        public static final class Builder extends
            com.google.protobuf.GeneratedMessage.Builder<Builder>
           implements com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValueOrBuilder {
          public static final com.google.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_Mutate_ColumnValue_descriptor;
          }
          
          protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_Mutate_ColumnValue_fieldAccessorTable;
          }
          
          // Construct using com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.newBuilder()
          private Builder() {
            maybeForceBuilderInitialization();
          }
          
          private Builder(BuilderParent parent) {
            super(parent);
            maybeForceBuilderInitialization();
          }
          private void maybeForceBuilderInitialization() {
            if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
              getQualifierValueFieldBuilder();
            }
          }
          private static Builder create() {
            return new Builder();
          }
          
          public Builder clear() {
            super.clear();
            family_ = com.google.protobuf.ByteString.EMPTY;
            bitField0_ = (bitField0_ & ~0x00000001);
            if (qualifierValueBuilder_ == null) {
              qualifierValue_ = java.util.Collections.emptyList();
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              qualifierValueBuilder_.clear();
            }
            return this;
          }
          
          public Builder clone() {
            return create().mergeFrom(buildPartial());
          }
          
          public com.google.protobuf.Descriptors.Descriptor
              getDescriptorForType() {
            return com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.getDescriptor();
          }
          
          public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue getDefaultInstanceForType() {
            return com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.getDefaultInstance();
          }
          
          public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue build() {
            com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }
          
          private com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue buildParsed()
              throws com.google.protobuf.InvalidProtocolBufferException {
            com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(
                result).asInvalidProtocolBufferException();
            }
            return result;
          }
          
          public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue buildPartial() {
            com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue result = new com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue(this);
            int from_bitField0_ = bitField0_;
            int to_bitField0_ = 0;
            if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
              to_bitField0_ |= 0x00000001;
            }
            result.family_ = family_;
            if (qualifierValueBuilder_ == null) {
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                qualifierValue_ = java.util.Collections.unmodifiableList(qualifierValue_);
                bitField0_ = (bitField0_ & ~0x00000002);
              }
              result.qualifierValue_ = qualifierValue_;
            } else {
              result.qualifierValue_ = qualifierValueBuilder_.build();
            }
            result.bitField0_ = to_bitField0_;
            onBuilt();
            return result;
          }
          
          public Builder mergeFrom(com.google.protobuf.Message other) {
            if (other instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue) {
              return mergeFrom((com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }
          
          public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue other) {
            if (other == com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.getDefaultInstance()) return this;
            if (other.hasFamily()) {
              setFamily(other.getFamily());
            }
            if (qualifierValueBuilder_ == null) {
              if (!other.qualifierValue_.isEmpty()) {
                if (qualifierValue_.isEmpty()) {
                  qualifierValue_ = other.qualifierValue_;
                  bitField0_ = (bitField0_ & ~0x00000002);
                } else {
                  ensureQualifierValueIsMutable();
                  qualifierValue_.addAll(other.qualifierValue_);
                }
                onChanged();
              }
            } else {
              if (!other.qualifierValue_.isEmpty()) {
                if (qualifierValueBuilder_.isEmpty()) {
                  qualifierValueBuilder_.dispose();
                  qualifierValueBuilder_ = null;
                  qualifierValue_ = other.qualifierValue_;
                  bitField0_ = (bitField0_ & ~0x00000002);
                  qualifierValueBuilder_ = 
                    com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                       getQualifierValueFieldBuilder() : null;
                } else {
                  qualifierValueBuilder_.addAllMessages(other.qualifierValue_);
                }
              }
            }
            this.mergeUnknownFields(other.getUnknownFields());
            return this;
          }
          
          public final boolean isInitialized() {
            if (!hasFamily()) {
              
              return false;
            }
            return true;
          }
          
          public Builder mergeFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            com.google.protobuf.UnknownFieldSet.Builder unknownFields =
              com.google.protobuf.UnknownFieldSet.newBuilder(
                this.getUnknownFields());
            while (true) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  this.setUnknownFields(unknownFields.build());
                  onChanged();
                  return this;
                default: {
                  if (!parseUnknownField(input, unknownFields,
                                         extensionRegistry, tag)) {
                    this.setUnknownFields(unknownFields.build());
                    onChanged();
                    return this;
                  }
                  break;
                }
                case 10: {
                  bitField0_ |= 0x00000001;
                  family_ = input.readBytes();
                  break;
                }
                case 18: {
                  com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue.Builder subBuilder = com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue.newBuilder();
                  input.readMessage(subBuilder, extensionRegistry);
                  addQualifierValue(subBuilder.buildPartial());
                  break;
                }
              }
            }
          }
          
          private int bitField0_;
          
          // required bytes family = 1;
          private com.google.protobuf.ByteString family_ = com.google.protobuf.ByteString.EMPTY;
          public boolean hasFamily() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
          }
          public com.google.protobuf.ByteString getFamily() {
            return family_;
          }
          public Builder setFamily(com.google.protobuf.ByteString value) {
            if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000001;
            family_ = value;
            onChanged();
            return this;
          }
          public Builder clearFamily() {
            bitField0_ = (bitField0_ & ~0x00000001);
            family_ = getDefaultInstance().getFamily();
            onChanged();
            return this;
          }
          
          // repeated .Mutate.ColumnValue.QualifierValue qualifierValue = 2;
          private java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue> qualifierValue_ =
            java.util.Collections.emptyList();
          private void ensureQualifierValueIsMutable() {
            if (!((bitField0_ & 0x00000002) == 0x00000002)) {
              qualifierValue_ = new java.util.ArrayList<com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue>(qualifierValue_);
              bitField0_ |= 0x00000002;
             }
          }
          
          private com.google.protobuf.RepeatedFieldBuilder<
              com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue, com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValueOrBuilder> qualifierValueBuilder_;
          
          public java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue> getQualifierValueList() {
            if (qualifierValueBuilder_ == null) {
              return java.util.Collections.unmodifiableList(qualifierValue_);
            } else {
              return qualifierValueBuilder_.getMessageList();
            }
          }
          public int getQualifierValueCount() {
            if (qualifierValueBuilder_ == null) {
              return qualifierValue_.size();
            } else {
              return qualifierValueBuilder_.getCount();
            }
          }
          public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue getQualifierValue(int index) {
            if (qualifierValueBuilder_ == null) {
              return qualifierValue_.get(index);
            } else {
              return qualifierValueBuilder_.getMessage(index);
            }
          }
          public Builder setQualifierValue(
              int index, com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue value) {
            if (qualifierValueBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              ensureQualifierValueIsMutable();
              qualifierValue_.set(index, value);
              onChanged();
            } else {
              qualifierValueBuilder_.setMessage(index, value);
            }
            return this;
          }
          public Builder setQualifierValue(
              int index, com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue.Builder builderForValue) {
            if (qualifierValueBuilder_ == null) {
              ensureQualifierValueIsMutable();
              qualifierValue_.set(index, builderForValue.build());
              onChanged();
            } else {
              qualifierValueBuilder_.setMessage(index, builderForValue.build());
            }
            return this;
          }
          public Builder addQualifierValue(com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue value) {
            if (qualifierValueBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              ensureQualifierValueIsMutable();
              qualifierValue_.add(value);
              onChanged();
            } else {
              qualifierValueBuilder_.addMessage(value);
            }
            return this;
          }
          public Builder addQualifierValue(
              int index, com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue value) {
            if (qualifierValueBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              ensureQualifierValueIsMutable();
              qualifierValue_.add(index, value);
              onChanged();
            } else {
              qualifierValueBuilder_.addMessage(index, value);
            }
            return this;
          }
          public Builder addQualifierValue(
              com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue.Builder builderForValue) {
            if (qualifierValueBuilder_ == null) {
              ensureQualifierValueIsMutable();
              qualifierValue_.add(builderForValue.build());
              onChanged();
            } else {
              qualifierValueBuilder_.addMessage(builderForValue.build());
            }
            return this;
          }
          public Builder addQualifierValue(
              int index, com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue.Builder builderForValue) {
            if (qualifierValueBuilder_ == null) {
              ensureQualifierValueIsMutable();
              qualifierValue_.add(index, builderForValue.build());
              onChanged();
            } else {
              qualifierValueBuilder_.addMessage(index, builderForValue.build());
            }
            return this;
          }
          public Builder addAllQualifierValue(
              java.lang.Iterable<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue> values) {
            if (qualifierValueBuilder_ == null) {
              ensureQualifierValueIsMutable();
              super.addAll(values, qualifierValue_);
              onChanged();
            } else {
              qualifierValueBuilder_.addAllMessages(values);
            }
            return this;
          }
          public Builder clearQualifierValue() {
            if (qualifierValueBuilder_ == null) {
              qualifierValue_ = java.util.Collections.emptyList();
              bitField0_ = (bitField0_ & ~0x00000002);
              onChanged();
            } else {
              qualifierValueBuilder_.clear();
            }
            return this;
          }
          public Builder removeQualifierValue(int index) {
            if (qualifierValueBuilder_ == null) {
              ensureQualifierValueIsMutable();
              qualifierValue_.remove(index);
              onChanged();
            } else {
              qualifierValueBuilder_.remove(index);
            }
            return this;
          }
          public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue.Builder getQualifierValueBuilder(
              int index) {
            return getQualifierValueFieldBuilder().getBuilder(index);
          }
          public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValueOrBuilder getQualifierValueOrBuilder(
              int index) {
            if (qualifierValueBuilder_ == null) {
              return qualifierValue_.get(index);  } else {
              return qualifierValueBuilder_.getMessageOrBuilder(index);
            }
          }
          public java.util.List<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValueOrBuilder> 
               getQualifierValueOrBuilderList() {
            if (qualifierValueBuilder_ != null) {
              return qualifierValueBuilder_.getMessageOrBuilderList();
            } else {
              return java.util.Collections.unmodifiableList(qualifierValue_);
            }
          }
          public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue.Builder addQualifierValueBuilder() {
            return getQualifierValueFieldBuilder().addBuilder(
                com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue.getDefaultInstance());
          }
          public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue.Builder addQualifierValueBuilder(
              int index) {
            return getQualifierValueFieldBuilder().addBuilder(
                index, com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue.getDefaultInstance());
          }
          public java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue.Builder> 
               getQualifierValueBuilderList() {
            return getQualifierValueFieldBuilder().getBuilderList();
          }
          private com.google.protobuf.RepeatedFieldBuilder<
              com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue, com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValueOrBuilder> 
              getQualifierValueFieldBuilder() {
            if (qualifierValueBuilder_ == null) {
              qualifierValueBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                  com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue, com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValueOrBuilder>(
                      qualifierValue_,
                      ((bitField0_ & 0x00000002) == 0x00000002),
                      getParentForChildren(),
                      isClean());
              qualifierValue_ = null;
            }
            return qualifierValueBuilder_;
          }
          
          // @@protoc_insertion_point(builder_scope:Mutate.ColumnValue)
        }
        
        static {
          defaultInstance = new ColumnValue(true);
          defaultInstance.initFields();
        }
        
        // @@protoc_insertion_point(class_scope:Mutate.ColumnValue)
      }
      
      private int bitField0_;
      // required bytes row = 1;
      public static final int ROW_FIELD_NUMBER = 1;
      private com.google.protobuf.ByteString row_;
      public boolean hasRow() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.google.protobuf.ByteString getRow() {
        return row_;
      }
      
      // required .Mutate.MutateType mutateType = 2;
      public static final int MUTATETYPE_FIELD_NUMBER = 2;
      private com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.MutateType mutateType_;
      public boolean hasMutateType() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.MutateType getMutateType() {
        return mutateType_;
      }
      
      // repeated .Mutate.ColumnValue columnValue = 3;
      public static final int COLUMNVALUE_FIELD_NUMBER = 3;
      private java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue> columnValue_;
      public java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue> getColumnValueList() {
        return columnValue_;
      }
      public java.util.List<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValueOrBuilder> 
          getColumnValueOrBuilderList() {
        return columnValue_;
      }
      public int getColumnValueCount() {
        return columnValue_.size();
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue getColumnValue(int index) {
        return columnValue_.get(index);
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValueOrBuilder getColumnValueOrBuilder(
          int index) {
        return columnValue_.get(index);
      }
      
      // repeated .StringBytesPair attribute = 4;
      public static final int ATTRIBUTE_FIELD_NUMBER = 4;
      private java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair> attribute_;
      public java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair> getAttributeList() {
        return attribute_;
      }
      public java.util.List<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPairOrBuilder> 
          getAttributeOrBuilderList() {
        return attribute_;
      }
      public int getAttributeCount() {
        return attribute_.size();
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair getAttribute(int index) {
        return attribute_.get(index);
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPairOrBuilder getAttributeOrBuilder(
          int index) {
        return attribute_.get(index);
      }
      
      // optional uint64 timestamp = 5;
      public static final int TIMESTAMP_FIELD_NUMBER = 5;
      private long timestamp_;
      public boolean hasTimestamp() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      public long getTimestamp() {
        return timestamp_;
      }
      
      // optional uint64 lockId = 6;
      public static final int LOCKID_FIELD_NUMBER = 6;
      private long lockId_;
      public boolean hasLockId() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      public long getLockId() {
        return lockId_;
      }
      
      // optional bool writeToWAL = 7 [default = true];
      public static final int WRITETOWAL_FIELD_NUMBER = 7;
      private boolean writeToWAL_;
      public boolean hasWriteToWAL() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      public boolean getWriteToWAL() {
        return writeToWAL_;
      }
      
      // required string tableName = 8;
      public static final int TABLENAME_FIELD_NUMBER = 8;
      private java.lang.Object tableName_;
      public boolean hasTableName() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      public String getTableName() {
        java.lang.Object ref = tableName_;
        if (ref instanceof String) {
          return (String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          if (com.google.protobuf.Internal.isValidUtf8(bs)) {
            tableName_ = s;
          }
          return s;
        }
      }
      private com.google.protobuf.ByteString getTableNameBytes() {
        java.lang.Object ref = tableName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
          tableName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      
      // optional .TimeRange timeRange = 10;
      public static final int TIMERANGE_FIELD_NUMBER = 10;
      private com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange timeRange_;
      public boolean hasTimeRange() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange getTimeRange() {
        return timeRange_;
      }
      public com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRangeOrBuilder getTimeRangeOrBuilder() {
        return timeRange_;
      }
      
      private void initFields() {
        row_ = com.google.protobuf.ByteString.EMPTY;
        mutateType_ = com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.MutateType.PUT;
        columnValue_ = java.util.Collections.emptyList();
        attribute_ = java.util.Collections.emptyList();
        timestamp_ = 0L;
        lockId_ = 0L;
        writeToWAL_ = true;
        tableName_ = "";
        timeRange_ = com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange.getDefaultInstance();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (!hasRow()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasMutateType()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasTableName()) {
          memoizedIsInitialized = 0;
          return false;
        }
        for (int i = 0; i < getColumnValueCount(); i++) {
          if (!getColumnValue(i).isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        for (int i = 0; i < getAttributeCount(); i++) {
          if (!getAttribute(i).isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }
      
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, row_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeEnum(2, mutateType_.getNumber());
        }
        for (int i = 0; i < columnValue_.size(); i++) {
          output.writeMessage(3, columnValue_.get(i));
        }
        for (int i = 0; i < attribute_.size(); i++) {
          output.writeMessage(4, attribute_.get(i));
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeUInt64(5, timestamp_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeUInt64(6, lockId_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          output.writeBool(7, writeToWAL_);
        }
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          output.writeBytes(8, getTableNameBytes());
        }
        if (((bitField0_ & 0x00000040) == 0x00000040)) {
          output.writeMessage(10, timeRange_);
        }
        getUnknownFields().writeTo(output);
      }
      
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
      
        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(1, row_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeEnumSize(2, mutateType_.getNumber());
        }
        for (int i = 0; i < columnValue_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, columnValue_.get(i));
        }
        for (int i = 0; i < attribute_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(4, attribute_.get(i));
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt64Size(5, timestamp_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt64Size(6, lockId_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(7, writeToWAL_);
        }
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(8, getTableNameBytes());
        }
        if (((bitField0_ & 0x00000040) == 0x00000040)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(10, timeRange_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate)) {
          return super.equals(obj);
        }
        com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate other = (com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate) obj;
        
        boolean result = true;
        result = result && (hasRow() == other.hasRow());
        if (hasRow()) {
          result = result && getRow()
              .equals(other.getRow());
        }
        result = result && (hasMutateType() == other.hasMutateType());
        if (hasMutateType()) {
          result = result &&
              (getMutateType() == other.getMutateType());
        }
        result = result && getColumnValueList()
            .equals(other.getColumnValueList());
        result = result && getAttributeList()
            .equals(other.getAttributeList());
        result = result && (hasTimestamp() == other.hasTimestamp());
        if (hasTimestamp()) {
          result = result && (getTimestamp()
              == other.getTimestamp());
        }
        result = result && (hasLockId() == other.hasLockId());
        if (hasLockId()) {
          result = result && (getLockId()
              == other.getLockId());
        }
        result = result && (hasWriteToWAL() == other.hasWriteToWAL());
        if (hasWriteToWAL()) {
          result = result && (getWriteToWAL()
              == other.getWriteToWAL());
        }
        result = result && (hasTableName() == other.hasTableName());
        if (hasTableName()) {
          result = result && getTableName()
              .equals(other.getTableName());
        }
        result = result && (hasTimeRange() == other.hasTimeRange());
        if (hasTimeRange()) {
          result = result && getTimeRange()
              .equals(other.getTimeRange());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }
      
      @java.lang.Override
      public int hashCode() {
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasRow()) {
          hash = (37 * hash) + ROW_FIELD_NUMBER;
          hash = (53 * hash) + getRow().hashCode();
        }
        if (hasMutateType()) {
          hash = (37 * hash) + MUTATETYPE_FIELD_NUMBER;
          hash = (53 * hash) + hashEnum(getMutateType());
        }
        if (getColumnValueCount() > 0) {
          hash = (37 * hash) + COLUMNVALUE_FIELD_NUMBER;
          hash = (53 * hash) + getColumnValueList().hashCode();
        }
        if (getAttributeCount() > 0) {
          hash = (37 * hash) + ATTRIBUTE_FIELD_NUMBER;
          hash = (53 * hash) + getAttributeList().hashCode();
        }
        if (hasTimestamp()) {
          hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(getTimestamp());
        }
        if (hasLockId()) {
          hash = (37 * hash) + LOCKID_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(getLockId());
        }
        if (hasWriteToWAL()) {
          hash = (37 * hash) + WRITETOWAL_FIELD_NUMBER;
          hash = (53 * hash) + hashBoolean(getWriteToWAL());
        }
        if (hasTableName()) {
          hash = (37 * hash) + TABLENAME_FIELD_NUMBER;
          hash = (53 * hash) + getTableName().hashCode();
        }
        if (hasTimeRange()) {
          hash = (37 * hash) + TIMERANGE_FIELD_NUMBER;
          hash = (53 * hash) + getTimeRange().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        return hash;
      }
      
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements com.alibaba.wasp.protobuf.generated.WaspProtos.MutateOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_Mutate_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.internal_static_Mutate_fieldAccessorTable;
        }
        
        // Construct using com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getColumnValueFieldBuilder();
            getAttributeFieldBuilder();
            getTimeRangeFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          row_ = com.google.protobuf.ByteString.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000001);
          mutateType_ = com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.MutateType.PUT;
          bitField0_ = (bitField0_ & ~0x00000002);
          if (columnValueBuilder_ == null) {
            columnValue_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            columnValueBuilder_.clear();
          }
          if (attributeBuilder_ == null) {
            attribute_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            attributeBuilder_.clear();
          }
          timestamp_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000010);
          lockId_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000020);
          writeToWAL_ = true;
          bitField0_ = (bitField0_ & ~0x00000040);
          tableName_ = "";
          bitField0_ = (bitField0_ & ~0x00000080);
          if (timeRangeBuilder_ == null) {
            timeRange_ = com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange.getDefaultInstance();
          } else {
            timeRangeBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000100);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.getDescriptor();
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate getDefaultInstanceForType() {
          return com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.getDefaultInstance();
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate build() {
          com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate buildPartial() {
          com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate result = new com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.row_ = row_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.mutateType_ = mutateType_;
          if (columnValueBuilder_ == null) {
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              columnValue_ = java.util.Collections.unmodifiableList(columnValue_);
              bitField0_ = (bitField0_ & ~0x00000004);
            }
            result.columnValue_ = columnValue_;
          } else {
            result.columnValue_ = columnValueBuilder_.build();
          }
          if (attributeBuilder_ == null) {
            if (((bitField0_ & 0x00000008) == 0x00000008)) {
              attribute_ = java.util.Collections.unmodifiableList(attribute_);
              bitField0_ = (bitField0_ & ~0x00000008);
            }
            result.attribute_ = attribute_;
          } else {
            result.attribute_ = attributeBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
            to_bitField0_ |= 0x00000004;
          }
          result.timestamp_ = timestamp_;
          if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
            to_bitField0_ |= 0x00000008;
          }
          result.lockId_ = lockId_;
          if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
            to_bitField0_ |= 0x00000010;
          }
          result.writeToWAL_ = writeToWAL_;
          if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
            to_bitField0_ |= 0x00000020;
          }
          result.tableName_ = tableName_;
          if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
            to_bitField0_ |= 0x00000040;
          }
          if (timeRangeBuilder_ == null) {
            result.timeRange_ = timeRange_;
          } else {
            result.timeRange_ = timeRangeBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate) {
            return mergeFrom((com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate other) {
          if (other == com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.getDefaultInstance()) return this;
          if (other.hasRow()) {
            setRow(other.getRow());
          }
          if (other.hasMutateType()) {
            setMutateType(other.getMutateType());
          }
          if (columnValueBuilder_ == null) {
            if (!other.columnValue_.isEmpty()) {
              if (columnValue_.isEmpty()) {
                columnValue_ = other.columnValue_;
                bitField0_ = (bitField0_ & ~0x00000004);
              } else {
                ensureColumnValueIsMutable();
                columnValue_.addAll(other.columnValue_);
              }
              onChanged();
            }
          } else {
            if (!other.columnValue_.isEmpty()) {
              if (columnValueBuilder_.isEmpty()) {
                columnValueBuilder_.dispose();
                columnValueBuilder_ = null;
                columnValue_ = other.columnValue_;
                bitField0_ = (bitField0_ & ~0x00000004);
                columnValueBuilder_ = 
                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                     getColumnValueFieldBuilder() : null;
              } else {
                columnValueBuilder_.addAllMessages(other.columnValue_);
              }
            }
          }
          if (attributeBuilder_ == null) {
            if (!other.attribute_.isEmpty()) {
              if (attribute_.isEmpty()) {
                attribute_ = other.attribute_;
                bitField0_ = (bitField0_ & ~0x00000008);
              } else {
                ensureAttributeIsMutable();
                attribute_.addAll(other.attribute_);
              }
              onChanged();
            }
          } else {
            if (!other.attribute_.isEmpty()) {
              if (attributeBuilder_.isEmpty()) {
                attributeBuilder_.dispose();
                attributeBuilder_ = null;
                attribute_ = other.attribute_;
                bitField0_ = (bitField0_ & ~0x00000008);
                attributeBuilder_ = 
                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                     getAttributeFieldBuilder() : null;
              } else {
                attributeBuilder_.addAllMessages(other.attribute_);
              }
            }
          }
          if (other.hasTimestamp()) {
            setTimestamp(other.getTimestamp());
          }
          if (other.hasLockId()) {
            setLockId(other.getLockId());
          }
          if (other.hasWriteToWAL()) {
            setWriteToWAL(other.getWriteToWAL());
          }
          if (other.hasTableName()) {
            setTableName(other.getTableName());
          }
          if (other.hasTimeRange()) {
            mergeTimeRange(other.getTimeRange());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (!hasRow()) {
            
            return false;
          }
          if (!hasMutateType()) {
            
            return false;
          }
          if (!hasTableName()) {
            
            return false;
          }
          for (int i = 0; i < getColumnValueCount(); i++) {
            if (!getColumnValue(i).isInitialized()) {
              
              return false;
            }
          }
          for (int i = 0; i < getAttributeCount(); i++) {
            if (!getAttribute(i).isInitialized()) {
              
              return false;
            }
          }
          return true;
        }
        
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder(
              this.getUnknownFields());
          while (true) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  this.setUnknownFields(unknownFields.build());
                  onChanged();
                  return this;
                }
                break;
              }
              case 10: {
                bitField0_ |= 0x00000001;
                row_ = input.readBytes();
                break;
              }
              case 16: {
                int rawValue = input.readEnum();
                com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.MutateType value = com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.MutateType.valueOf(rawValue);
                if (value == null) {
                  unknownFields.mergeVarintField(2, rawValue);
                } else {
                  bitField0_ |= 0x00000002;
                  mutateType_ = value;
                }
                break;
              }
              case 26: {
                com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.Builder subBuilder = com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.newBuilder();
                input.readMessage(subBuilder, extensionRegistry);
                addColumnValue(subBuilder.buildPartial());
                break;
              }
              case 34: {
                com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.Builder subBuilder = com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.newBuilder();
                input.readMessage(subBuilder, extensionRegistry);
                addAttribute(subBuilder.buildPartial());
                break;
              }
              case 40: {
                bitField0_ |= 0x00000010;
                timestamp_ = input.readUInt64();
                break;
              }
              case 48: {
                bitField0_ |= 0x00000020;
                lockId_ = input.readUInt64();
                break;
              }
              case 56: {
                bitField0_ |= 0x00000040;
                writeToWAL_ = input.readBool();
                break;
              }
              case 66: {
                bitField0_ |= 0x00000080;
                tableName_ = input.readBytes();
                break;
              }
              case 82: {
                com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange.Builder subBuilder = com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange.newBuilder();
                if (hasTimeRange()) {
                  subBuilder.mergeFrom(getTimeRange());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setTimeRange(subBuilder.buildPartial());
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // required bytes row = 1;
        private com.google.protobuf.ByteString row_ = com.google.protobuf.ByteString.EMPTY;
        public boolean hasRow() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public com.google.protobuf.ByteString getRow() {
          return row_;
        }
        public Builder setRow(com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000001;
          row_ = value;
          onChanged();
          return this;
        }
        public Builder clearRow() {
          bitField0_ = (bitField0_ & ~0x00000001);
          row_ = getDefaultInstance().getRow();
          onChanged();
          return this;
        }
        
        // required .Mutate.MutateType mutateType = 2;
        private com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.MutateType mutateType_ = com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.MutateType.PUT;
        public boolean hasMutateType() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.MutateType getMutateType() {
          return mutateType_;
        }
        public Builder setMutateType(com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.MutateType value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000002;
          mutateType_ = value;
          onChanged();
          return this;
        }
        public Builder clearMutateType() {
          bitField0_ = (bitField0_ & ~0x00000002);
          mutateType_ = com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.MutateType.PUT;
          onChanged();
          return this;
        }
        
        // repeated .Mutate.ColumnValue columnValue = 3;
        private java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue> columnValue_ =
          java.util.Collections.emptyList();
        private void ensureColumnValueIsMutable() {
          if (!((bitField0_ & 0x00000004) == 0x00000004)) {
            columnValue_ = new java.util.ArrayList<com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue>(columnValue_);
            bitField0_ |= 0x00000004;
           }
        }
        
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue, com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValueOrBuilder> columnValueBuilder_;
        
        public java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue> getColumnValueList() {
          if (columnValueBuilder_ == null) {
            return java.util.Collections.unmodifiableList(columnValue_);
          } else {
            return columnValueBuilder_.getMessageList();
          }
        }
        public int getColumnValueCount() {
          if (columnValueBuilder_ == null) {
            return columnValue_.size();
          } else {
            return columnValueBuilder_.getCount();
          }
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue getColumnValue(int index) {
          if (columnValueBuilder_ == null) {
            return columnValue_.get(index);
          } else {
            return columnValueBuilder_.getMessage(index);
          }
        }
        public Builder setColumnValue(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue value) {
          if (columnValueBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureColumnValueIsMutable();
            columnValue_.set(index, value);
            onChanged();
          } else {
            columnValueBuilder_.setMessage(index, value);
          }
          return this;
        }
        public Builder setColumnValue(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.Builder builderForValue) {
          if (columnValueBuilder_ == null) {
            ensureColumnValueIsMutable();
            columnValue_.set(index, builderForValue.build());
            onChanged();
          } else {
            columnValueBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addColumnValue(com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue value) {
          if (columnValueBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureColumnValueIsMutable();
            columnValue_.add(value);
            onChanged();
          } else {
            columnValueBuilder_.addMessage(value);
          }
          return this;
        }
        public Builder addColumnValue(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue value) {
          if (columnValueBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureColumnValueIsMutable();
            columnValue_.add(index, value);
            onChanged();
          } else {
            columnValueBuilder_.addMessage(index, value);
          }
          return this;
        }
        public Builder addColumnValue(
            com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.Builder builderForValue) {
          if (columnValueBuilder_ == null) {
            ensureColumnValueIsMutable();
            columnValue_.add(builderForValue.build());
            onChanged();
          } else {
            columnValueBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        public Builder addColumnValue(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.Builder builderForValue) {
          if (columnValueBuilder_ == null) {
            ensureColumnValueIsMutable();
            columnValue_.add(index, builderForValue.build());
            onChanged();
          } else {
            columnValueBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addAllColumnValue(
            java.lang.Iterable<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue> values) {
          if (columnValueBuilder_ == null) {
            ensureColumnValueIsMutable();
            super.addAll(values, columnValue_);
            onChanged();
          } else {
            columnValueBuilder_.addAllMessages(values);
          }
          return this;
        }
        public Builder clearColumnValue() {
          if (columnValueBuilder_ == null) {
            columnValue_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
            onChanged();
          } else {
            columnValueBuilder_.clear();
          }
          return this;
        }
        public Builder removeColumnValue(int index) {
          if (columnValueBuilder_ == null) {
            ensureColumnValueIsMutable();
            columnValue_.remove(index);
            onChanged();
          } else {
            columnValueBuilder_.remove(index);
          }
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.Builder getColumnValueBuilder(
            int index) {
          return getColumnValueFieldBuilder().getBuilder(index);
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValueOrBuilder getColumnValueOrBuilder(
            int index) {
          if (columnValueBuilder_ == null) {
            return columnValue_.get(index);  } else {
            return columnValueBuilder_.getMessageOrBuilder(index);
          }
        }
        public java.util.List<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValueOrBuilder> 
             getColumnValueOrBuilderList() {
          if (columnValueBuilder_ != null) {
            return columnValueBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(columnValue_);
          }
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.Builder addColumnValueBuilder() {
          return getColumnValueFieldBuilder().addBuilder(
              com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.getDefaultInstance());
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.Builder addColumnValueBuilder(
            int index) {
          return getColumnValueFieldBuilder().addBuilder(
              index, com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.getDefaultInstance());
        }
        public java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.Builder> 
             getColumnValueBuilderList() {
          return getColumnValueFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue, com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValueOrBuilder> 
            getColumnValueFieldBuilder() {
          if (columnValueBuilder_ == null) {
            columnValueBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue, com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValueOrBuilder>(
                    columnValue_,
                    ((bitField0_ & 0x00000004) == 0x00000004),
                    getParentForChildren(),
                    isClean());
            columnValue_ = null;
          }
          return columnValueBuilder_;
        }
        
        // repeated .StringBytesPair attribute = 4;
        private java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair> attribute_ =
          java.util.Collections.emptyList();
        private void ensureAttributeIsMutable() {
          if (!((bitField0_ & 0x00000008) == 0x00000008)) {
            attribute_ = new java.util.ArrayList<com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair>(attribute_);
            bitField0_ |= 0x00000008;
           }
        }
        
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair, com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPairOrBuilder> attributeBuilder_;
        
        public java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair> getAttributeList() {
          if (attributeBuilder_ == null) {
            return java.util.Collections.unmodifiableList(attribute_);
          } else {
            return attributeBuilder_.getMessageList();
          }
        }
        public int getAttributeCount() {
          if (attributeBuilder_ == null) {
            return attribute_.size();
          } else {
            return attributeBuilder_.getCount();
          }
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair getAttribute(int index) {
          if (attributeBuilder_ == null) {
            return attribute_.get(index);
          } else {
            return attributeBuilder_.getMessage(index);
          }
        }
        public Builder setAttribute(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair value) {
          if (attributeBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureAttributeIsMutable();
            attribute_.set(index, value);
            onChanged();
          } else {
            attributeBuilder_.setMessage(index, value);
          }
          return this;
        }
        public Builder setAttribute(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.Builder builderForValue) {
          if (attributeBuilder_ == null) {
            ensureAttributeIsMutable();
            attribute_.set(index, builderForValue.build());
            onChanged();
          } else {
            attributeBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addAttribute(com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair value) {
          if (attributeBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureAttributeIsMutable();
            attribute_.add(value);
            onChanged();
          } else {
            attributeBuilder_.addMessage(value);
          }
          return this;
        }
        public Builder addAttribute(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair value) {
          if (attributeBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureAttributeIsMutable();
            attribute_.add(index, value);
            onChanged();
          } else {
            attributeBuilder_.addMessage(index, value);
          }
          return this;
        }
        public Builder addAttribute(
            com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.Builder builderForValue) {
          if (attributeBuilder_ == null) {
            ensureAttributeIsMutable();
            attribute_.add(builderForValue.build());
            onChanged();
          } else {
            attributeBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        public Builder addAttribute(
            int index, com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.Builder builderForValue) {
          if (attributeBuilder_ == null) {
            ensureAttributeIsMutable();
            attribute_.add(index, builderForValue.build());
            onChanged();
          } else {
            attributeBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addAllAttribute(
            java.lang.Iterable<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair> values) {
          if (attributeBuilder_ == null) {
            ensureAttributeIsMutable();
            super.addAll(values, attribute_);
            onChanged();
          } else {
            attributeBuilder_.addAllMessages(values);
          }
          return this;
        }
        public Builder clearAttribute() {
          if (attributeBuilder_ == null) {
            attribute_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000008);
            onChanged();
          } else {
            attributeBuilder_.clear();
          }
          return this;
        }
        public Builder removeAttribute(int index) {
          if (attributeBuilder_ == null) {
            ensureAttributeIsMutable();
            attribute_.remove(index);
            onChanged();
          } else {
            attributeBuilder_.remove(index);
          }
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.Builder getAttributeBuilder(
            int index) {
          return getAttributeFieldBuilder().getBuilder(index);
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPairOrBuilder getAttributeOrBuilder(
            int index) {
          if (attributeBuilder_ == null) {
            return attribute_.get(index);  } else {
            return attributeBuilder_.getMessageOrBuilder(index);
          }
        }
        public java.util.List<? extends com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPairOrBuilder> 
             getAttributeOrBuilderList() {
          if (attributeBuilder_ != null) {
            return attributeBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(attribute_);
          }
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.Builder addAttributeBuilder() {
          return getAttributeFieldBuilder().addBuilder(
              com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.getDefaultInstance());
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.Builder addAttributeBuilder(
            int index) {
          return getAttributeFieldBuilder().addBuilder(
              index, com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.getDefaultInstance());
        }
        public java.util.List<com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.Builder> 
             getAttributeBuilderList() {
          return getAttributeFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair, com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPairOrBuilder> 
            getAttributeFieldBuilder() {
          if (attributeBuilder_ == null) {
            attributeBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair, com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPairOrBuilder>(
                    attribute_,
                    ((bitField0_ & 0x00000008) == 0x00000008),
                    getParentForChildren(),
                    isClean());
            attribute_ = null;
          }
          return attributeBuilder_;
        }
        
        // optional uint64 timestamp = 5;
        private long timestamp_ ;
        public boolean hasTimestamp() {
          return ((bitField0_ & 0x00000010) == 0x00000010);
        }
        public long getTimestamp() {
          return timestamp_;
        }
        public Builder setTimestamp(long value) {
          bitField0_ |= 0x00000010;
          timestamp_ = value;
          onChanged();
          return this;
        }
        public Builder clearTimestamp() {
          bitField0_ = (bitField0_ & ~0x00000010);
          timestamp_ = 0L;
          onChanged();
          return this;
        }
        
        // optional uint64 lockId = 6;
        private long lockId_ ;
        public boolean hasLockId() {
          return ((bitField0_ & 0x00000020) == 0x00000020);
        }
        public long getLockId() {
          return lockId_;
        }
        public Builder setLockId(long value) {
          bitField0_ |= 0x00000020;
          lockId_ = value;
          onChanged();
          return this;
        }
        public Builder clearLockId() {
          bitField0_ = (bitField0_ & ~0x00000020);
          lockId_ = 0L;
          onChanged();
          return this;
        }
        
        // optional bool writeToWAL = 7 [default = true];
        private boolean writeToWAL_ = true;
        public boolean hasWriteToWAL() {
          return ((bitField0_ & 0x00000040) == 0x00000040);
        }
        public boolean getWriteToWAL() {
          return writeToWAL_;
        }
        public Builder setWriteToWAL(boolean value) {
          bitField0_ |= 0x00000040;
          writeToWAL_ = value;
          onChanged();
          return this;
        }
        public Builder clearWriteToWAL() {
          bitField0_ = (bitField0_ & ~0x00000040);
          writeToWAL_ = true;
          onChanged();
          return this;
        }
        
        // required string tableName = 8;
        private java.lang.Object tableName_ = "";
        public boolean hasTableName() {
          return ((bitField0_ & 0x00000080) == 0x00000080);
        }
        public String getTableName() {
          java.lang.Object ref = tableName_;
          if (!(ref instanceof String)) {
            String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
            tableName_ = s;
            return s;
          } else {
            return (String) ref;
          }
        }
        public Builder setTableName(String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000080;
          tableName_ = value;
          onChanged();
          return this;
        }
        public Builder clearTableName() {
          bitField0_ = (bitField0_ & ~0x00000080);
          tableName_ = getDefaultInstance().getTableName();
          onChanged();
          return this;
        }
        void setTableName(com.google.protobuf.ByteString value) {
          bitField0_ |= 0x00000080;
          tableName_ = value;
          onChanged();
        }
        
        // optional .TimeRange timeRange = 10;
        private com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange timeRange_ = com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange, com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRangeOrBuilder> timeRangeBuilder_;
        public boolean hasTimeRange() {
          return ((bitField0_ & 0x00000100) == 0x00000100);
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange getTimeRange() {
          if (timeRangeBuilder_ == null) {
            return timeRange_;
          } else {
            return timeRangeBuilder_.getMessage();
          }
        }
        public Builder setTimeRange(com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange value) {
          if (timeRangeBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            timeRange_ = value;
            onChanged();
          } else {
            timeRangeBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000100;
          return this;
        }
        public Builder setTimeRange(
            com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange.Builder builderForValue) {
          if (timeRangeBuilder_ == null) {
            timeRange_ = builderForValue.build();
            onChanged();
          } else {
            timeRangeBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000100;
          return this;
        }
        public Builder mergeTimeRange(com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange value) {
          if (timeRangeBuilder_ == null) {
            if (((bitField0_ & 0x00000100) == 0x00000100) &&
                timeRange_ != com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange.getDefaultInstance()) {
              timeRange_ =
                com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange.newBuilder(timeRange_).mergeFrom(value).buildPartial();
            } else {
              timeRange_ = value;
            }
            onChanged();
          } else {
            timeRangeBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000100;
          return this;
        }
        public Builder clearTimeRange() {
          if (timeRangeBuilder_ == null) {
            timeRange_ = com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange.getDefaultInstance();
            onChanged();
          } else {
            timeRangeBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000100);
          return this;
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange.Builder getTimeRangeBuilder() {
          bitField0_ |= 0x00000100;
          onChanged();
          return getTimeRangeFieldBuilder().getBuilder();
        }
        public com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRangeOrBuilder getTimeRangeOrBuilder() {
          if (timeRangeBuilder_ != null) {
            return timeRangeBuilder_.getMessageOrBuilder();
          } else {
            return timeRange_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange, com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRangeOrBuilder> 
            getTimeRangeFieldBuilder() {
          if (timeRangeBuilder_ == null) {
            timeRangeBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange, com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange.Builder, com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRangeOrBuilder>(
                    timeRange_,
                    getParentForChildren(),
                    isClean());
            timeRange_ = null;
          }
          return timeRangeBuilder_;
        }
        
        // @@protoc_insertion_point(builder_scope:Mutate)
      }
      
      static {
        defaultInstance = new Mutate(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:Mutate)
    }
    
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_EntityGroupInfoProtos_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_EntityGroupInfoProtos_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_EntityGroupLocationProtos_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_EntityGroupLocationProtos_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_EntityGroupSpecifier_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_EntityGroupSpecifier_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_EntityGroupLoadProtos_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_EntityGroupLoadProtos_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_ServerLoadProtos_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_ServerLoadProtos_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_TimeRange_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_TimeRange_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_ServerName_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_ServerName_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_StringStringPair_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_StringStringPair_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_StringBytesPair_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_StringBytesPair_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_BytesBytesPair_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_BytesBytesPair_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_Mutate_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_Mutate_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_Mutate_ColumnValue_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_Mutate_ColumnValue_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_Mutate_ColumnValue_QualifierValue_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_Mutate_ColumnValue_QualifierValue_fieldAccessorTable;
    
    public static com.google.protobuf.Descriptors.FileDescriptor
        getDescriptor() {
      return descriptor;
    }
    private static com.google.protobuf.Descriptors.FileDescriptor
        descriptor;
    static {
      java.lang.String[] descriptorData = {
        "\n\nWasp.proto\"\203\001\n\025EntityGroupInfoProtos\022\025" +
        "\n\rentityGroupId\030\001 \002(\004\022\021\n\ttableName\030\002 \002(\014" +
        "\022\020\n\010startKey\030\003 \001(\014\022\016\n\006endKey\030\004 \001(\014\022\017\n\007of" +
        "fline\030\005 \001(\010\022\r\n\005split\030\006 \001(\010\";\n\031EntityGrou" +
        "pLocationProtos\022\020\n\010hostname\030\001 \002(\t\022\014\n\004por" +
        "t\030\002 \002(\r\"\263\001\n\024EntityGroupSpecifier\022<\n\004type" +
        "\030\001 \002(\0162..EntityGroupSpecifier.EntityGrou" +
        "pSpecifierType\022\r\n\005value\030\002 \002(\014\"N\n\030EntityG" +
        "roupSpecifierType\022\024\n\020ENTITYGROUP_NAME\020\001\022" +
        "\034\n\030ENCODED_ENTITYGROUP_NAME\020\002\"\237\001\n\025Entity",
        "GroupLoadProtos\0223\n\024entityGroupSpecifier\030" +
        "\001 \002(\0132\025.EntityGroupSpecifier\022\031\n\021readRequ" +
        "estsCount\030\002 \001(\004\022\032\n\022writeRequestsCount\030\003 " +
        "\001(\004\022\032\n\022transactionLogSize\030\004 \001(\004\"\216\002\n\020Serv" +
        "erLoadProtos\022\030\n\020numberOfRequests\030\001 \001(\r\022\035" +
        "\n\025totalNumberOfRequests\030\002 \001(\r\0221\n\021entityG" +
        "roupsLoads\030\003 \003(\0132\026.EntityGroupLoadProtos" +
        "\022\027\n\017reportStartTime\030\004 \001(\004\022\025\n\rreportEndTi" +
        "me\030\005 \001(\004\022\026\n\016infoServerPort\030\006 \001(\r\022\033\n\023numb" +
        "erOfConnections\030\007 \001(\r\022\024\n\014avgWriteTime\030\010 ",
        "\001(\002\022\023\n\013avgReadTime\030\t \001(\002\"%\n\tTimeRange\022\014\n" +
        "\004from\030\001 \001(\004\022\n\n\002to\030\002 \001(\004\"?\n\nServerName\022\020\n" +
        "\010hostName\030\001 \002(\t\022\014\n\004port\030\002 \001(\r\022\021\n\tstartCo" +
        "de\030\003 \001(\004\"/\n\020StringStringPair\022\014\n\004name\030\001 \002" +
        "(\t\022\r\n\005value\030\002 \002(\t\".\n\017StringBytesPair\022\014\n\004" +
        "name\030\001 \002(\t\022\r\n\005value\030\002 \001(\014\"/\n\016BytesBytesP" +
        "air\022\r\n\005first\030\001 \002(\014\022\016\n\006second\030\002 \002(\014\"\300\004\n\006M" +
        "utate\022\013\n\003row\030\001 \002(\014\022&\n\nmutateType\030\002 \002(\0162\022" +
        ".Mutate.MutateType\022(\n\013columnValue\030\003 \003(\0132" +
        "\023.Mutate.ColumnValue\022#\n\tattribute\030\004 \003(\0132",
        "\020.StringBytesPair\022\021\n\ttimestamp\030\005 \001(\004\022\016\n\006" +
        "lockId\030\006 \001(\004\022\030\n\nwriteToWAL\030\007 \001(\010:\004true\022\021" +
        "\n\ttableName\030\010 \002(\t\022\035\n\ttimeRange\030\n \001(\0132\n.T" +
        "imeRange\032\310\001\n\013ColumnValue\022\016\n\006family\030\001 \002(\014" +
        "\022:\n\016qualifierValue\030\002 \003(\0132\".Mutate.Column" +
        "Value.QualifierValue\032m\n\016QualifierValue\022\021" +
        "\n\tqualifier\030\001 \001(\014\022\r\n\005value\030\002 \001(\014\022\021\n\ttime" +
        "stamp\030\003 \001(\004\022&\n\ndeleteType\030\004 \001(\0162\022.Mutate" +
        ".DeleteType\"!\n\nMutateType\022\007\n\003PUT\020\000\022\n\n\006DE" +
        "LETE\020\001\"U\n\nDeleteType\022\026\n\022DELETE_ONE_VERSI",
        "ON\020\000\022\034\n\030DELETE_MULTIPLE_VERSIONS\020\001\022\021\n\rDE" +
        "LETE_FAMILY\020\002*r\n\013CompareType\022\010\n\004LESS\020\000\022\021" +
        "\n\rLESS_OR_EQUAL\020\001\022\t\n\005EQUAL\020\002\022\r\n\tNOT_EQUA" +
        "L\020\003\022\024\n\020GREATER_OR_EQUAL\020\004\022\013\n\007GREATER\020\005\022\t" +
        "\n\005NO_OP\020\006*M\n\027EntityGroupOpeningState\022\n\n\006" +
        "OPENED\020\000\022\022\n\016ALREADY_OPENED\020\001\022\022\n\016FAILED_O" +
        "PENING\020\002B6\n#com.alibaba.wasp.protobuf.ge" +
        "neratedB\nWaspProtosH\001\240\001\001"
      };
      com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            internal_static_EntityGroupInfoProtos_descriptor =
              getDescriptor().getMessageTypes().get(0);
            internal_static_EntityGroupInfoProtos_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_EntityGroupInfoProtos_descriptor,
                new java.lang.String[] { "EntityGroupId", "TableName", "StartKey", "EndKey", "Offline", "Split", },
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos.class,
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupInfoProtos.Builder.class);
            internal_static_EntityGroupLocationProtos_descriptor =
              getDescriptor().getMessageTypes().get(1);
            internal_static_EntityGroupLocationProtos_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_EntityGroupLocationProtos_descriptor,
                new java.lang.String[] { "Hostname", "Port", },
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos.class,
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLocationProtos.Builder.class);
            internal_static_EntityGroupSpecifier_descriptor =
              getDescriptor().getMessageTypes().get(2);
            internal_static_EntityGroupSpecifier_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_EntityGroupSpecifier_descriptor,
                new java.lang.String[] { "Type", "Value", },
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.class,
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupSpecifier.Builder.class);
            internal_static_EntityGroupLoadProtos_descriptor =
              getDescriptor().getMessageTypes().get(3);
            internal_static_EntityGroupLoadProtos_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_EntityGroupLoadProtos_descriptor,
                new java.lang.String[] { "EntityGroupSpecifier", "ReadRequestsCount", "WriteRequestsCount", "TransactionLogSize", },
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos.class,
                com.alibaba.wasp.protobuf.generated.WaspProtos.EntityGroupLoadProtos.Builder.class);
            internal_static_ServerLoadProtos_descriptor =
              getDescriptor().getMessageTypes().get(4);
            internal_static_ServerLoadProtos_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_ServerLoadProtos_descriptor,
                new java.lang.String[] { "NumberOfRequests", "TotalNumberOfRequests", "EntityGroupsLoads", "ReportStartTime", "ReportEndTime", "InfoServerPort", "NumberOfConnections", "AvgWriteTime", "AvgReadTime", },
                com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos.class,
                com.alibaba.wasp.protobuf.generated.WaspProtos.ServerLoadProtos.Builder.class);
            internal_static_TimeRange_descriptor =
              getDescriptor().getMessageTypes().get(5);
            internal_static_TimeRange_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_TimeRange_descriptor,
                new java.lang.String[] { "From", "To", },
                com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange.class,
                com.alibaba.wasp.protobuf.generated.WaspProtos.TimeRange.Builder.class);
            internal_static_ServerName_descriptor =
              getDescriptor().getMessageTypes().get(6);
            internal_static_ServerName_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_ServerName_descriptor,
                new java.lang.String[] { "HostName", "Port", "StartCode", },
                com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.class,
                com.alibaba.wasp.protobuf.generated.WaspProtos.ServerName.Builder.class);
            internal_static_StringStringPair_descriptor =
              getDescriptor().getMessageTypes().get(7);
            internal_static_StringStringPair_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_StringStringPair_descriptor,
                new java.lang.String[] { "Name", "Value", },
                com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair.class,
                com.alibaba.wasp.protobuf.generated.WaspProtos.StringStringPair.Builder.class);
            internal_static_StringBytesPair_descriptor =
              getDescriptor().getMessageTypes().get(8);
            internal_static_StringBytesPair_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_StringBytesPair_descriptor,
                new java.lang.String[] { "Name", "Value", },
                com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.class,
                com.alibaba.wasp.protobuf.generated.WaspProtos.StringBytesPair.Builder.class);
            internal_static_BytesBytesPair_descriptor =
              getDescriptor().getMessageTypes().get(9);
            internal_static_BytesBytesPair_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_BytesBytesPair_descriptor,
                new java.lang.String[] { "First", "Second", },
                com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair.class,
                com.alibaba.wasp.protobuf.generated.WaspProtos.BytesBytesPair.Builder.class);
            internal_static_Mutate_descriptor =
              getDescriptor().getMessageTypes().get(10);
            internal_static_Mutate_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_Mutate_descriptor,
                new java.lang.String[] { "Row", "MutateType", "ColumnValue", "Attribute", "Timestamp", "LockId", "WriteToWAL", "TableName", "TimeRange", },
                com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.class,
                com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.Builder.class);
            internal_static_Mutate_ColumnValue_descriptor =
              internal_static_Mutate_descriptor.getNestedTypes().get(0);
            internal_static_Mutate_ColumnValue_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_Mutate_ColumnValue_descriptor,
                new java.lang.String[] { "Family", "QualifierValue", },
                com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.class,
                com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.Builder.class);
            internal_static_Mutate_ColumnValue_QualifierValue_descriptor =
              internal_static_Mutate_ColumnValue_descriptor.getNestedTypes().get(0);
            internal_static_Mutate_ColumnValue_QualifierValue_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_Mutate_ColumnValue_QualifierValue_descriptor,
                new java.lang.String[] { "Qualifier", "Value", "Timestamp", "DeleteType", },
                com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue.class,
                com.alibaba.wasp.protobuf.generated.WaspProtos.Mutate.ColumnValue.QualifierValue.Builder.class);
            return null;
          }
        };
      com.google.protobuf.Descriptors.FileDescriptor
        .internalBuildGeneratedFileFrom(descriptorData,
          new com.google.protobuf.Descriptors.FileDescriptor[] {
          }, assigner);
    }
    
    // @@protoc_insertion_point(outer_class_scope)
  }
  