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

package io.grasscutter.net.proto.activity;

/**
 * Protobuf type {@code BartenderActivityDetailInfo}
 */
public final class BartenderActivityDetailInfo extends
    com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:BartenderActivityDetailInfo)
    BartenderActivityDetailInfoOrBuilder {
private static final long serialVersionUID = 0L;
  // Use BartenderActivityDetailInfo.newBuilder() to construct.
  private BartenderActivityDetailInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
    super(builder);
  }
  private BartenderActivityDetailInfo() {
    mBBDPMPHNGH_ = emptyIntList();
    nLAAAAKIOJB_ = emptyIntList();
    unlockTaskList_ = java.util.Collections.emptyList();
    unlockLevelList_ = java.util.Collections.emptyList();
  }

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

  @java.lang.Override
  public final com.google.protobuf.UnknownFieldSet
  getUnknownFields() {
    return this.unknownFields;
  }
  private BartenderActivityDetailInfo(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    this();
    if (extensionRegistry == null) {
      throw new java.lang.NullPointerException();
    }
    int mutable_bitField0_ = 0;
    com.google.protobuf.UnknownFieldSet.Builder unknownFields =
        com.google.protobuf.UnknownFieldSet.newBuilder();
    try {
      boolean done = false;
      while (!done) {
        int tag = input.readTag();
        switch (tag) {
          case 0:
            done = true;
            break;
          case 8: {

            isDevelopModuleOpen_ = input.readBool();
            break;
          }
          case 40: {
            if (!((mutable_bitField0_ & 0x00000001) != 0)) {
              mBBDPMPHNGH_ = newIntList();
              mutable_bitField0_ |= 0x00000001;
            }
            mBBDPMPHNGH_.addInt(input.readUInt32());
            break;
          }
          case 42: {
            int length = input.readRawVarint32();
            int limit = input.pushLimit(length);
            if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) {
              mBBDPMPHNGH_ = newIntList();
              mutable_bitField0_ |= 0x00000001;
            }
            while (input.getBytesUntilLimit() > 0) {
              mBBDPMPHNGH_.addInt(input.readUInt32());
            }
            input.popLimit(limit);
            break;
          }
          case 56: {

            isContentClosed_ = input.readBool();
            break;
          }
          case 98: {
            if (!((mutable_bitField0_ & 0x00000004) != 0)) {
              unlockTaskList_ = new java.util.ArrayList<io.grasscutter.net.proto.activity.BartenderTaskInfo>();
              mutable_bitField0_ |= 0x00000004;
            }
            unlockTaskList_.add(
                input.readMessage(io.grasscutter.net.proto.activity.BartenderTaskInfo.parser(), extensionRegistry));
            break;
          }
          case 104: {
            if (!((mutable_bitField0_ & 0x00000002) != 0)) {
              nLAAAAKIOJB_ = newIntList();
              mutable_bitField0_ |= 0x00000002;
            }
            nLAAAAKIOJB_.addInt(input.readUInt32());
            break;
          }
          case 106: {
            int length = input.readRawVarint32();
            int limit = input.pushLimit(length);
            if (!((mutable_bitField0_ & 0x00000002) != 0) && input.getBytesUntilLimit() > 0) {
              nLAAAAKIOJB_ = newIntList();
              mutable_bitField0_ |= 0x00000002;
            }
            while (input.getBytesUntilLimit() > 0) {
              nLAAAAKIOJB_.addInt(input.readUInt32());
            }
            input.popLimit(limit);
            break;
          }
          case 122: {
            if (!((mutable_bitField0_ & 0x00000008) != 0)) {
              unlockLevelList_ = new java.util.ArrayList<io.grasscutter.net.proto.activity.BartenderLevelInfo>();
              mutable_bitField0_ |= 0x00000008;
            }
            unlockLevelList_.add(
                input.readMessage(io.grasscutter.net.proto.activity.BartenderLevelInfo.parser(), extensionRegistry));
            break;
          }
          default: {
            if (!parseUnknownField(
                input, unknownFields, extensionRegistry, tag)) {
              done = true;
            }
            break;
          }
        }
      }
    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
      throw e.setUnfinishedMessage(this);
    } catch (java.io.IOException e) {
      throw new com.google.protobuf.InvalidProtocolBufferException(
          e).setUnfinishedMessage(this);
    } finally {
      if (((mutable_bitField0_ & 0x00000001) != 0)) {
        mBBDPMPHNGH_.makeImmutable(); // C
      }
      if (((mutable_bitField0_ & 0x00000004) != 0)) {
        unlockTaskList_ = java.util.Collections.unmodifiableList(unlockTaskList_);
      }
      if (((mutable_bitField0_ & 0x00000002) != 0)) {
        nLAAAAKIOJB_.makeImmutable(); // C
      }
      if (((mutable_bitField0_ & 0x00000008) != 0)) {
        unlockLevelList_ = java.util.Collections.unmodifiableList(unlockLevelList_);
      }
      this.unknownFields = unknownFields.build();
      makeExtensionsImmutable();
    }
  }
  public static final com.google.protobuf.Descriptors.Descriptor
      getDescriptor() {
    return io.grasscutter.net.proto.activity.Activity.internal_static_BartenderActivityDetailInfo_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return io.grasscutter.net.proto.activity.Activity.internal_static_BartenderActivityDetailInfo_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            io.grasscutter.net.proto.activity.BartenderActivityDetailInfo.class, io.grasscutter.net.proto.activity.BartenderActivityDetailInfo.Builder.class);
  }

  public static final int MBBDPMPHNGH_FIELD_NUMBER = 5;
  private com.google.protobuf.Internal.IntList mBBDPMPHNGH_;
  /**
   * <code>repeated uint32 MBBDPMPHNGH = 5;</code>
   * @return A list containing the mBBDPMPHNGH.
   */
  @java.lang.Override
  public java.util.List<java.lang.Integer>
      getMBBDPMPHNGHList() {
    return mBBDPMPHNGH_;
  }
  /**
   * <code>repeated uint32 MBBDPMPHNGH = 5;</code>
   * @return The count of mBBDPMPHNGH.
   */
  public int getMBBDPMPHNGHCount() {
    return mBBDPMPHNGH_.size();
  }
  /**
   * <code>repeated uint32 MBBDPMPHNGH = 5;</code>
   * @param index The index of the element to return.
   * @return The mBBDPMPHNGH at the given index.
   */
  public int getMBBDPMPHNGH(int index) {
    return mBBDPMPHNGH_.getInt(index);
  }
  private int mBBDPMPHNGHMemoizedSerializedSize = -1;

  public static final int NLAAAAKIOJB_FIELD_NUMBER = 13;
  private com.google.protobuf.Internal.IntList nLAAAAKIOJB_;
  /**
   * <code>repeated uint32 NLAAAAKIOJB = 13;</code>
   * @return A list containing the nLAAAAKIOJB.
   */
  @java.lang.Override
  public java.util.List<java.lang.Integer>
      getNLAAAAKIOJBList() {
    return nLAAAAKIOJB_;
  }
  /**
   * <code>repeated uint32 NLAAAAKIOJB = 13;</code>
   * @return The count of nLAAAAKIOJB.
   */
  public int getNLAAAAKIOJBCount() {
    return nLAAAAKIOJB_.size();
  }
  /**
   * <code>repeated uint32 NLAAAAKIOJB = 13;</code>
   * @param index The index of the element to return.
   * @return The nLAAAAKIOJB at the given index.
   */
  public int getNLAAAAKIOJB(int index) {
    return nLAAAAKIOJB_.getInt(index);
  }
  private int nLAAAAKIOJBMemoizedSerializedSize = -1;

  public static final int UNLOCK_TASK_LIST_FIELD_NUMBER = 12;
  private java.util.List<io.grasscutter.net.proto.activity.BartenderTaskInfo> unlockTaskList_;
  /**
   * <code>repeated .BartenderTaskInfo unlock_task_list = 12;</code>
   */
  @java.lang.Override
  public java.util.List<io.grasscutter.net.proto.activity.BartenderTaskInfo> getUnlockTaskListList() {
    return unlockTaskList_;
  }
  /**
   * <code>repeated .BartenderTaskInfo unlock_task_list = 12;</code>
   */
  @java.lang.Override
  public java.util.List<? extends io.grasscutter.net.proto.activity.BartenderTaskInfoOrBuilder> 
      getUnlockTaskListOrBuilderList() {
    return unlockTaskList_;
  }
  /**
   * <code>repeated .BartenderTaskInfo unlock_task_list = 12;</code>
   */
  @java.lang.Override
  public int getUnlockTaskListCount() {
    return unlockTaskList_.size();
  }
  /**
   * <code>repeated .BartenderTaskInfo unlock_task_list = 12;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.activity.BartenderTaskInfo getUnlockTaskList(int index) {
    return unlockTaskList_.get(index);
  }
  /**
   * <code>repeated .BartenderTaskInfo unlock_task_list = 12;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.activity.BartenderTaskInfoOrBuilder getUnlockTaskListOrBuilder(
      int index) {
    return unlockTaskList_.get(index);
  }

  public static final int UNLOCK_LEVEL_LIST_FIELD_NUMBER = 15;
  private java.util.List<io.grasscutter.net.proto.activity.BartenderLevelInfo> unlockLevelList_;
  /**
   * <code>repeated .BartenderLevelInfo unlock_level_list = 15;</code>
   */
  @java.lang.Override
  public java.util.List<io.grasscutter.net.proto.activity.BartenderLevelInfo> getUnlockLevelListList() {
    return unlockLevelList_;
  }
  /**
   * <code>repeated .BartenderLevelInfo unlock_level_list = 15;</code>
   */
  @java.lang.Override
  public java.util.List<? extends io.grasscutter.net.proto.activity.BartenderLevelInfoOrBuilder> 
      getUnlockLevelListOrBuilderList() {
    return unlockLevelList_;
  }
  /**
   * <code>repeated .BartenderLevelInfo unlock_level_list = 15;</code>
   */
  @java.lang.Override
  public int getUnlockLevelListCount() {
    return unlockLevelList_.size();
  }
  /**
   * <code>repeated .BartenderLevelInfo unlock_level_list = 15;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.activity.BartenderLevelInfo getUnlockLevelList(int index) {
    return unlockLevelList_.get(index);
  }
  /**
   * <code>repeated .BartenderLevelInfo unlock_level_list = 15;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.activity.BartenderLevelInfoOrBuilder getUnlockLevelListOrBuilder(
      int index) {
    return unlockLevelList_.get(index);
  }

  public static final int IS_DEVELOP_MODULE_OPEN_FIELD_NUMBER = 1;
  private boolean isDevelopModuleOpen_;
  /**
   * <code>bool is_develop_module_open = 1;</code>
   * @return The isDevelopModuleOpen.
   */
  @java.lang.Override
  public boolean getIsDevelopModuleOpen() {
    return isDevelopModuleOpen_;
  }

  public static final int IS_CONTENT_CLOSED_FIELD_NUMBER = 7;
  private boolean isContentClosed_;
  /**
   * <code>bool is_content_closed = 7;</code>
   * @return The isContentClosed.
   */
  @java.lang.Override
  public boolean getIsContentClosed() {
    return isContentClosed_;
  }

  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 (isDevelopModuleOpen_ != false) {
      output.writeBool(1, isDevelopModuleOpen_);
    }
    if (getMBBDPMPHNGHList().size() > 0) {
      output.writeUInt32NoTag(42);
      output.writeUInt32NoTag(mBBDPMPHNGHMemoizedSerializedSize);
    }
    for (int i = 0; i < mBBDPMPHNGH_.size(); i++) {
      output.writeUInt32NoTag(mBBDPMPHNGH_.getInt(i));
    }
    if (isContentClosed_ != false) {
      output.writeBool(7, isContentClosed_);
    }
    for (int i = 0; i < unlockTaskList_.size(); i++) {
      output.writeMessage(12, unlockTaskList_.get(i));
    }
    if (getNLAAAAKIOJBList().size() > 0) {
      output.writeUInt32NoTag(106);
      output.writeUInt32NoTag(nLAAAAKIOJBMemoizedSerializedSize);
    }
    for (int i = 0; i < nLAAAAKIOJB_.size(); i++) {
      output.writeUInt32NoTag(nLAAAAKIOJB_.getInt(i));
    }
    for (int i = 0; i < unlockLevelList_.size(); i++) {
      output.writeMessage(15, unlockLevelList_.get(i));
    }
    unknownFields.writeTo(output);
  }

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

    size = 0;
    if (isDevelopModuleOpen_ != false) {
      size += com.google.protobuf.CodedOutputStream
        .computeBoolSize(1, isDevelopModuleOpen_);
    }
    {
      int dataSize = 0;
      for (int i = 0; i < mBBDPMPHNGH_.size(); i++) {
        dataSize += com.google.protobuf.CodedOutputStream
          .computeUInt32SizeNoTag(mBBDPMPHNGH_.getInt(i));
      }
      size += dataSize;
      if (!getMBBDPMPHNGHList().isEmpty()) {
        size += 1;
        size += com.google.protobuf.CodedOutputStream
            .computeInt32SizeNoTag(dataSize);
      }
      mBBDPMPHNGHMemoizedSerializedSize = dataSize;
    }
    if (isContentClosed_ != false) {
      size += com.google.protobuf.CodedOutputStream
        .computeBoolSize(7, isContentClosed_);
    }
    for (int i = 0; i < unlockTaskList_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(12, unlockTaskList_.get(i));
    }
    {
      int dataSize = 0;
      for (int i = 0; i < nLAAAAKIOJB_.size(); i++) {
        dataSize += com.google.protobuf.CodedOutputStream
          .computeUInt32SizeNoTag(nLAAAAKIOJB_.getInt(i));
      }
      size += dataSize;
      if (!getNLAAAAKIOJBList().isEmpty()) {
        size += 1;
        size += com.google.protobuf.CodedOutputStream
            .computeInt32SizeNoTag(dataSize);
      }
      nLAAAAKIOJBMemoizedSerializedSize = dataSize;
    }
    for (int i = 0; i < unlockLevelList_.size(); i++) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(15, unlockLevelList_.get(i));
    }
    size += unknownFields.getSerializedSize();
    memoizedSize = size;
    return size;
  }

  @java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
     return true;
    }
    if (!(obj instanceof io.grasscutter.net.proto.activity.BartenderActivityDetailInfo)) {
      return super.equals(obj);
    }
    io.grasscutter.net.proto.activity.BartenderActivityDetailInfo other = (io.grasscutter.net.proto.activity.BartenderActivityDetailInfo) obj;

    if (!getMBBDPMPHNGHList()
        .equals(other.getMBBDPMPHNGHList())) return false;
    if (!getNLAAAAKIOJBList()
        .equals(other.getNLAAAAKIOJBList())) return false;
    if (!getUnlockTaskListList()
        .equals(other.getUnlockTaskListList())) return false;
    if (!getUnlockLevelListList()
        .equals(other.getUnlockLevelListList())) return false;
    if (getIsDevelopModuleOpen()
        != other.getIsDevelopModuleOpen()) return false;
    if (getIsContentClosed()
        != other.getIsContentClosed()) return false;
    if (!unknownFields.equals(other.unknownFields)) return false;
    return true;
  }

  @java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    if (getMBBDPMPHNGHCount() > 0) {
      hash = (37 * hash) + MBBDPMPHNGH_FIELD_NUMBER;
      hash = (53 * hash) + getMBBDPMPHNGHList().hashCode();
    }
    if (getNLAAAAKIOJBCount() > 0) {
      hash = (37 * hash) + NLAAAAKIOJB_FIELD_NUMBER;
      hash = (53 * hash) + getNLAAAAKIOJBList().hashCode();
    }
    if (getUnlockTaskListCount() > 0) {
      hash = (37 * hash) + UNLOCK_TASK_LIST_FIELD_NUMBER;
      hash = (53 * hash) + getUnlockTaskListList().hashCode();
    }
    if (getUnlockLevelListCount() > 0) {
      hash = (37 * hash) + UNLOCK_LEVEL_LIST_FIELD_NUMBER;
      hash = (53 * hash) + getUnlockLevelListList().hashCode();
    }
    hash = (37 * hash) + IS_DEVELOP_MODULE_OPEN_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
        getIsDevelopModuleOpen());
    hash = (37 * hash) + IS_CONTENT_CLOSED_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
        getIsContentClosed());
    hash = (29 * hash) + unknownFields.hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static io.grasscutter.net.proto.activity.BartenderActivityDetailInfo parseFrom(
      java.nio.ByteBuffer data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static io.grasscutter.net.proto.activity.BartenderActivityDetailInfo parseFrom(
      java.nio.ByteBuffer data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static io.grasscutter.net.proto.activity.BartenderActivityDetailInfo parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static io.grasscutter.net.proto.activity.BartenderActivityDetailInfo parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static io.grasscutter.net.proto.activity.BartenderActivityDetailInfo parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static io.grasscutter.net.proto.activity.BartenderActivityDetailInfo parseFrom(
      byte[] data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static io.grasscutter.net.proto.activity.BartenderActivityDetailInfo parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static io.grasscutter.net.proto.activity.BartenderActivityDetailInfo 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 io.grasscutter.net.proto.activity.BartenderActivityDetailInfo parseDelimitedFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input);
  }
  public static io.grasscutter.net.proto.activity.BartenderActivityDetailInfo 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 io.grasscutter.net.proto.activity.BartenderActivityDetailInfo parseFrom(
      com.google.protobuf.CodedInputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static io.grasscutter.net.proto.activity.BartenderActivityDetailInfo 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(io.grasscutter.net.proto.activity.BartenderActivityDetailInfo 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 BartenderActivityDetailInfo}
   */
  public static final class Builder extends
      com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
      // @@protoc_insertion_point(builder_implements:BartenderActivityDetailInfo)
      io.grasscutter.net.proto.activity.BartenderActivityDetailInfoOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.grasscutter.net.proto.activity.Activity.internal_static_BartenderActivityDetailInfo_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.grasscutter.net.proto.activity.Activity.internal_static_BartenderActivityDetailInfo_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.grasscutter.net.proto.activity.BartenderActivityDetailInfo.class, io.grasscutter.net.proto.activity.BartenderActivityDetailInfo.Builder.class);
    }

    // Construct using io.grasscutter.net.proto.activity.BartenderActivityDetailInfo.newBuilder()
    private Builder() {
      maybeForceBuilderInitialization();
    }

    private Builder(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      super(parent);
      maybeForceBuilderInitialization();
    }
    private void maybeForceBuilderInitialization() {
      if (com.google.protobuf.GeneratedMessageV3
              .alwaysUseFieldBuilders) {
        getUnlockTaskListFieldBuilder();
        getUnlockLevelListFieldBuilder();
      }
    }
    @java.lang.Override
    public Builder clear() {
      super.clear();
      mBBDPMPHNGH_ = emptyIntList();
      bitField0_ = (bitField0_ & ~0x00000001);
      nLAAAAKIOJB_ = emptyIntList();
      bitField0_ = (bitField0_ & ~0x00000002);
      if (unlockTaskListBuilder_ == null) {
        unlockTaskList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
      } else {
        unlockTaskListBuilder_.clear();
      }
      if (unlockLevelListBuilder_ == null) {
        unlockLevelList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000008);
      } else {
        unlockLevelListBuilder_.clear();
      }
      isDevelopModuleOpen_ = false;

      isContentClosed_ = false;

      return this;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.Descriptor
        getDescriptorForType() {
      return io.grasscutter.net.proto.activity.Activity.internal_static_BartenderActivityDetailInfo_descriptor;
    }

    @java.lang.Override
    public io.grasscutter.net.proto.activity.BartenderActivityDetailInfo getDefaultInstanceForType() {
      return io.grasscutter.net.proto.activity.BartenderActivityDetailInfo.getDefaultInstance();
    }

    @java.lang.Override
    public io.grasscutter.net.proto.activity.BartenderActivityDetailInfo build() {
      io.grasscutter.net.proto.activity.BartenderActivityDetailInfo result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @java.lang.Override
    public io.grasscutter.net.proto.activity.BartenderActivityDetailInfo buildPartial() {
      io.grasscutter.net.proto.activity.BartenderActivityDetailInfo result = new io.grasscutter.net.proto.activity.BartenderActivityDetailInfo(this);
      int from_bitField0_ = bitField0_;
      if (((bitField0_ & 0x00000001) != 0)) {
        mBBDPMPHNGH_.makeImmutable();
        bitField0_ = (bitField0_ & ~0x00000001);
      }
      result.mBBDPMPHNGH_ = mBBDPMPHNGH_;
      if (((bitField0_ & 0x00000002) != 0)) {
        nLAAAAKIOJB_.makeImmutable();
        bitField0_ = (bitField0_ & ~0x00000002);
      }
      result.nLAAAAKIOJB_ = nLAAAAKIOJB_;
      if (unlockTaskListBuilder_ == null) {
        if (((bitField0_ & 0x00000004) != 0)) {
          unlockTaskList_ = java.util.Collections.unmodifiableList(unlockTaskList_);
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.unlockTaskList_ = unlockTaskList_;
      } else {
        result.unlockTaskList_ = unlockTaskListBuilder_.build();
      }
      if (unlockLevelListBuilder_ == null) {
        if (((bitField0_ & 0x00000008) != 0)) {
          unlockLevelList_ = java.util.Collections.unmodifiableList(unlockLevelList_);
          bitField0_ = (bitField0_ & ~0x00000008);
        }
        result.unlockLevelList_ = unlockLevelList_;
      } else {
        result.unlockLevelList_ = unlockLevelListBuilder_.build();
      }
      result.isDevelopModuleOpen_ = isDevelopModuleOpen_;
      result.isContentClosed_ = isContentClosed_;
      onBuilt();
      return result;
    }

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

    public Builder mergeFrom(io.grasscutter.net.proto.activity.BartenderActivityDetailInfo other) {
      if (other == io.grasscutter.net.proto.activity.BartenderActivityDetailInfo.getDefaultInstance()) return this;
      if (!other.mBBDPMPHNGH_.isEmpty()) {
        if (mBBDPMPHNGH_.isEmpty()) {
          mBBDPMPHNGH_ = other.mBBDPMPHNGH_;
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          ensureMBBDPMPHNGHIsMutable();
          mBBDPMPHNGH_.addAll(other.mBBDPMPHNGH_);
        }
        onChanged();
      }
      if (!other.nLAAAAKIOJB_.isEmpty()) {
        if (nLAAAAKIOJB_.isEmpty()) {
          nLAAAAKIOJB_ = other.nLAAAAKIOJB_;
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          ensureNLAAAAKIOJBIsMutable();
          nLAAAAKIOJB_.addAll(other.nLAAAAKIOJB_);
        }
        onChanged();
      }
      if (unlockTaskListBuilder_ == null) {
        if (!other.unlockTaskList_.isEmpty()) {
          if (unlockTaskList_.isEmpty()) {
            unlockTaskList_ = other.unlockTaskList_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureUnlockTaskListIsMutable();
            unlockTaskList_.addAll(other.unlockTaskList_);
          }
          onChanged();
        }
      } else {
        if (!other.unlockTaskList_.isEmpty()) {
          if (unlockTaskListBuilder_.isEmpty()) {
            unlockTaskListBuilder_.dispose();
            unlockTaskListBuilder_ = null;
            unlockTaskList_ = other.unlockTaskList_;
            bitField0_ = (bitField0_ & ~0x00000004);
            unlockTaskListBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getUnlockTaskListFieldBuilder() : null;
          } else {
            unlockTaskListBuilder_.addAllMessages(other.unlockTaskList_);
          }
        }
      }
      if (unlockLevelListBuilder_ == null) {
        if (!other.unlockLevelList_.isEmpty()) {
          if (unlockLevelList_.isEmpty()) {
            unlockLevelList_ = other.unlockLevelList_;
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            ensureUnlockLevelListIsMutable();
            unlockLevelList_.addAll(other.unlockLevelList_);
          }
          onChanged();
        }
      } else {
        if (!other.unlockLevelList_.isEmpty()) {
          if (unlockLevelListBuilder_.isEmpty()) {
            unlockLevelListBuilder_.dispose();
            unlockLevelListBuilder_ = null;
            unlockLevelList_ = other.unlockLevelList_;
            bitField0_ = (bitField0_ & ~0x00000008);
            unlockLevelListBuilder_ = 
              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                 getUnlockLevelListFieldBuilder() : null;
          } else {
            unlockLevelListBuilder_.addAllMessages(other.unlockLevelList_);
          }
        }
      }
      if (other.getIsDevelopModuleOpen() != false) {
        setIsDevelopModuleOpen(other.getIsDevelopModuleOpen());
      }
      if (other.getIsContentClosed() != false) {
        setIsContentClosed(other.getIsContentClosed());
      }
      this.mergeUnknownFields(other.unknownFields);
      onChanged();
      return this;
    }

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

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

    private com.google.protobuf.Internal.IntList mBBDPMPHNGH_ = emptyIntList();
    private void ensureMBBDPMPHNGHIsMutable() {
      if (!((bitField0_ & 0x00000001) != 0)) {
        mBBDPMPHNGH_ = mutableCopy(mBBDPMPHNGH_);
        bitField0_ |= 0x00000001;
       }
    }
    /**
     * <code>repeated uint32 MBBDPMPHNGH = 5;</code>
     * @return A list containing the mBBDPMPHNGH.
     */
    public java.util.List<java.lang.Integer>
        getMBBDPMPHNGHList() {
      return ((bitField0_ & 0x00000001) != 0) ?
               java.util.Collections.unmodifiableList(mBBDPMPHNGH_) : mBBDPMPHNGH_;
    }
    /**
     * <code>repeated uint32 MBBDPMPHNGH = 5;</code>
     * @return The count of mBBDPMPHNGH.
     */
    public int getMBBDPMPHNGHCount() {
      return mBBDPMPHNGH_.size();
    }
    /**
     * <code>repeated uint32 MBBDPMPHNGH = 5;</code>
     * @param index The index of the element to return.
     * @return The mBBDPMPHNGH at the given index.
     */
    public int getMBBDPMPHNGH(int index) {
      return mBBDPMPHNGH_.getInt(index);
    }
    /**
     * <code>repeated uint32 MBBDPMPHNGH = 5;</code>
     * @param index The index to set the value at.
     * @param value The mBBDPMPHNGH to set.
     * @return This builder for chaining.
     */
    public Builder setMBBDPMPHNGH(
        int index, int value) {
      ensureMBBDPMPHNGHIsMutable();
      mBBDPMPHNGH_.setInt(index, value);
      onChanged();
      return this;
    }
    /**
     * <code>repeated uint32 MBBDPMPHNGH = 5;</code>
     * @param value The mBBDPMPHNGH to add.
     * @return This builder for chaining.
     */
    public Builder addMBBDPMPHNGH(int value) {
      ensureMBBDPMPHNGHIsMutable();
      mBBDPMPHNGH_.addInt(value);
      onChanged();
      return this;
    }
    /**
     * <code>repeated uint32 MBBDPMPHNGH = 5;</code>
     * @param values The mBBDPMPHNGH to add.
     * @return This builder for chaining.
     */
    public Builder addAllMBBDPMPHNGH(
        java.lang.Iterable<? extends java.lang.Integer> values) {
      ensureMBBDPMPHNGHIsMutable();
      com.google.protobuf.AbstractMessageLite.Builder.addAll(
          values, mBBDPMPHNGH_);
      onChanged();
      return this;
    }
    /**
     * <code>repeated uint32 MBBDPMPHNGH = 5;</code>
     * @return This builder for chaining.
     */
    public Builder clearMBBDPMPHNGH() {
      mBBDPMPHNGH_ = emptyIntList();
      bitField0_ = (bitField0_ & ~0x00000001);
      onChanged();
      return this;
    }

    private com.google.protobuf.Internal.IntList nLAAAAKIOJB_ = emptyIntList();
    private void ensureNLAAAAKIOJBIsMutable() {
      if (!((bitField0_ & 0x00000002) != 0)) {
        nLAAAAKIOJB_ = mutableCopy(nLAAAAKIOJB_);
        bitField0_ |= 0x00000002;
       }
    }
    /**
     * <code>repeated uint32 NLAAAAKIOJB = 13;</code>
     * @return A list containing the nLAAAAKIOJB.
     */
    public java.util.List<java.lang.Integer>
        getNLAAAAKIOJBList() {
      return ((bitField0_ & 0x00000002) != 0) ?
               java.util.Collections.unmodifiableList(nLAAAAKIOJB_) : nLAAAAKIOJB_;
    }
    /**
     * <code>repeated uint32 NLAAAAKIOJB = 13;</code>
     * @return The count of nLAAAAKIOJB.
     */
    public int getNLAAAAKIOJBCount() {
      return nLAAAAKIOJB_.size();
    }
    /**
     * <code>repeated uint32 NLAAAAKIOJB = 13;</code>
     * @param index The index of the element to return.
     * @return The nLAAAAKIOJB at the given index.
     */
    public int getNLAAAAKIOJB(int index) {
      return nLAAAAKIOJB_.getInt(index);
    }
    /**
     * <code>repeated uint32 NLAAAAKIOJB = 13;</code>
     * @param index The index to set the value at.
     * @param value The nLAAAAKIOJB to set.
     * @return This builder for chaining.
     */
    public Builder setNLAAAAKIOJB(
        int index, int value) {
      ensureNLAAAAKIOJBIsMutable();
      nLAAAAKIOJB_.setInt(index, value);
      onChanged();
      return this;
    }
    /**
     * <code>repeated uint32 NLAAAAKIOJB = 13;</code>
     * @param value The nLAAAAKIOJB to add.
     * @return This builder for chaining.
     */
    public Builder addNLAAAAKIOJB(int value) {
      ensureNLAAAAKIOJBIsMutable();
      nLAAAAKIOJB_.addInt(value);
      onChanged();
      return this;
    }
    /**
     * <code>repeated uint32 NLAAAAKIOJB = 13;</code>
     * @param values The nLAAAAKIOJB to add.
     * @return This builder for chaining.
     */
    public Builder addAllNLAAAAKIOJB(
        java.lang.Iterable<? extends java.lang.Integer> values) {
      ensureNLAAAAKIOJBIsMutable();
      com.google.protobuf.AbstractMessageLite.Builder.addAll(
          values, nLAAAAKIOJB_);
      onChanged();
      return this;
    }
    /**
     * <code>repeated uint32 NLAAAAKIOJB = 13;</code>
     * @return This builder for chaining.
     */
    public Builder clearNLAAAAKIOJB() {
      nLAAAAKIOJB_ = emptyIntList();
      bitField0_ = (bitField0_ & ~0x00000002);
      onChanged();
      return this;
    }

    private java.util.List<io.grasscutter.net.proto.activity.BartenderTaskInfo> unlockTaskList_ =
      java.util.Collections.emptyList();
    private void ensureUnlockTaskListIsMutable() {
      if (!((bitField0_ & 0x00000004) != 0)) {
        unlockTaskList_ = new java.util.ArrayList<io.grasscutter.net.proto.activity.BartenderTaskInfo>(unlockTaskList_);
        bitField0_ |= 0x00000004;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.activity.BartenderTaskInfo, io.grasscutter.net.proto.activity.BartenderTaskInfo.Builder, io.grasscutter.net.proto.activity.BartenderTaskInfoOrBuilder> unlockTaskListBuilder_;

    /**
     * <code>repeated .BartenderTaskInfo unlock_task_list = 12;</code>
     */
    public java.util.List<io.grasscutter.net.proto.activity.BartenderTaskInfo> getUnlockTaskListList() {
      if (unlockTaskListBuilder_ == null) {
        return java.util.Collections.unmodifiableList(unlockTaskList_);
      } else {
        return unlockTaskListBuilder_.getMessageList();
      }
    }
    /**
     * <code>repeated .BartenderTaskInfo unlock_task_list = 12;</code>
     */
    public int getUnlockTaskListCount() {
      if (unlockTaskListBuilder_ == null) {
        return unlockTaskList_.size();
      } else {
        return unlockTaskListBuilder_.getCount();
      }
    }
    /**
     * <code>repeated .BartenderTaskInfo unlock_task_list = 12;</code>
     */
    public io.grasscutter.net.proto.activity.BartenderTaskInfo getUnlockTaskList(int index) {
      if (unlockTaskListBuilder_ == null) {
        return unlockTaskList_.get(index);
      } else {
        return unlockTaskListBuilder_.getMessage(index);
      }
    }
    /**
     * <code>repeated .BartenderTaskInfo unlock_task_list = 12;</code>
     */
    public Builder setUnlockTaskList(
        int index, io.grasscutter.net.proto.activity.BartenderTaskInfo value) {
      if (unlockTaskListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureUnlockTaskListIsMutable();
        unlockTaskList_.set(index, value);
        onChanged();
      } else {
        unlockTaskListBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .BartenderTaskInfo unlock_task_list = 12;</code>
     */
    public Builder setUnlockTaskList(
        int index, io.grasscutter.net.proto.activity.BartenderTaskInfo.Builder builderForValue) {
      if (unlockTaskListBuilder_ == null) {
        ensureUnlockTaskListIsMutable();
        unlockTaskList_.set(index, builderForValue.build());
        onChanged();
      } else {
        unlockTaskListBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .BartenderTaskInfo unlock_task_list = 12;</code>
     */
    public Builder addUnlockTaskList(io.grasscutter.net.proto.activity.BartenderTaskInfo value) {
      if (unlockTaskListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureUnlockTaskListIsMutable();
        unlockTaskList_.add(value);
        onChanged();
      } else {
        unlockTaskListBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * <code>repeated .BartenderTaskInfo unlock_task_list = 12;</code>
     */
    public Builder addUnlockTaskList(
        int index, io.grasscutter.net.proto.activity.BartenderTaskInfo value) {
      if (unlockTaskListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureUnlockTaskListIsMutable();
        unlockTaskList_.add(index, value);
        onChanged();
      } else {
        unlockTaskListBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .BartenderTaskInfo unlock_task_list = 12;</code>
     */
    public Builder addUnlockTaskList(
        io.grasscutter.net.proto.activity.BartenderTaskInfo.Builder builderForValue) {
      if (unlockTaskListBuilder_ == null) {
        ensureUnlockTaskListIsMutable();
        unlockTaskList_.add(builderForValue.build());
        onChanged();
      } else {
        unlockTaskListBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .BartenderTaskInfo unlock_task_list = 12;</code>
     */
    public Builder addUnlockTaskList(
        int index, io.grasscutter.net.proto.activity.BartenderTaskInfo.Builder builderForValue) {
      if (unlockTaskListBuilder_ == null) {
        ensureUnlockTaskListIsMutable();
        unlockTaskList_.add(index, builderForValue.build());
        onChanged();
      } else {
        unlockTaskListBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .BartenderTaskInfo unlock_task_list = 12;</code>
     */
    public Builder addAllUnlockTaskList(
        java.lang.Iterable<? extends io.grasscutter.net.proto.activity.BartenderTaskInfo> values) {
      if (unlockTaskListBuilder_ == null) {
        ensureUnlockTaskListIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, unlockTaskList_);
        onChanged();
      } else {
        unlockTaskListBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * <code>repeated .BartenderTaskInfo unlock_task_list = 12;</code>
     */
    public Builder clearUnlockTaskList() {
      if (unlockTaskListBuilder_ == null) {
        unlockTaskList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
      } else {
        unlockTaskListBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>repeated .BartenderTaskInfo unlock_task_list = 12;</code>
     */
    public Builder removeUnlockTaskList(int index) {
      if (unlockTaskListBuilder_ == null) {
        ensureUnlockTaskListIsMutable();
        unlockTaskList_.remove(index);
        onChanged();
      } else {
        unlockTaskListBuilder_.remove(index);
      }
      return this;
    }
    /**
     * <code>repeated .BartenderTaskInfo unlock_task_list = 12;</code>
     */
    public io.grasscutter.net.proto.activity.BartenderTaskInfo.Builder getUnlockTaskListBuilder(
        int index) {
      return getUnlockTaskListFieldBuilder().getBuilder(index);
    }
    /**
     * <code>repeated .BartenderTaskInfo unlock_task_list = 12;</code>
     */
    public io.grasscutter.net.proto.activity.BartenderTaskInfoOrBuilder getUnlockTaskListOrBuilder(
        int index) {
      if (unlockTaskListBuilder_ == null) {
        return unlockTaskList_.get(index);  } else {
        return unlockTaskListBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * <code>repeated .BartenderTaskInfo unlock_task_list = 12;</code>
     */
    public java.util.List<? extends io.grasscutter.net.proto.activity.BartenderTaskInfoOrBuilder> 
         getUnlockTaskListOrBuilderList() {
      if (unlockTaskListBuilder_ != null) {
        return unlockTaskListBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(unlockTaskList_);
      }
    }
    /**
     * <code>repeated .BartenderTaskInfo unlock_task_list = 12;</code>
     */
    public io.grasscutter.net.proto.activity.BartenderTaskInfo.Builder addUnlockTaskListBuilder() {
      return getUnlockTaskListFieldBuilder().addBuilder(
          io.grasscutter.net.proto.activity.BartenderTaskInfo.getDefaultInstance());
    }
    /**
     * <code>repeated .BartenderTaskInfo unlock_task_list = 12;</code>
     */
    public io.grasscutter.net.proto.activity.BartenderTaskInfo.Builder addUnlockTaskListBuilder(
        int index) {
      return getUnlockTaskListFieldBuilder().addBuilder(
          index, io.grasscutter.net.proto.activity.BartenderTaskInfo.getDefaultInstance());
    }
    /**
     * <code>repeated .BartenderTaskInfo unlock_task_list = 12;</code>
     */
    public java.util.List<io.grasscutter.net.proto.activity.BartenderTaskInfo.Builder> 
         getUnlockTaskListBuilderList() {
      return getUnlockTaskListFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.activity.BartenderTaskInfo, io.grasscutter.net.proto.activity.BartenderTaskInfo.Builder, io.grasscutter.net.proto.activity.BartenderTaskInfoOrBuilder> 
        getUnlockTaskListFieldBuilder() {
      if (unlockTaskListBuilder_ == null) {
        unlockTaskListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            io.grasscutter.net.proto.activity.BartenderTaskInfo, io.grasscutter.net.proto.activity.BartenderTaskInfo.Builder, io.grasscutter.net.proto.activity.BartenderTaskInfoOrBuilder>(
                unlockTaskList_,
                ((bitField0_ & 0x00000004) != 0),
                getParentForChildren(),
                isClean());
        unlockTaskList_ = null;
      }
      return unlockTaskListBuilder_;
    }

    private java.util.List<io.grasscutter.net.proto.activity.BartenderLevelInfo> unlockLevelList_ =
      java.util.Collections.emptyList();
    private void ensureUnlockLevelListIsMutable() {
      if (!((bitField0_ & 0x00000008) != 0)) {
        unlockLevelList_ = new java.util.ArrayList<io.grasscutter.net.proto.activity.BartenderLevelInfo>(unlockLevelList_);
        bitField0_ |= 0x00000008;
       }
    }

    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.activity.BartenderLevelInfo, io.grasscutter.net.proto.activity.BartenderLevelInfo.Builder, io.grasscutter.net.proto.activity.BartenderLevelInfoOrBuilder> unlockLevelListBuilder_;

    /**
     * <code>repeated .BartenderLevelInfo unlock_level_list = 15;</code>
     */
    public java.util.List<io.grasscutter.net.proto.activity.BartenderLevelInfo> getUnlockLevelListList() {
      if (unlockLevelListBuilder_ == null) {
        return java.util.Collections.unmodifiableList(unlockLevelList_);
      } else {
        return unlockLevelListBuilder_.getMessageList();
      }
    }
    /**
     * <code>repeated .BartenderLevelInfo unlock_level_list = 15;</code>
     */
    public int getUnlockLevelListCount() {
      if (unlockLevelListBuilder_ == null) {
        return unlockLevelList_.size();
      } else {
        return unlockLevelListBuilder_.getCount();
      }
    }
    /**
     * <code>repeated .BartenderLevelInfo unlock_level_list = 15;</code>
     */
    public io.grasscutter.net.proto.activity.BartenderLevelInfo getUnlockLevelList(int index) {
      if (unlockLevelListBuilder_ == null) {
        return unlockLevelList_.get(index);
      } else {
        return unlockLevelListBuilder_.getMessage(index);
      }
    }
    /**
     * <code>repeated .BartenderLevelInfo unlock_level_list = 15;</code>
     */
    public Builder setUnlockLevelList(
        int index, io.grasscutter.net.proto.activity.BartenderLevelInfo value) {
      if (unlockLevelListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureUnlockLevelListIsMutable();
        unlockLevelList_.set(index, value);
        onChanged();
      } else {
        unlockLevelListBuilder_.setMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .BartenderLevelInfo unlock_level_list = 15;</code>
     */
    public Builder setUnlockLevelList(
        int index, io.grasscutter.net.proto.activity.BartenderLevelInfo.Builder builderForValue) {
      if (unlockLevelListBuilder_ == null) {
        ensureUnlockLevelListIsMutable();
        unlockLevelList_.set(index, builderForValue.build());
        onChanged();
      } else {
        unlockLevelListBuilder_.setMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .BartenderLevelInfo unlock_level_list = 15;</code>
     */
    public Builder addUnlockLevelList(io.grasscutter.net.proto.activity.BartenderLevelInfo value) {
      if (unlockLevelListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureUnlockLevelListIsMutable();
        unlockLevelList_.add(value);
        onChanged();
      } else {
        unlockLevelListBuilder_.addMessage(value);
      }
      return this;
    }
    /**
     * <code>repeated .BartenderLevelInfo unlock_level_list = 15;</code>
     */
    public Builder addUnlockLevelList(
        int index, io.grasscutter.net.proto.activity.BartenderLevelInfo value) {
      if (unlockLevelListBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureUnlockLevelListIsMutable();
        unlockLevelList_.add(index, value);
        onChanged();
      } else {
        unlockLevelListBuilder_.addMessage(index, value);
      }
      return this;
    }
    /**
     * <code>repeated .BartenderLevelInfo unlock_level_list = 15;</code>
     */
    public Builder addUnlockLevelList(
        io.grasscutter.net.proto.activity.BartenderLevelInfo.Builder builderForValue) {
      if (unlockLevelListBuilder_ == null) {
        ensureUnlockLevelListIsMutable();
        unlockLevelList_.add(builderForValue.build());
        onChanged();
      } else {
        unlockLevelListBuilder_.addMessage(builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .BartenderLevelInfo unlock_level_list = 15;</code>
     */
    public Builder addUnlockLevelList(
        int index, io.grasscutter.net.proto.activity.BartenderLevelInfo.Builder builderForValue) {
      if (unlockLevelListBuilder_ == null) {
        ensureUnlockLevelListIsMutable();
        unlockLevelList_.add(index, builderForValue.build());
        onChanged();
      } else {
        unlockLevelListBuilder_.addMessage(index, builderForValue.build());
      }
      return this;
    }
    /**
     * <code>repeated .BartenderLevelInfo unlock_level_list = 15;</code>
     */
    public Builder addAllUnlockLevelList(
        java.lang.Iterable<? extends io.grasscutter.net.proto.activity.BartenderLevelInfo> values) {
      if (unlockLevelListBuilder_ == null) {
        ensureUnlockLevelListIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, unlockLevelList_);
        onChanged();
      } else {
        unlockLevelListBuilder_.addAllMessages(values);
      }
      return this;
    }
    /**
     * <code>repeated .BartenderLevelInfo unlock_level_list = 15;</code>
     */
    public Builder clearUnlockLevelList() {
      if (unlockLevelListBuilder_ == null) {
        unlockLevelList_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
      } else {
        unlockLevelListBuilder_.clear();
      }
      return this;
    }
    /**
     * <code>repeated .BartenderLevelInfo unlock_level_list = 15;</code>
     */
    public Builder removeUnlockLevelList(int index) {
      if (unlockLevelListBuilder_ == null) {
        ensureUnlockLevelListIsMutable();
        unlockLevelList_.remove(index);
        onChanged();
      } else {
        unlockLevelListBuilder_.remove(index);
      }
      return this;
    }
    /**
     * <code>repeated .BartenderLevelInfo unlock_level_list = 15;</code>
     */
    public io.grasscutter.net.proto.activity.BartenderLevelInfo.Builder getUnlockLevelListBuilder(
        int index) {
      return getUnlockLevelListFieldBuilder().getBuilder(index);
    }
    /**
     * <code>repeated .BartenderLevelInfo unlock_level_list = 15;</code>
     */
    public io.grasscutter.net.proto.activity.BartenderLevelInfoOrBuilder getUnlockLevelListOrBuilder(
        int index) {
      if (unlockLevelListBuilder_ == null) {
        return unlockLevelList_.get(index);  } else {
        return unlockLevelListBuilder_.getMessageOrBuilder(index);
      }
    }
    /**
     * <code>repeated .BartenderLevelInfo unlock_level_list = 15;</code>
     */
    public java.util.List<? extends io.grasscutter.net.proto.activity.BartenderLevelInfoOrBuilder> 
         getUnlockLevelListOrBuilderList() {
      if (unlockLevelListBuilder_ != null) {
        return unlockLevelListBuilder_.getMessageOrBuilderList();
      } else {
        return java.util.Collections.unmodifiableList(unlockLevelList_);
      }
    }
    /**
     * <code>repeated .BartenderLevelInfo unlock_level_list = 15;</code>
     */
    public io.grasscutter.net.proto.activity.BartenderLevelInfo.Builder addUnlockLevelListBuilder() {
      return getUnlockLevelListFieldBuilder().addBuilder(
          io.grasscutter.net.proto.activity.BartenderLevelInfo.getDefaultInstance());
    }
    /**
     * <code>repeated .BartenderLevelInfo unlock_level_list = 15;</code>
     */
    public io.grasscutter.net.proto.activity.BartenderLevelInfo.Builder addUnlockLevelListBuilder(
        int index) {
      return getUnlockLevelListFieldBuilder().addBuilder(
          index, io.grasscutter.net.proto.activity.BartenderLevelInfo.getDefaultInstance());
    }
    /**
     * <code>repeated .BartenderLevelInfo unlock_level_list = 15;</code>
     */
    public java.util.List<io.grasscutter.net.proto.activity.BartenderLevelInfo.Builder> 
         getUnlockLevelListBuilderList() {
      return getUnlockLevelListFieldBuilder().getBuilderList();
    }
    private com.google.protobuf.RepeatedFieldBuilderV3<
        io.grasscutter.net.proto.activity.BartenderLevelInfo, io.grasscutter.net.proto.activity.BartenderLevelInfo.Builder, io.grasscutter.net.proto.activity.BartenderLevelInfoOrBuilder> 
        getUnlockLevelListFieldBuilder() {
      if (unlockLevelListBuilder_ == null) {
        unlockLevelListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
            io.grasscutter.net.proto.activity.BartenderLevelInfo, io.grasscutter.net.proto.activity.BartenderLevelInfo.Builder, io.grasscutter.net.proto.activity.BartenderLevelInfoOrBuilder>(
                unlockLevelList_,
                ((bitField0_ & 0x00000008) != 0),
                getParentForChildren(),
                isClean());
        unlockLevelList_ = null;
      }
      return unlockLevelListBuilder_;
    }

    private boolean isDevelopModuleOpen_ ;
    /**
     * <code>bool is_develop_module_open = 1;</code>
     * @return The isDevelopModuleOpen.
     */
    @java.lang.Override
    public boolean getIsDevelopModuleOpen() {
      return isDevelopModuleOpen_;
    }
    /**
     * <code>bool is_develop_module_open = 1;</code>
     * @param value The isDevelopModuleOpen to set.
     * @return This builder for chaining.
     */
    public Builder setIsDevelopModuleOpen(boolean value) {
      
      isDevelopModuleOpen_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>bool is_develop_module_open = 1;</code>
     * @return This builder for chaining.
     */
    public Builder clearIsDevelopModuleOpen() {
      
      isDevelopModuleOpen_ = false;
      onChanged();
      return this;
    }

    private boolean isContentClosed_ ;
    /**
     * <code>bool is_content_closed = 7;</code>
     * @return The isContentClosed.
     */
    @java.lang.Override
    public boolean getIsContentClosed() {
      return isContentClosed_;
    }
    /**
     * <code>bool is_content_closed = 7;</code>
     * @param value The isContentClosed to set.
     * @return This builder for chaining.
     */
    public Builder setIsContentClosed(boolean value) {
      
      isContentClosed_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>bool is_content_closed = 7;</code>
     * @return This builder for chaining.
     */
    public Builder clearIsContentClosed() {
      
      isContentClosed_ = false;
      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:BartenderActivityDetailInfo)
  }

  // @@protoc_insertion_point(class_scope:BartenderActivityDetailInfo)
  private static final io.grasscutter.net.proto.activity.BartenderActivityDetailInfo DEFAULT_INSTANCE;
  static {
    DEFAULT_INSTANCE = new io.grasscutter.net.proto.activity.BartenderActivityDetailInfo();
  }

  public static io.grasscutter.net.proto.activity.BartenderActivityDetailInfo getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

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

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

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

  @java.lang.Override
  public io.grasscutter.net.proto.activity.BartenderActivityDetailInfo getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }

}

