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

package com.caliverse.admin.domain.RabbitMq.message;

/**
 * Protobuf type {@code QuestInfo}
 */
public final class QuestInfo extends
    com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:QuestInfo)
    QuestInfoOrBuilder {
private static final long serialVersionUID = 0L;
  // Use QuestInfo.newBuilder() to construct.
  private QuestInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
    super(builder);
  }
  private QuestInfo() {
    activeIdxList_ = emptyIntList();
    activeEvents_ = com.google.protobuf.LazyStringArrayList.EMPTY;
  }

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

  @java.lang.Override
  public final com.google.protobuf.UnknownFieldSet
  getUnknownFields() {
    return this.unknownFields;
  }
  public static final com.google.protobuf.Descriptors.Descriptor
      getDescriptor() {
    return com.caliverse.admin.domain.RabbitMq.message.GameDefine.internal_static_QuestInfo_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return com.caliverse.admin.domain.RabbitMq.message.GameDefine.internal_static_QuestInfo_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            com.caliverse.admin.domain.RabbitMq.message.QuestInfo.class, com.caliverse.admin.domain.RabbitMq.message.QuestInfo.Builder.class);
  }

  public static final int COMPOSEDQUESTID_FIELD_NUMBER = 1;
  private long composedQuestId_ = 0L;
  /**
   * <code>int64 composedQuestId = 1;</code>
   * @return The composedQuestId.
   */
  @java.lang.Override
  public long getComposedQuestId() {
    return composedQuestId_;
  }

  public static final int QUESTASSIGNTIME_FIELD_NUMBER = 2;
  private com.google.protobuf.Timestamp questAssignTime_;
  /**
   * <code>.google.protobuf.Timestamp questAssignTime = 2;</code>
   * @return Whether the questAssignTime field is set.
   */
  @java.lang.Override
  public boolean hasQuestAssignTime() {
    return questAssignTime_ != null;
  }
  /**
   * <code>.google.protobuf.Timestamp questAssignTime = 2;</code>
   * @return The questAssignTime.
   */
  @java.lang.Override
  public com.google.protobuf.Timestamp getQuestAssignTime() {
    return questAssignTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : questAssignTime_;
  }
  /**
   * <code>.google.protobuf.Timestamp questAssignTime = 2;</code>
   */
  @java.lang.Override
  public com.google.protobuf.TimestampOrBuilder getQuestAssignTimeOrBuilder() {
    return questAssignTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : questAssignTime_;
  }

  public static final int CURRENTTASKNUM_FIELD_NUMBER = 3;
  private int currentTaskNum_ = 0;
  /**
   * <code>int32 currentTaskNum = 3;</code>
   * @return The currentTaskNum.
   */
  @java.lang.Override
  public int getCurrentTaskNum() {
    return currentTaskNum_;
  }

  public static final int TASKSTARTTIME_FIELD_NUMBER = 4;
  private com.google.protobuf.Timestamp taskStartTime_;
  /**
   * <code>.google.protobuf.Timestamp taskStartTime = 4;</code>
   * @return Whether the taskStartTime field is set.
   */
  @java.lang.Override
  public boolean hasTaskStartTime() {
    return taskStartTime_ != null;
  }
  /**
   * <code>.google.protobuf.Timestamp taskStartTime = 4;</code>
   * @return The taskStartTime.
   */
  @java.lang.Override
  public com.google.protobuf.Timestamp getTaskStartTime() {
    return taskStartTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : taskStartTime_;
  }
  /**
   * <code>.google.protobuf.Timestamp taskStartTime = 4;</code>
   */
  @java.lang.Override
  public com.google.protobuf.TimestampOrBuilder getTaskStartTimeOrBuilder() {
    return taskStartTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : taskStartTime_;
  }

  public static final int QUESTCOMPLETETIME_FIELD_NUMBER = 5;
  private com.google.protobuf.Timestamp questCompleteTime_;
  /**
   * <code>.google.protobuf.Timestamp questCompleteTime = 5;</code>
   * @return Whether the questCompleteTime field is set.
   */
  @java.lang.Override
  public boolean hasQuestCompleteTime() {
    return questCompleteTime_ != null;
  }
  /**
   * <code>.google.protobuf.Timestamp questCompleteTime = 5;</code>
   * @return The questCompleteTime.
   */
  @java.lang.Override
  public com.google.protobuf.Timestamp getQuestCompleteTime() {
    return questCompleteTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : questCompleteTime_;
  }
  /**
   * <code>.google.protobuf.Timestamp questCompleteTime = 5;</code>
   */
  @java.lang.Override
  public com.google.protobuf.TimestampOrBuilder getQuestCompleteTimeOrBuilder() {
    return questCompleteTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : questCompleteTime_;
  }

  public static final int ACTIVEIDXLIST_FIELD_NUMBER = 6;
  @SuppressWarnings("serial")
  private com.google.protobuf.Internal.IntList activeIdxList_;
  /**
   * <pre>
   *activeEvents로 변환후 에 문제 없을때 삭제 처리
   * </pre>
   *
   * <code>repeated int32 activeIdxList = 6;</code>
   * @return A list containing the activeIdxList.
   */
  @java.lang.Override
  public java.util.List<java.lang.Integer>
      getActiveIdxListList() {
    return activeIdxList_;
  }
  /**
   * <pre>
   *activeEvents로 변환후 에 문제 없을때 삭제 처리
   * </pre>
   *
   * <code>repeated int32 activeIdxList = 6;</code>
   * @return The count of activeIdxList.
   */
  public int getActiveIdxListCount() {
    return activeIdxList_.size();
  }
  /**
   * <pre>
   *activeEvents로 변환후 에 문제 없을때 삭제 처리
   * </pre>
   *
   * <code>repeated int32 activeIdxList = 6;</code>
   * @param index The index of the element to return.
   * @return The activeIdxList at the given index.
   */
  public int getActiveIdxList(int index) {
    return activeIdxList_.getInt(index);
  }
  private int activeIdxListMemoizedSerializedSize = -1;

  public static final int HASCOUNTER_FIELD_NUMBER = 7;
  private int hasCounter_ = 0;
  /**
   * <code>int32 hasCounter = 7;</code>
   * @return The hasCounter.
   */
  @java.lang.Override
  public int getHasCounter() {
    return hasCounter_;
  }

  public static final int MINCOUNTER_FIELD_NUMBER = 8;
  private int minCounter_ = 0;
  /**
   * <code>int32 minCounter = 8;</code>
   * @return The minCounter.
   */
  @java.lang.Override
  public int getMinCounter() {
    return minCounter_;
  }

  public static final int MAXCOUNTER_FIELD_NUMBER = 9;
  private int maxCounter_ = 0;
  /**
   * <code>int32 maxCounter = 9;</code>
   * @return The maxCounter.
   */
  @java.lang.Override
  public int getMaxCounter() {
    return maxCounter_;
  }

  public static final int CURRENTCOUNTER_FIELD_NUMBER = 10;
  private int currentCounter_ = 0;
  /**
   * <code>int32 currentCounter = 10;</code>
   * @return The currentCounter.
   */
  @java.lang.Override
  public int getCurrentCounter() {
    return currentCounter_;
  }

  public static final int ISCOMPLETE_FIELD_NUMBER = 11;
  private int isComplete_ = 0;
  /**
   * <code>int32 isComplete = 11;</code>
   * @return The isComplete.
   */
  @java.lang.Override
  public int getIsComplete() {
    return isComplete_;
  }

  public static final int REPLACEDREWARDGROUPID_FIELD_NUMBER = 12;
  private int replacedRewardGroupId_ = 0;
  /**
   * <code>int32 replacedRewardGroupId = 12;</code>
   * @return The replacedRewardGroupId.
   */
  @java.lang.Override
  public int getReplacedRewardGroupId() {
    return replacedRewardGroupId_;
  }

  public static final int HASTIMER_FIELD_NUMBER = 13;
  private int hasTimer_ = 0;
  /**
   * <code>int32 hasTimer = 13;</code>
   * @return The hasTimer.
   */
  @java.lang.Override
  public int getHasTimer() {
    return hasTimer_;
  }

  public static final int TIMERCOMPLETETIME_FIELD_NUMBER = 14;
  private com.google.protobuf.Timestamp timerCompleteTime_;
  /**
   * <code>.google.protobuf.Timestamp timerCompleteTime = 14;</code>
   * @return Whether the timerCompleteTime field is set.
   */
  @java.lang.Override
  public boolean hasTimerCompleteTime() {
    return timerCompleteTime_ != null;
  }
  /**
   * <code>.google.protobuf.Timestamp timerCompleteTime = 14;</code>
   * @return The timerCompleteTime.
   */
  @java.lang.Override
  public com.google.protobuf.Timestamp getTimerCompleteTime() {
    return timerCompleteTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : timerCompleteTime_;
  }
  /**
   * <code>.google.protobuf.Timestamp timerCompleteTime = 14;</code>
   */
  @java.lang.Override
  public com.google.protobuf.TimestampOrBuilder getTimerCompleteTimeOrBuilder() {
    return timerCompleteTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : timerCompleteTime_;
  }

  public static final int ACTIVEEVENTS_FIELD_NUMBER = 15;
  @SuppressWarnings("serial")
  private com.google.protobuf.LazyStringList activeEvents_;
  /**
   * <pre>
   *int32 questRevision = 16; //int 64로 바꿨으니 이건 필요 없다. 
   * </pre>
   *
   * <code>repeated string activeEvents = 15;</code>
   * @return A list containing the activeEvents.
   */
  public com.google.protobuf.ProtocolStringList
      getActiveEventsList() {
    return activeEvents_;
  }
  /**
   * <pre>
   *int32 questRevision = 16; //int 64로 바꿨으니 이건 필요 없다. 
   * </pre>
   *
   * <code>repeated string activeEvents = 15;</code>
   * @return The count of activeEvents.
   */
  public int getActiveEventsCount() {
    return activeEvents_.size();
  }
  /**
   * <pre>
   *int32 questRevision = 16; //int 64로 바꿨으니 이건 필요 없다. 
   * </pre>
   *
   * <code>repeated string activeEvents = 15;</code>
   * @param index The index of the element to return.
   * @return The activeEvents at the given index.
   */
  public java.lang.String getActiveEvents(int index) {
    return activeEvents_.get(index);
  }
  /**
   * <pre>
   *int32 questRevision = 16; //int 64로 바꿨으니 이건 필요 없다. 
   * </pre>
   *
   * <code>repeated string activeEvents = 15;</code>
   * @param index The index of the value to return.
   * @return The bytes of the activeEvents at the given index.
   */
  public com.google.protobuf.ByteString
      getActiveEventsBytes(int index) {
    return activeEvents_.getByteString(index);
  }

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

    memoizedIsInitialized = 1;
    return true;
  }

  @java.lang.Override
  public void writeTo(com.google.protobuf.CodedOutputStream output)
                      throws java.io.IOException {
    getSerializedSize();
    if (composedQuestId_ != 0L) {
      output.writeInt64(1, composedQuestId_);
    }
    if (questAssignTime_ != null) {
      output.writeMessage(2, getQuestAssignTime());
    }
    if (currentTaskNum_ != 0) {
      output.writeInt32(3, currentTaskNum_);
    }
    if (taskStartTime_ != null) {
      output.writeMessage(4, getTaskStartTime());
    }
    if (questCompleteTime_ != null) {
      output.writeMessage(5, getQuestCompleteTime());
    }
    if (getActiveIdxListList().size() > 0) {
      output.writeUInt32NoTag(50);
      output.writeUInt32NoTag(activeIdxListMemoizedSerializedSize);
    }
    for (int i = 0; i < activeIdxList_.size(); i++) {
      output.writeInt32NoTag(activeIdxList_.getInt(i));
    }
    if (hasCounter_ != 0) {
      output.writeInt32(7, hasCounter_);
    }
    if (minCounter_ != 0) {
      output.writeInt32(8, minCounter_);
    }
    if (maxCounter_ != 0) {
      output.writeInt32(9, maxCounter_);
    }
    if (currentCounter_ != 0) {
      output.writeInt32(10, currentCounter_);
    }
    if (isComplete_ != 0) {
      output.writeInt32(11, isComplete_);
    }
    if (replacedRewardGroupId_ != 0) {
      output.writeInt32(12, replacedRewardGroupId_);
    }
    if (hasTimer_ != 0) {
      output.writeInt32(13, hasTimer_);
    }
    if (timerCompleteTime_ != null) {
      output.writeMessage(14, getTimerCompleteTime());
    }
    for (int i = 0; i < activeEvents_.size(); i++) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 15, activeEvents_.getRaw(i));
    }
    getUnknownFields().writeTo(output);
  }

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

    size = 0;
    if (composedQuestId_ != 0L) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt64Size(1, composedQuestId_);
    }
    if (questAssignTime_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(2, getQuestAssignTime());
    }
    if (currentTaskNum_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(3, currentTaskNum_);
    }
    if (taskStartTime_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(4, getTaskStartTime());
    }
    if (questCompleteTime_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(5, getQuestCompleteTime());
    }
    {
      int dataSize = 0;
      for (int i = 0; i < activeIdxList_.size(); i++) {
        dataSize += com.google.protobuf.CodedOutputStream
          .computeInt32SizeNoTag(activeIdxList_.getInt(i));
      }
      size += dataSize;
      if (!getActiveIdxListList().isEmpty()) {
        size += 1;
        size += com.google.protobuf.CodedOutputStream
            .computeInt32SizeNoTag(dataSize);
      }
      activeIdxListMemoizedSerializedSize = dataSize;
    }
    if (hasCounter_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(7, hasCounter_);
    }
    if (minCounter_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(8, minCounter_);
    }
    if (maxCounter_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(9, maxCounter_);
    }
    if (currentCounter_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(10, currentCounter_);
    }
    if (isComplete_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(11, isComplete_);
    }
    if (replacedRewardGroupId_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(12, replacedRewardGroupId_);
    }
    if (hasTimer_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(13, hasTimer_);
    }
    if (timerCompleteTime_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(14, getTimerCompleteTime());
    }
    {
      int dataSize = 0;
      for (int i = 0; i < activeEvents_.size(); i++) {
        dataSize += computeStringSizeNoTag(activeEvents_.getRaw(i));
      }
      size += dataSize;
      size += 1 * getActiveEventsList().size();
    }
    size += getUnknownFields().getSerializedSize();
    memoizedSize = size;
    return size;
  }

  @java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
     return true;
    }
    if (!(obj instanceof com.caliverse.admin.domain.RabbitMq.message.QuestInfo)) {
      return super.equals(obj);
    }
    com.caliverse.admin.domain.RabbitMq.message.QuestInfo other = (com.caliverse.admin.domain.RabbitMq.message.QuestInfo) obj;

    if (getComposedQuestId()
        != other.getComposedQuestId()) return false;
    if (hasQuestAssignTime() != other.hasQuestAssignTime()) return false;
    if (hasQuestAssignTime()) {
      if (!getQuestAssignTime()
          .equals(other.getQuestAssignTime())) return false;
    }
    if (getCurrentTaskNum()
        != other.getCurrentTaskNum()) return false;
    if (hasTaskStartTime() != other.hasTaskStartTime()) return false;
    if (hasTaskStartTime()) {
      if (!getTaskStartTime()
          .equals(other.getTaskStartTime())) return false;
    }
    if (hasQuestCompleteTime() != other.hasQuestCompleteTime()) return false;
    if (hasQuestCompleteTime()) {
      if (!getQuestCompleteTime()
          .equals(other.getQuestCompleteTime())) return false;
    }
    if (!getActiveIdxListList()
        .equals(other.getActiveIdxListList())) return false;
    if (getHasCounter()
        != other.getHasCounter()) return false;
    if (getMinCounter()
        != other.getMinCounter()) return false;
    if (getMaxCounter()
        != other.getMaxCounter()) return false;
    if (getCurrentCounter()
        != other.getCurrentCounter()) return false;
    if (getIsComplete()
        != other.getIsComplete()) return false;
    if (getReplacedRewardGroupId()
        != other.getReplacedRewardGroupId()) return false;
    if (getHasTimer()
        != other.getHasTimer()) return false;
    if (hasTimerCompleteTime() != other.hasTimerCompleteTime()) return false;
    if (hasTimerCompleteTime()) {
      if (!getTimerCompleteTime()
          .equals(other.getTimerCompleteTime())) return false;
    }
    if (!getActiveEventsList()
        .equals(other.getActiveEventsList())) return false;
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }

  @java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    hash = (37 * hash) + COMPOSEDQUESTID_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
        getComposedQuestId());
    if (hasQuestAssignTime()) {
      hash = (37 * hash) + QUESTASSIGNTIME_FIELD_NUMBER;
      hash = (53 * hash) + getQuestAssignTime().hashCode();
    }
    hash = (37 * hash) + CURRENTTASKNUM_FIELD_NUMBER;
    hash = (53 * hash) + getCurrentTaskNum();
    if (hasTaskStartTime()) {
      hash = (37 * hash) + TASKSTARTTIME_FIELD_NUMBER;
      hash = (53 * hash) + getTaskStartTime().hashCode();
    }
    if (hasQuestCompleteTime()) {
      hash = (37 * hash) + QUESTCOMPLETETIME_FIELD_NUMBER;
      hash = (53 * hash) + getQuestCompleteTime().hashCode();
    }
    if (getActiveIdxListCount() > 0) {
      hash = (37 * hash) + ACTIVEIDXLIST_FIELD_NUMBER;
      hash = (53 * hash) + getActiveIdxListList().hashCode();
    }
    hash = (37 * hash) + HASCOUNTER_FIELD_NUMBER;
    hash = (53 * hash) + getHasCounter();
    hash = (37 * hash) + MINCOUNTER_FIELD_NUMBER;
    hash = (53 * hash) + getMinCounter();
    hash = (37 * hash) + MAXCOUNTER_FIELD_NUMBER;
    hash = (53 * hash) + getMaxCounter();
    hash = (37 * hash) + CURRENTCOUNTER_FIELD_NUMBER;
    hash = (53 * hash) + getCurrentCounter();
    hash = (37 * hash) + ISCOMPLETE_FIELD_NUMBER;
    hash = (53 * hash) + getIsComplete();
    hash = (37 * hash) + REPLACEDREWARDGROUPID_FIELD_NUMBER;
    hash = (53 * hash) + getReplacedRewardGroupId();
    hash = (37 * hash) + HASTIMER_FIELD_NUMBER;
    hash = (53 * hash) + getHasTimer();
    if (hasTimerCompleteTime()) {
      hash = (37 * hash) + TIMERCOMPLETETIME_FIELD_NUMBER;
      hash = (53 * hash) + getTimerCompleteTime().hashCode();
    }
    if (getActiveEventsCount() > 0) {
      hash = (37 * hash) + ACTIVEEVENTS_FIELD_NUMBER;
      hash = (53 * hash) + getActiveEventsList().hashCode();
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }

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

  @java.lang.Override
  public Builder newBuilderForType() { return newBuilder(); }
  public static Builder newBuilder() {
    return DEFAULT_INSTANCE.toBuilder();
  }
  public static Builder newBuilder(com.caliverse.admin.domain.RabbitMq.message.QuestInfo prototype) {
    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
  }
  @java.lang.Override
  public Builder toBuilder() {
    return this == DEFAULT_INSTANCE
        ? new Builder() : new Builder().mergeFrom(this);
  }

  @java.lang.Override
  protected Builder newBuilderForType(
      com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
    Builder builder = new Builder(parent);
    return builder;
  }
  /**
   * Protobuf type {@code QuestInfo}
   */
  public static final class Builder extends
      com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
      // @@protoc_insertion_point(builder_implements:QuestInfo)
      com.caliverse.admin.domain.RabbitMq.message.QuestInfoOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.caliverse.admin.domain.RabbitMq.message.GameDefine.internal_static_QuestInfo_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.caliverse.admin.domain.RabbitMq.message.GameDefine.internal_static_QuestInfo_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.caliverse.admin.domain.RabbitMq.message.QuestInfo.class, com.caliverse.admin.domain.RabbitMq.message.QuestInfo.Builder.class);
    }

    // Construct using com.caliverse.admin.domain.RabbitMq.message.QuestInfo.newBuilder()
    private Builder() {

    }

    private Builder(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      super(parent);

    }
    @java.lang.Override
    public Builder clear() {
      super.clear();
      bitField0_ = 0;
      composedQuestId_ = 0L;
      questAssignTime_ = null;
      if (questAssignTimeBuilder_ != null) {
        questAssignTimeBuilder_.dispose();
        questAssignTimeBuilder_ = null;
      }
      currentTaskNum_ = 0;
      taskStartTime_ = null;
      if (taskStartTimeBuilder_ != null) {
        taskStartTimeBuilder_.dispose();
        taskStartTimeBuilder_ = null;
      }
      questCompleteTime_ = null;
      if (questCompleteTimeBuilder_ != null) {
        questCompleteTimeBuilder_.dispose();
        questCompleteTimeBuilder_ = null;
      }
      activeIdxList_ = emptyIntList();
      hasCounter_ = 0;
      minCounter_ = 0;
      maxCounter_ = 0;
      currentCounter_ = 0;
      isComplete_ = 0;
      replacedRewardGroupId_ = 0;
      hasTimer_ = 0;
      timerCompleteTime_ = null;
      if (timerCompleteTimeBuilder_ != null) {
        timerCompleteTimeBuilder_.dispose();
        timerCompleteTimeBuilder_ = null;
      }
      activeEvents_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      bitField0_ = (bitField0_ & ~0x00004000);
      return this;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.Descriptor
        getDescriptorForType() {
      return com.caliverse.admin.domain.RabbitMq.message.GameDefine.internal_static_QuestInfo_descriptor;
    }

    @java.lang.Override
    public com.caliverse.admin.domain.RabbitMq.message.QuestInfo getDefaultInstanceForType() {
      return com.caliverse.admin.domain.RabbitMq.message.QuestInfo.getDefaultInstance();
    }

    @java.lang.Override
    public com.caliverse.admin.domain.RabbitMq.message.QuestInfo build() {
      com.caliverse.admin.domain.RabbitMq.message.QuestInfo result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @java.lang.Override
    public com.caliverse.admin.domain.RabbitMq.message.QuestInfo buildPartial() {
      com.caliverse.admin.domain.RabbitMq.message.QuestInfo result = new com.caliverse.admin.domain.RabbitMq.message.QuestInfo(this);
      buildPartialRepeatedFields(result);
      if (bitField0_ != 0) { buildPartial0(result); }
      onBuilt();
      return result;
    }

    private void buildPartialRepeatedFields(com.caliverse.admin.domain.RabbitMq.message.QuestInfo result) {
      if (((bitField0_ & 0x00000020) != 0)) {
        activeIdxList_.makeImmutable();
        bitField0_ = (bitField0_ & ~0x00000020);
      }
      result.activeIdxList_ = activeIdxList_;
      if (((bitField0_ & 0x00004000) != 0)) {
        activeEvents_ = activeEvents_.getUnmodifiableView();
        bitField0_ = (bitField0_ & ~0x00004000);
      }
      result.activeEvents_ = activeEvents_;
    }

    private void buildPartial0(com.caliverse.admin.domain.RabbitMq.message.QuestInfo result) {
      int from_bitField0_ = bitField0_;
      if (((from_bitField0_ & 0x00000001) != 0)) {
        result.composedQuestId_ = composedQuestId_;
      }
      if (((from_bitField0_ & 0x00000002) != 0)) {
        result.questAssignTime_ = questAssignTimeBuilder_ == null
            ? questAssignTime_
            : questAssignTimeBuilder_.build();
      }
      if (((from_bitField0_ & 0x00000004) != 0)) {
        result.currentTaskNum_ = currentTaskNum_;
      }
      if (((from_bitField0_ & 0x00000008) != 0)) {
        result.taskStartTime_ = taskStartTimeBuilder_ == null
            ? taskStartTime_
            : taskStartTimeBuilder_.build();
      }
      if (((from_bitField0_ & 0x00000010) != 0)) {
        result.questCompleteTime_ = questCompleteTimeBuilder_ == null
            ? questCompleteTime_
            : questCompleteTimeBuilder_.build();
      }
      if (((from_bitField0_ & 0x00000040) != 0)) {
        result.hasCounter_ = hasCounter_;
      }
      if (((from_bitField0_ & 0x00000080) != 0)) {
        result.minCounter_ = minCounter_;
      }
      if (((from_bitField0_ & 0x00000100) != 0)) {
        result.maxCounter_ = maxCounter_;
      }
      if (((from_bitField0_ & 0x00000200) != 0)) {
        result.currentCounter_ = currentCounter_;
      }
      if (((from_bitField0_ & 0x00000400) != 0)) {
        result.isComplete_ = isComplete_;
      }
      if (((from_bitField0_ & 0x00000800) != 0)) {
        result.replacedRewardGroupId_ = replacedRewardGroupId_;
      }
      if (((from_bitField0_ & 0x00001000) != 0)) {
        result.hasTimer_ = hasTimer_;
      }
      if (((from_bitField0_ & 0x00002000) != 0)) {
        result.timerCompleteTime_ = timerCompleteTimeBuilder_ == null
            ? timerCompleteTime_
            : timerCompleteTimeBuilder_.build();
      }
    }

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

    public Builder mergeFrom(com.caliverse.admin.domain.RabbitMq.message.QuestInfo other) {
      if (other == com.caliverse.admin.domain.RabbitMq.message.QuestInfo.getDefaultInstance()) return this;
      if (other.getComposedQuestId() != 0L) {
        setComposedQuestId(other.getComposedQuestId());
      }
      if (other.hasQuestAssignTime()) {
        mergeQuestAssignTime(other.getQuestAssignTime());
      }
      if (other.getCurrentTaskNum() != 0) {
        setCurrentTaskNum(other.getCurrentTaskNum());
      }
      if (other.hasTaskStartTime()) {
        mergeTaskStartTime(other.getTaskStartTime());
      }
      if (other.hasQuestCompleteTime()) {
        mergeQuestCompleteTime(other.getQuestCompleteTime());
      }
      if (!other.activeIdxList_.isEmpty()) {
        if (activeIdxList_.isEmpty()) {
          activeIdxList_ = other.activeIdxList_;
          bitField0_ = (bitField0_ & ~0x00000020);
        } else {
          ensureActiveIdxListIsMutable();
          activeIdxList_.addAll(other.activeIdxList_);
        }
        onChanged();
      }
      if (other.getHasCounter() != 0) {
        setHasCounter(other.getHasCounter());
      }
      if (other.getMinCounter() != 0) {
        setMinCounter(other.getMinCounter());
      }
      if (other.getMaxCounter() != 0) {
        setMaxCounter(other.getMaxCounter());
      }
      if (other.getCurrentCounter() != 0) {
        setCurrentCounter(other.getCurrentCounter());
      }
      if (other.getIsComplete() != 0) {
        setIsComplete(other.getIsComplete());
      }
      if (other.getReplacedRewardGroupId() != 0) {
        setReplacedRewardGroupId(other.getReplacedRewardGroupId());
      }
      if (other.getHasTimer() != 0) {
        setHasTimer(other.getHasTimer());
      }
      if (other.hasTimerCompleteTime()) {
        mergeTimerCompleteTime(other.getTimerCompleteTime());
      }
      if (!other.activeEvents_.isEmpty()) {
        if (activeEvents_.isEmpty()) {
          activeEvents_ = other.activeEvents_;
          bitField0_ = (bitField0_ & ~0x00004000);
        } else {
          ensureActiveEventsIsMutable();
          activeEvents_.addAll(other.activeEvents_);
        }
        onChanged();
      }
      this.mergeUnknownFields(other.getUnknownFields());
      onChanged();
      return this;
    }

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

    @java.lang.Override
    public Builder mergeFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {
              composedQuestId_ = input.readInt64();
              bitField0_ |= 0x00000001;
              break;
            } // case 8
            case 18: {
              input.readMessage(
                  getQuestAssignTimeFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x00000002;
              break;
            } // case 18
            case 24: {
              currentTaskNum_ = input.readInt32();
              bitField0_ |= 0x00000004;
              break;
            } // case 24
            case 34: {
              input.readMessage(
                  getTaskStartTimeFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x00000008;
              break;
            } // case 34
            case 42: {
              input.readMessage(
                  getQuestCompleteTimeFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x00000010;
              break;
            } // case 42
            case 48: {
              int v = input.readInt32();
              ensureActiveIdxListIsMutable();
              activeIdxList_.addInt(v);
              break;
            } // case 48
            case 50: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              ensureActiveIdxListIsMutable();
              while (input.getBytesUntilLimit() > 0) {
                activeIdxList_.addInt(input.readInt32());
              }
              input.popLimit(limit);
              break;
            } // case 50
            case 56: {
              hasCounter_ = input.readInt32();
              bitField0_ |= 0x00000040;
              break;
            } // case 56
            case 64: {
              minCounter_ = input.readInt32();
              bitField0_ |= 0x00000080;
              break;
            } // case 64
            case 72: {
              maxCounter_ = input.readInt32();
              bitField0_ |= 0x00000100;
              break;
            } // case 72
            case 80: {
              currentCounter_ = input.readInt32();
              bitField0_ |= 0x00000200;
              break;
            } // case 80
            case 88: {
              isComplete_ = input.readInt32();
              bitField0_ |= 0x00000400;
              break;
            } // case 88
            case 96: {
              replacedRewardGroupId_ = input.readInt32();
              bitField0_ |= 0x00000800;
              break;
            } // case 96
            case 104: {
              hasTimer_ = input.readInt32();
              bitField0_ |= 0x00001000;
              break;
            } // case 104
            case 114: {
              input.readMessage(
                  getTimerCompleteTimeFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x00002000;
              break;
            } // case 114
            case 122: {
              java.lang.String s = input.readStringRequireUtf8();
              ensureActiveEventsIsMutable();
              activeEvents_.add(s);
              break;
            } // case 122
            default: {
              if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                done = true; // was an endgroup tag
              }
              break;
            } // default:
          } // switch (tag)
        } // while (!done)
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.unwrapIOException();
      } finally {
        onChanged();
      } // finally
      return this;
    }
    private int bitField0_;

    private long composedQuestId_ ;
    /**
     * <code>int64 composedQuestId = 1;</code>
     * @return The composedQuestId.
     */
    @java.lang.Override
    public long getComposedQuestId() {
      return composedQuestId_;
    }
    /**
     * <code>int64 composedQuestId = 1;</code>
     * @param value The composedQuestId to set.
     * @return This builder for chaining.
     */
    public Builder setComposedQuestId(long value) {
      
      composedQuestId_ = value;
      bitField0_ |= 0x00000001;
      onChanged();
      return this;
    }
    /**
     * <code>int64 composedQuestId = 1;</code>
     * @return This builder for chaining.
     */
    public Builder clearComposedQuestId() {
      bitField0_ = (bitField0_ & ~0x00000001);
      composedQuestId_ = 0L;
      onChanged();
      return this;
    }

    private com.google.protobuf.Timestamp questAssignTime_;
    private com.google.protobuf.SingleFieldBuilderV3<
        com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> questAssignTimeBuilder_;
    /**
     * <code>.google.protobuf.Timestamp questAssignTime = 2;</code>
     * @return Whether the questAssignTime field is set.
     */
    public boolean hasQuestAssignTime() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>.google.protobuf.Timestamp questAssignTime = 2;</code>
     * @return The questAssignTime.
     */
    public com.google.protobuf.Timestamp getQuestAssignTime() {
      if (questAssignTimeBuilder_ == null) {
        return questAssignTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : questAssignTime_;
      } else {
        return questAssignTimeBuilder_.getMessage();
      }
    }
    /**
     * <code>.google.protobuf.Timestamp questAssignTime = 2;</code>
     */
    public Builder setQuestAssignTime(com.google.protobuf.Timestamp value) {
      if (questAssignTimeBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        questAssignTime_ = value;
      } else {
        questAssignTimeBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00000002;
      onChanged();
      return this;
    }
    /**
     * <code>.google.protobuf.Timestamp questAssignTime = 2;</code>
     */
    public Builder setQuestAssignTime(
        com.google.protobuf.Timestamp.Builder builderForValue) {
      if (questAssignTimeBuilder_ == null) {
        questAssignTime_ = builderForValue.build();
      } else {
        questAssignTimeBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00000002;
      onChanged();
      return this;
    }
    /**
     * <code>.google.protobuf.Timestamp questAssignTime = 2;</code>
     */
    public Builder mergeQuestAssignTime(com.google.protobuf.Timestamp value) {
      if (questAssignTimeBuilder_ == null) {
        if (((bitField0_ & 0x00000002) != 0) &&
          questAssignTime_ != null &&
          questAssignTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
          getQuestAssignTimeBuilder().mergeFrom(value);
        } else {
          questAssignTime_ = value;
        }
      } else {
        questAssignTimeBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00000002;
      onChanged();
      return this;
    }
    /**
     * <code>.google.protobuf.Timestamp questAssignTime = 2;</code>
     */
    public Builder clearQuestAssignTime() {
      bitField0_ = (bitField0_ & ~0x00000002);
      questAssignTime_ = null;
      if (questAssignTimeBuilder_ != null) {
        questAssignTimeBuilder_.dispose();
        questAssignTimeBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * <code>.google.protobuf.Timestamp questAssignTime = 2;</code>
     */
    public com.google.protobuf.Timestamp.Builder getQuestAssignTimeBuilder() {
      bitField0_ |= 0x00000002;
      onChanged();
      return getQuestAssignTimeFieldBuilder().getBuilder();
    }
    /**
     * <code>.google.protobuf.Timestamp questAssignTime = 2;</code>
     */
    public com.google.protobuf.TimestampOrBuilder getQuestAssignTimeOrBuilder() {
      if (questAssignTimeBuilder_ != null) {
        return questAssignTimeBuilder_.getMessageOrBuilder();
      } else {
        return questAssignTime_ == null ?
            com.google.protobuf.Timestamp.getDefaultInstance() : questAssignTime_;
      }
    }
    /**
     * <code>.google.protobuf.Timestamp questAssignTime = 2;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> 
        getQuestAssignTimeFieldBuilder() {
      if (questAssignTimeBuilder_ == null) {
        questAssignTimeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>(
                getQuestAssignTime(),
                getParentForChildren(),
                isClean());
        questAssignTime_ = null;
      }
      return questAssignTimeBuilder_;
    }

    private int currentTaskNum_ ;
    /**
     * <code>int32 currentTaskNum = 3;</code>
     * @return The currentTaskNum.
     */
    @java.lang.Override
    public int getCurrentTaskNum() {
      return currentTaskNum_;
    }
    /**
     * <code>int32 currentTaskNum = 3;</code>
     * @param value The currentTaskNum to set.
     * @return This builder for chaining.
     */
    public Builder setCurrentTaskNum(int value) {
      
      currentTaskNum_ = value;
      bitField0_ |= 0x00000004;
      onChanged();
      return this;
    }
    /**
     * <code>int32 currentTaskNum = 3;</code>
     * @return This builder for chaining.
     */
    public Builder clearCurrentTaskNum() {
      bitField0_ = (bitField0_ & ~0x00000004);
      currentTaskNum_ = 0;
      onChanged();
      return this;
    }

    private com.google.protobuf.Timestamp taskStartTime_;
    private com.google.protobuf.SingleFieldBuilderV3<
        com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> taskStartTimeBuilder_;
    /**
     * <code>.google.protobuf.Timestamp taskStartTime = 4;</code>
     * @return Whether the taskStartTime field is set.
     */
    public boolean hasTaskStartTime() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>.google.protobuf.Timestamp taskStartTime = 4;</code>
     * @return The taskStartTime.
     */
    public com.google.protobuf.Timestamp getTaskStartTime() {
      if (taskStartTimeBuilder_ == null) {
        return taskStartTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : taskStartTime_;
      } else {
        return taskStartTimeBuilder_.getMessage();
      }
    }
    /**
     * <code>.google.protobuf.Timestamp taskStartTime = 4;</code>
     */
    public Builder setTaskStartTime(com.google.protobuf.Timestamp value) {
      if (taskStartTimeBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        taskStartTime_ = value;
      } else {
        taskStartTimeBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00000008;
      onChanged();
      return this;
    }
    /**
     * <code>.google.protobuf.Timestamp taskStartTime = 4;</code>
     */
    public Builder setTaskStartTime(
        com.google.protobuf.Timestamp.Builder builderForValue) {
      if (taskStartTimeBuilder_ == null) {
        taskStartTime_ = builderForValue.build();
      } else {
        taskStartTimeBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00000008;
      onChanged();
      return this;
    }
    /**
     * <code>.google.protobuf.Timestamp taskStartTime = 4;</code>
     */
    public Builder mergeTaskStartTime(com.google.protobuf.Timestamp value) {
      if (taskStartTimeBuilder_ == null) {
        if (((bitField0_ & 0x00000008) != 0) &&
          taskStartTime_ != null &&
          taskStartTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
          getTaskStartTimeBuilder().mergeFrom(value);
        } else {
          taskStartTime_ = value;
        }
      } else {
        taskStartTimeBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00000008;
      onChanged();
      return this;
    }
    /**
     * <code>.google.protobuf.Timestamp taskStartTime = 4;</code>
     */
    public Builder clearTaskStartTime() {
      bitField0_ = (bitField0_ & ~0x00000008);
      taskStartTime_ = null;
      if (taskStartTimeBuilder_ != null) {
        taskStartTimeBuilder_.dispose();
        taskStartTimeBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * <code>.google.protobuf.Timestamp taskStartTime = 4;</code>
     */
    public com.google.protobuf.Timestamp.Builder getTaskStartTimeBuilder() {
      bitField0_ |= 0x00000008;
      onChanged();
      return getTaskStartTimeFieldBuilder().getBuilder();
    }
    /**
     * <code>.google.protobuf.Timestamp taskStartTime = 4;</code>
     */
    public com.google.protobuf.TimestampOrBuilder getTaskStartTimeOrBuilder() {
      if (taskStartTimeBuilder_ != null) {
        return taskStartTimeBuilder_.getMessageOrBuilder();
      } else {
        return taskStartTime_ == null ?
            com.google.protobuf.Timestamp.getDefaultInstance() : taskStartTime_;
      }
    }
    /**
     * <code>.google.protobuf.Timestamp taskStartTime = 4;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> 
        getTaskStartTimeFieldBuilder() {
      if (taskStartTimeBuilder_ == null) {
        taskStartTimeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>(
                getTaskStartTime(),
                getParentForChildren(),
                isClean());
        taskStartTime_ = null;
      }
      return taskStartTimeBuilder_;
    }

    private com.google.protobuf.Timestamp questCompleteTime_;
    private com.google.protobuf.SingleFieldBuilderV3<
        com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> questCompleteTimeBuilder_;
    /**
     * <code>.google.protobuf.Timestamp questCompleteTime = 5;</code>
     * @return Whether the questCompleteTime field is set.
     */
    public boolean hasQuestCompleteTime() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>.google.protobuf.Timestamp questCompleteTime = 5;</code>
     * @return The questCompleteTime.
     */
    public com.google.protobuf.Timestamp getQuestCompleteTime() {
      if (questCompleteTimeBuilder_ == null) {
        return questCompleteTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : questCompleteTime_;
      } else {
        return questCompleteTimeBuilder_.getMessage();
      }
    }
    /**
     * <code>.google.protobuf.Timestamp questCompleteTime = 5;</code>
     */
    public Builder setQuestCompleteTime(com.google.protobuf.Timestamp value) {
      if (questCompleteTimeBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        questCompleteTime_ = value;
      } else {
        questCompleteTimeBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00000010;
      onChanged();
      return this;
    }
    /**
     * <code>.google.protobuf.Timestamp questCompleteTime = 5;</code>
     */
    public Builder setQuestCompleteTime(
        com.google.protobuf.Timestamp.Builder builderForValue) {
      if (questCompleteTimeBuilder_ == null) {
        questCompleteTime_ = builderForValue.build();
      } else {
        questCompleteTimeBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00000010;
      onChanged();
      return this;
    }
    /**
     * <code>.google.protobuf.Timestamp questCompleteTime = 5;</code>
     */
    public Builder mergeQuestCompleteTime(com.google.protobuf.Timestamp value) {
      if (questCompleteTimeBuilder_ == null) {
        if (((bitField0_ & 0x00000010) != 0) &&
          questCompleteTime_ != null &&
          questCompleteTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
          getQuestCompleteTimeBuilder().mergeFrom(value);
        } else {
          questCompleteTime_ = value;
        }
      } else {
        questCompleteTimeBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00000010;
      onChanged();
      return this;
    }
    /**
     * <code>.google.protobuf.Timestamp questCompleteTime = 5;</code>
     */
    public Builder clearQuestCompleteTime() {
      bitField0_ = (bitField0_ & ~0x00000010);
      questCompleteTime_ = null;
      if (questCompleteTimeBuilder_ != null) {
        questCompleteTimeBuilder_.dispose();
        questCompleteTimeBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * <code>.google.protobuf.Timestamp questCompleteTime = 5;</code>
     */
    public com.google.protobuf.Timestamp.Builder getQuestCompleteTimeBuilder() {
      bitField0_ |= 0x00000010;
      onChanged();
      return getQuestCompleteTimeFieldBuilder().getBuilder();
    }
    /**
     * <code>.google.protobuf.Timestamp questCompleteTime = 5;</code>
     */
    public com.google.protobuf.TimestampOrBuilder getQuestCompleteTimeOrBuilder() {
      if (questCompleteTimeBuilder_ != null) {
        return questCompleteTimeBuilder_.getMessageOrBuilder();
      } else {
        return questCompleteTime_ == null ?
            com.google.protobuf.Timestamp.getDefaultInstance() : questCompleteTime_;
      }
    }
    /**
     * <code>.google.protobuf.Timestamp questCompleteTime = 5;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> 
        getQuestCompleteTimeFieldBuilder() {
      if (questCompleteTimeBuilder_ == null) {
        questCompleteTimeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>(
                getQuestCompleteTime(),
                getParentForChildren(),
                isClean());
        questCompleteTime_ = null;
      }
      return questCompleteTimeBuilder_;
    }

    private com.google.protobuf.Internal.IntList activeIdxList_ = emptyIntList();
    private void ensureActiveIdxListIsMutable() {
      if (!((bitField0_ & 0x00000020) != 0)) {
        activeIdxList_ = mutableCopy(activeIdxList_);
        bitField0_ |= 0x00000020;
      }
    }
    /**
     * <pre>
     *activeEvents로 변환후 에 문제 없을때 삭제 처리
     * </pre>
     *
     * <code>repeated int32 activeIdxList = 6;</code>
     * @return A list containing the activeIdxList.
     */
    public java.util.List<java.lang.Integer>
        getActiveIdxListList() {
      return ((bitField0_ & 0x00000020) != 0) ?
               java.util.Collections.unmodifiableList(activeIdxList_) : activeIdxList_;
    }
    /**
     * <pre>
     *activeEvents로 변환후 에 문제 없을때 삭제 처리
     * </pre>
     *
     * <code>repeated int32 activeIdxList = 6;</code>
     * @return The count of activeIdxList.
     */
    public int getActiveIdxListCount() {
      return activeIdxList_.size();
    }
    /**
     * <pre>
     *activeEvents로 변환후 에 문제 없을때 삭제 처리
     * </pre>
     *
     * <code>repeated int32 activeIdxList = 6;</code>
     * @param index The index of the element to return.
     * @return The activeIdxList at the given index.
     */
    public int getActiveIdxList(int index) {
      return activeIdxList_.getInt(index);
    }
    /**
     * <pre>
     *activeEvents로 변환후 에 문제 없을때 삭제 처리
     * </pre>
     *
     * <code>repeated int32 activeIdxList = 6;</code>
     * @param index The index to set the value at.
     * @param value The activeIdxList to set.
     * @return This builder for chaining.
     */
    public Builder setActiveIdxList(
        int index, int value) {
      
      ensureActiveIdxListIsMutable();
      activeIdxList_.setInt(index, value);
      onChanged();
      return this;
    }
    /**
     * <pre>
     *activeEvents로 변환후 에 문제 없을때 삭제 처리
     * </pre>
     *
     * <code>repeated int32 activeIdxList = 6;</code>
     * @param value The activeIdxList to add.
     * @return This builder for chaining.
     */
    public Builder addActiveIdxList(int value) {
      
      ensureActiveIdxListIsMutable();
      activeIdxList_.addInt(value);
      onChanged();
      return this;
    }
    /**
     * <pre>
     *activeEvents로 변환후 에 문제 없을때 삭제 처리
     * </pre>
     *
     * <code>repeated int32 activeIdxList = 6;</code>
     * @param values The activeIdxList to add.
     * @return This builder for chaining.
     */
    public Builder addAllActiveIdxList(
        java.lang.Iterable<? extends java.lang.Integer> values) {
      ensureActiveIdxListIsMutable();
      com.google.protobuf.AbstractMessageLite.Builder.addAll(
          values, activeIdxList_);
      onChanged();
      return this;
    }
    /**
     * <pre>
     *activeEvents로 변환후 에 문제 없을때 삭제 처리
     * </pre>
     *
     * <code>repeated int32 activeIdxList = 6;</code>
     * @return This builder for chaining.
     */
    public Builder clearActiveIdxList() {
      activeIdxList_ = emptyIntList();
      bitField0_ = (bitField0_ & ~0x00000020);
      onChanged();
      return this;
    }

    private int hasCounter_ ;
    /**
     * <code>int32 hasCounter = 7;</code>
     * @return The hasCounter.
     */
    @java.lang.Override
    public int getHasCounter() {
      return hasCounter_;
    }
    /**
     * <code>int32 hasCounter = 7;</code>
     * @param value The hasCounter to set.
     * @return This builder for chaining.
     */
    public Builder setHasCounter(int value) {
      
      hasCounter_ = value;
      bitField0_ |= 0x00000040;
      onChanged();
      return this;
    }
    /**
     * <code>int32 hasCounter = 7;</code>
     * @return This builder for chaining.
     */
    public Builder clearHasCounter() {
      bitField0_ = (bitField0_ & ~0x00000040);
      hasCounter_ = 0;
      onChanged();
      return this;
    }

    private int minCounter_ ;
    /**
     * <code>int32 minCounter = 8;</code>
     * @return The minCounter.
     */
    @java.lang.Override
    public int getMinCounter() {
      return minCounter_;
    }
    /**
     * <code>int32 minCounter = 8;</code>
     * @param value The minCounter to set.
     * @return This builder for chaining.
     */
    public Builder setMinCounter(int value) {
      
      minCounter_ = value;
      bitField0_ |= 0x00000080;
      onChanged();
      return this;
    }
    /**
     * <code>int32 minCounter = 8;</code>
     * @return This builder for chaining.
     */
    public Builder clearMinCounter() {
      bitField0_ = (bitField0_ & ~0x00000080);
      minCounter_ = 0;
      onChanged();
      return this;
    }

    private int maxCounter_ ;
    /**
     * <code>int32 maxCounter = 9;</code>
     * @return The maxCounter.
     */
    @java.lang.Override
    public int getMaxCounter() {
      return maxCounter_;
    }
    /**
     * <code>int32 maxCounter = 9;</code>
     * @param value The maxCounter to set.
     * @return This builder for chaining.
     */
    public Builder setMaxCounter(int value) {
      
      maxCounter_ = value;
      bitField0_ |= 0x00000100;
      onChanged();
      return this;
    }
    /**
     * <code>int32 maxCounter = 9;</code>
     * @return This builder for chaining.
     */
    public Builder clearMaxCounter() {
      bitField0_ = (bitField0_ & ~0x00000100);
      maxCounter_ = 0;
      onChanged();
      return this;
    }

    private int currentCounter_ ;
    /**
     * <code>int32 currentCounter = 10;</code>
     * @return The currentCounter.
     */
    @java.lang.Override
    public int getCurrentCounter() {
      return currentCounter_;
    }
    /**
     * <code>int32 currentCounter = 10;</code>
     * @param value The currentCounter to set.
     * @return This builder for chaining.
     */
    public Builder setCurrentCounter(int value) {
      
      currentCounter_ = value;
      bitField0_ |= 0x00000200;
      onChanged();
      return this;
    }
    /**
     * <code>int32 currentCounter = 10;</code>
     * @return This builder for chaining.
     */
    public Builder clearCurrentCounter() {
      bitField0_ = (bitField0_ & ~0x00000200);
      currentCounter_ = 0;
      onChanged();
      return this;
    }

    private int isComplete_ ;
    /**
     * <code>int32 isComplete = 11;</code>
     * @return The isComplete.
     */
    @java.lang.Override
    public int getIsComplete() {
      return isComplete_;
    }
    /**
     * <code>int32 isComplete = 11;</code>
     * @param value The isComplete to set.
     * @return This builder for chaining.
     */
    public Builder setIsComplete(int value) {
      
      isComplete_ = value;
      bitField0_ |= 0x00000400;
      onChanged();
      return this;
    }
    /**
     * <code>int32 isComplete = 11;</code>
     * @return This builder for chaining.
     */
    public Builder clearIsComplete() {
      bitField0_ = (bitField0_ & ~0x00000400);
      isComplete_ = 0;
      onChanged();
      return this;
    }

    private int replacedRewardGroupId_ ;
    /**
     * <code>int32 replacedRewardGroupId = 12;</code>
     * @return The replacedRewardGroupId.
     */
    @java.lang.Override
    public int getReplacedRewardGroupId() {
      return replacedRewardGroupId_;
    }
    /**
     * <code>int32 replacedRewardGroupId = 12;</code>
     * @param value The replacedRewardGroupId to set.
     * @return This builder for chaining.
     */
    public Builder setReplacedRewardGroupId(int value) {
      
      replacedRewardGroupId_ = value;
      bitField0_ |= 0x00000800;
      onChanged();
      return this;
    }
    /**
     * <code>int32 replacedRewardGroupId = 12;</code>
     * @return This builder for chaining.
     */
    public Builder clearReplacedRewardGroupId() {
      bitField0_ = (bitField0_ & ~0x00000800);
      replacedRewardGroupId_ = 0;
      onChanged();
      return this;
    }

    private int hasTimer_ ;
    /**
     * <code>int32 hasTimer = 13;</code>
     * @return The hasTimer.
     */
    @java.lang.Override
    public int getHasTimer() {
      return hasTimer_;
    }
    /**
     * <code>int32 hasTimer = 13;</code>
     * @param value The hasTimer to set.
     * @return This builder for chaining.
     */
    public Builder setHasTimer(int value) {
      
      hasTimer_ = value;
      bitField0_ |= 0x00001000;
      onChanged();
      return this;
    }
    /**
     * <code>int32 hasTimer = 13;</code>
     * @return This builder for chaining.
     */
    public Builder clearHasTimer() {
      bitField0_ = (bitField0_ & ~0x00001000);
      hasTimer_ = 0;
      onChanged();
      return this;
    }

    private com.google.protobuf.Timestamp timerCompleteTime_;
    private com.google.protobuf.SingleFieldBuilderV3<
        com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> timerCompleteTimeBuilder_;
    /**
     * <code>.google.protobuf.Timestamp timerCompleteTime = 14;</code>
     * @return Whether the timerCompleteTime field is set.
     */
    public boolean hasTimerCompleteTime() {
      return ((bitField0_ & 0x00002000) != 0);
    }
    /**
     * <code>.google.protobuf.Timestamp timerCompleteTime = 14;</code>
     * @return The timerCompleteTime.
     */
    public com.google.protobuf.Timestamp getTimerCompleteTime() {
      if (timerCompleteTimeBuilder_ == null) {
        return timerCompleteTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : timerCompleteTime_;
      } else {
        return timerCompleteTimeBuilder_.getMessage();
      }
    }
    /**
     * <code>.google.protobuf.Timestamp timerCompleteTime = 14;</code>
     */
    public Builder setTimerCompleteTime(com.google.protobuf.Timestamp value) {
      if (timerCompleteTimeBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        timerCompleteTime_ = value;
      } else {
        timerCompleteTimeBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00002000;
      onChanged();
      return this;
    }
    /**
     * <code>.google.protobuf.Timestamp timerCompleteTime = 14;</code>
     */
    public Builder setTimerCompleteTime(
        com.google.protobuf.Timestamp.Builder builderForValue) {
      if (timerCompleteTimeBuilder_ == null) {
        timerCompleteTime_ = builderForValue.build();
      } else {
        timerCompleteTimeBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00002000;
      onChanged();
      return this;
    }
    /**
     * <code>.google.protobuf.Timestamp timerCompleteTime = 14;</code>
     */
    public Builder mergeTimerCompleteTime(com.google.protobuf.Timestamp value) {
      if (timerCompleteTimeBuilder_ == null) {
        if (((bitField0_ & 0x00002000) != 0) &&
          timerCompleteTime_ != null &&
          timerCompleteTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
          getTimerCompleteTimeBuilder().mergeFrom(value);
        } else {
          timerCompleteTime_ = value;
        }
      } else {
        timerCompleteTimeBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00002000;
      onChanged();
      return this;
    }
    /**
     * <code>.google.protobuf.Timestamp timerCompleteTime = 14;</code>
     */
    public Builder clearTimerCompleteTime() {
      bitField0_ = (bitField0_ & ~0x00002000);
      timerCompleteTime_ = null;
      if (timerCompleteTimeBuilder_ != null) {
        timerCompleteTimeBuilder_.dispose();
        timerCompleteTimeBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * <code>.google.protobuf.Timestamp timerCompleteTime = 14;</code>
     */
    public com.google.protobuf.Timestamp.Builder getTimerCompleteTimeBuilder() {
      bitField0_ |= 0x00002000;
      onChanged();
      return getTimerCompleteTimeFieldBuilder().getBuilder();
    }
    /**
     * <code>.google.protobuf.Timestamp timerCompleteTime = 14;</code>
     */
    public com.google.protobuf.TimestampOrBuilder getTimerCompleteTimeOrBuilder() {
      if (timerCompleteTimeBuilder_ != null) {
        return timerCompleteTimeBuilder_.getMessageOrBuilder();
      } else {
        return timerCompleteTime_ == null ?
            com.google.protobuf.Timestamp.getDefaultInstance() : timerCompleteTime_;
      }
    }
    /**
     * <code>.google.protobuf.Timestamp timerCompleteTime = 14;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> 
        getTimerCompleteTimeFieldBuilder() {
      if (timerCompleteTimeBuilder_ == null) {
        timerCompleteTimeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>(
                getTimerCompleteTime(),
                getParentForChildren(),
                isClean());
        timerCompleteTime_ = null;
      }
      return timerCompleteTimeBuilder_;
    }

    private com.google.protobuf.LazyStringList activeEvents_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    private void ensureActiveEventsIsMutable() {
      if (!((bitField0_ & 0x00004000) != 0)) {
        activeEvents_ = new com.google.protobuf.LazyStringArrayList(activeEvents_);
        bitField0_ |= 0x00004000;
       }
    }
    /**
     * <pre>
     *int32 questRevision = 16; //int 64로 바꿨으니 이건 필요 없다. 
     * </pre>
     *
     * <code>repeated string activeEvents = 15;</code>
     * @return A list containing the activeEvents.
     */
    public com.google.protobuf.ProtocolStringList
        getActiveEventsList() {
      return activeEvents_.getUnmodifiableView();
    }
    /**
     * <pre>
     *int32 questRevision = 16; //int 64로 바꿨으니 이건 필요 없다. 
     * </pre>
     *
     * <code>repeated string activeEvents = 15;</code>
     * @return The count of activeEvents.
     */
    public int getActiveEventsCount() {
      return activeEvents_.size();
    }
    /**
     * <pre>
     *int32 questRevision = 16; //int 64로 바꿨으니 이건 필요 없다. 
     * </pre>
     *
     * <code>repeated string activeEvents = 15;</code>
     * @param index The index of the element to return.
     * @return The activeEvents at the given index.
     */
    public java.lang.String getActiveEvents(int index) {
      return activeEvents_.get(index);
    }
    /**
     * <pre>
     *int32 questRevision = 16; //int 64로 바꿨으니 이건 필요 없다. 
     * </pre>
     *
     * <code>repeated string activeEvents = 15;</code>
     * @param index The index of the value to return.
     * @return The bytes of the activeEvents at the given index.
     */
    public com.google.protobuf.ByteString
        getActiveEventsBytes(int index) {
      return activeEvents_.getByteString(index);
    }
    /**
     * <pre>
     *int32 questRevision = 16; //int 64로 바꿨으니 이건 필요 없다. 
     * </pre>
     *
     * <code>repeated string activeEvents = 15;</code>
     * @param index The index to set the value at.
     * @param value The activeEvents to set.
     * @return This builder for chaining.
     */
    public Builder setActiveEvents(
        int index, java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      ensureActiveEventsIsMutable();
      activeEvents_.set(index, value);
      onChanged();
      return this;
    }
    /**
     * <pre>
     *int32 questRevision = 16; //int 64로 바꿨으니 이건 필요 없다. 
     * </pre>
     *
     * <code>repeated string activeEvents = 15;</code>
     * @param value The activeEvents to add.
     * @return This builder for chaining.
     */
    public Builder addActiveEvents(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      ensureActiveEventsIsMutable();
      activeEvents_.add(value);
      onChanged();
      return this;
    }
    /**
     * <pre>
     *int32 questRevision = 16; //int 64로 바꿨으니 이건 필요 없다. 
     * </pre>
     *
     * <code>repeated string activeEvents = 15;</code>
     * @param values The activeEvents to add.
     * @return This builder for chaining.
     */
    public Builder addAllActiveEvents(
        java.lang.Iterable<java.lang.String> values) {
      ensureActiveEventsIsMutable();
      com.google.protobuf.AbstractMessageLite.Builder.addAll(
          values, activeEvents_);
      onChanged();
      return this;
    }
    /**
     * <pre>
     *int32 questRevision = 16; //int 64로 바꿨으니 이건 필요 없다. 
     * </pre>
     *
     * <code>repeated string activeEvents = 15;</code>
     * @return This builder for chaining.
     */
    public Builder clearActiveEvents() {
      activeEvents_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      bitField0_ = (bitField0_ & ~0x00004000);
      onChanged();
      return this;
    }
    /**
     * <pre>
     *int32 questRevision = 16; //int 64로 바꿨으니 이건 필요 없다. 
     * </pre>
     *
     * <code>repeated string activeEvents = 15;</code>
     * @param value The bytes of the activeEvents to add.
     * @return This builder for chaining.
     */
    public Builder addActiveEventsBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      ensureActiveEventsIsMutable();
      activeEvents_.add(value);
      onChanged();
      return this;
    }
    @java.lang.Override
    public final Builder setUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.setUnknownFields(unknownFields);
    }

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


    // @@protoc_insertion_point(builder_scope:QuestInfo)
  }

  // @@protoc_insertion_point(class_scope:QuestInfo)
  private static final com.caliverse.admin.domain.RabbitMq.message.QuestInfo DEFAULT_INSTANCE;
  static {
    DEFAULT_INSTANCE = new com.caliverse.admin.domain.RabbitMq.message.QuestInfo();
  }

  public static com.caliverse.admin.domain.RabbitMq.message.QuestInfo getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

  private static final com.google.protobuf.Parser<QuestInfo>
      PARSER = new com.google.protobuf.AbstractParser<QuestInfo>() {
    @java.lang.Override
    public QuestInfo parsePartialFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      Builder builder = newBuilder();
      try {
        builder.mergeFrom(input, extensionRegistry);
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(builder.buildPartial());
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(e)
            .setUnfinishedMessage(builder.buildPartial());
      }
      return builder.buildPartial();
    }
  };

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

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

  @java.lang.Override
  public com.caliverse.admin.domain.RabbitMq.message.QuestInfo getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }

}

