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

package emu.grasscutter.net.proto;

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

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface ActivityInfoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:ActivityInfo)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>uint32 activityId = 1;</code>
     * @return The activityId.
     */
    int getActivityId();

    /**
     * <code>uint32 scheduleId = 2;</code>
     * @return The scheduleId.
     */
    int getScheduleId();

    /**
     * <code>uint32 beginTime = 3;</code>
     * @return The beginTime.
     */
    int getBeginTime();

    /**
     * <code>uint32 endTime = 4;</code>
     * @return The endTime.
     */
    int getEndTime();

    /**
     * <code>uint32 activityType = 5;</code>
     * @return The activityType.
     */
    int getActivityType();

    /**
     * <code>bool isPlayOpenAnim = 6;</code>
     * @return The isPlayOpenAnim.
     */
    boolean getIsPlayOpenAnim();

    /**
     * <code>bool isFinished = 7;</code>
     * @return The isFinished.
     */
    boolean getIsFinished();

    /**
     * <code>bool isStarting = 8;</code>
     * @return The isStarting.
     */
    boolean getIsStarting();

    /**
     * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
     */
    java.util.List<emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo> 
        getWatcherInfoListList();
    /**
     * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
     */
    emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo getWatcherInfoList(int index);
    /**
     * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
     */
    int getWatcherInfoListCount();
    /**
     * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
     */
    java.util.List<? extends emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfoOrBuilder> 
        getWatcherInfoListOrBuilderList();
    /**
     * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
     */
    emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfoOrBuilder getWatcherInfoListOrBuilder(
        int index);

    /**
     * <code>repeated uint32 meetCondList = 10;</code>
     * @return A list containing the meetCondList.
     */
    java.util.List<java.lang.Integer> getMeetCondListList();
    /**
     * <code>repeated uint32 meetCondList = 10;</code>
     * @return The count of meetCondList.
     */
    int getMeetCondListCount();
    /**
     * <code>repeated uint32 meetCondList = 10;</code>
     * @param index The index of the element to return.
     * @return The meetCondList at the given index.
     */
    int getMeetCondList(int index);

    /**
     * <code>repeated uint32 expireCondList = 15;</code>
     * @return A list containing the expireCondList.
     */
    java.util.List<java.lang.Integer> getExpireCondListList();
    /**
     * <code>repeated uint32 expireCondList = 15;</code>
     * @return The count of expireCondList.
     */
    int getExpireCondListCount();
    /**
     * <code>repeated uint32 expireCondList = 15;</code>
     * @param index The index of the element to return.
     * @return The expireCondList at the given index.
     */
    int getExpireCondList(int index);

    /**
     * <code>uint32 selectedAvatarRewardId = 17;</code>
     * @return The selectedAvatarRewardId.
     */
    int getSelectedAvatarRewardId();

    /**
     * <code>map&lt;uint32, uint32&gt; activityCoinMap = 18;</code>
     */
    int getActivityCoinMapCount();
    /**
     * <code>map&lt;uint32, uint32&gt; activityCoinMap = 18;</code>
     */
    boolean containsActivityCoinMap(
        int key);
    /**
     * Use {@link #getActivityCoinMapMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map<java.lang.Integer, java.lang.Integer>
    getActivityCoinMap();
    /**
     * <code>map&lt;uint32, uint32&gt; activityCoinMap = 18;</code>
     */
    java.util.Map<java.lang.Integer, java.lang.Integer>
    getActivityCoinMapMap();
    /**
     * <code>map&lt;uint32, uint32&gt; activityCoinMap = 18;</code>
     */

    int getActivityCoinMapOrDefault(
        int key,
        int defaultValue);
    /**
     * <code>map&lt;uint32, uint32&gt; activityCoinMap = 18;</code>
     */

    int getActivityCoinMapOrThrow(
        int key);

    /**
     * <code>uint32 scoreLimit = 19;</code>
     * @return The scoreLimit.
     */
    int getScoreLimit();

    /**
     * <code>uint32 curScore = 20;</code>
     * @return The curScore.
     */
    int getCurScore();

    /**
     * <code>repeated uint32 takenRewardList = 24;</code>
     * @return A list containing the takenRewardList.
     */
    java.util.List<java.lang.Integer> getTakenRewardListList();
    /**
     * <code>repeated uint32 takenRewardList = 24;</code>
     * @return The count of takenRewardList.
     */
    int getTakenRewardListCount();
    /**
     * <code>repeated uint32 takenRewardList = 24;</code>
     * @param index The index of the element to return.
     * @return The takenRewardList at the given index.
     */
    int getTakenRewardList(int index);

    /**
     * <code>.ActivityNullDetailInfo samLampInfo = 11;</code>
     * @return Whether the samLampInfo field is set.
     */
    boolean hasSamLampInfo();
    /**
     * <code>.ActivityNullDetailInfo samLampInfo = 11;</code>
     * @return The samLampInfo.
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getSamLampInfo();
    /**
     * <code>.ActivityNullDetailInfo samLampInfo = 11;</code>
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getSamLampInfoOrBuilder();

    /**
     * <code>.ActivityNullDetailInfo crucibleInfo = 12;</code>
     * @return Whether the crucibleInfo field is set.
     */
    boolean hasCrucibleInfo();
    /**
     * <code>.ActivityNullDetailInfo crucibleInfo = 12;</code>
     * @return The crucibleInfo.
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getCrucibleInfo();
    /**
     * <code>.ActivityNullDetailInfo crucibleInfo = 12;</code>
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getCrucibleInfoOrBuilder();

    /**
     * <code>.ActivityNullDetailInfo salesmanInfo = 13;</code>
     * @return Whether the salesmanInfo field is set.
     */
    boolean hasSalesmanInfo();
    /**
     * <code>.ActivityNullDetailInfo salesmanInfo = 13;</code>
     * @return The salesmanInfo.
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getSalesmanInfo();
    /**
     * <code>.ActivityNullDetailInfo salesmanInfo = 13;</code>
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getSalesmanInfoOrBuilder();

    /**
     * <code>.ActivityNullDetailInfo trialAvatarInfo = 14;</code>
     * @return Whether the trialAvatarInfo field is set.
     */
    boolean hasTrialAvatarInfo();
    /**
     * <code>.ActivityNullDetailInfo trialAvatarInfo = 14;</code>
     * @return The trialAvatarInfo.
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getTrialAvatarInfo();
    /**
     * <code>.ActivityNullDetailInfo trialAvatarInfo = 14;</code>
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getTrialAvatarInfoOrBuilder();

    /**
     * <code>.ActivityNullDetailInfo deliveryInfo = 16;</code>
     * @return Whether the deliveryInfo field is set.
     */
    boolean hasDeliveryInfo();
    /**
     * <code>.ActivityNullDetailInfo deliveryInfo = 16;</code>
     * @return The deliveryInfo.
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getDeliveryInfo();
    /**
     * <code>.ActivityNullDetailInfo deliveryInfo = 16;</code>
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getDeliveryInfoOrBuilder();

    /**
     * <code>.ActivityNullDetailInfo asterInfo = 21;</code>
     * @return Whether the asterInfo field is set.
     */
    boolean hasAsterInfo();
    /**
     * <code>.ActivityNullDetailInfo asterInfo = 21;</code>
     * @return The asterInfo.
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getAsterInfo();
    /**
     * <code>.ActivityNullDetailInfo asterInfo = 21;</code>
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getAsterInfoOrBuilder();

    /**
     * <code>.ActivityNullDetailInfo flightInfo = 25;</code>
     * @return Whether the flightInfo field is set.
     */
    boolean hasFlightInfo();
    /**
     * <code>.ActivityNullDetailInfo flightInfo = 25;</code>
     * @return The flightInfo.
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getFlightInfo();
    /**
     * <code>.ActivityNullDetailInfo flightInfo = 25;</code>
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getFlightInfoOrBuilder();

    /**
     * <code>.ActivityNullDetailInfo dragonSpineInfo = 31;</code>
     * @return Whether the dragonSpineInfo field is set.
     */
    boolean hasDragonSpineInfo();
    /**
     * <code>.ActivityNullDetailInfo dragonSpineInfo = 31;</code>
     * @return The dragonSpineInfo.
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getDragonSpineInfo();
    /**
     * <code>.ActivityNullDetailInfo dragonSpineInfo = 31;</code>
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getDragonSpineInfoOrBuilder();

    /**
     * <code>.ActivityNullDetailInfo effigyInfo = 32;</code>
     * @return Whether the effigyInfo field is set.
     */
    boolean hasEffigyInfo();
    /**
     * <code>.ActivityNullDetailInfo effigyInfo = 32;</code>
     * @return The effigyInfo.
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getEffigyInfo();
    /**
     * <code>.ActivityNullDetailInfo effigyInfo = 32;</code>
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getEffigyInfoOrBuilder();

    /**
     * <code>.ActivityNullDetailInfo treasureMapInfo = 35;</code>
     * @return Whether the treasureMapInfo field is set.
     */
    boolean hasTreasureMapInfo();
    /**
     * <code>.ActivityNullDetailInfo treasureMapInfo = 35;</code>
     * @return The treasureMapInfo.
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getTreasureMapInfo();
    /**
     * <code>.ActivityNullDetailInfo treasureMapInfo = 35;</code>
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getTreasureMapInfoOrBuilder();

    /**
     * <code>.ActivityNullDetailInfo blessingInfo = 41;</code>
     * @return Whether the blessingInfo field is set.
     */
    boolean hasBlessingInfo();
    /**
     * <code>.ActivityNullDetailInfo blessingInfo = 41;</code>
     * @return The blessingInfo.
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getBlessingInfo();
    /**
     * <code>.ActivityNullDetailInfo blessingInfo = 41;</code>
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getBlessingInfoOrBuilder();

    /**
     * <code>.ActivityNullDetailInfo seaLampInfo = 42;</code>
     * @return Whether the seaLampInfo field is set.
     */
    boolean hasSeaLampInfo();
    /**
     * <code>.ActivityNullDetailInfo seaLampInfo = 42;</code>
     * @return The seaLampInfo.
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getSeaLampInfo();
    /**
     * <code>.ActivityNullDetailInfo seaLampInfo = 42;</code>
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getSeaLampInfoOrBuilder();

    /**
     * <code>.ActivityNullDetailInfo expeditionInfo = 43;</code>
     * @return Whether the expeditionInfo field is set.
     */
    boolean hasExpeditionInfo();
    /**
     * <code>.ActivityNullDetailInfo expeditionInfo = 43;</code>
     * @return The expeditionInfo.
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getExpeditionInfo();
    /**
     * <code>.ActivityNullDetailInfo expeditionInfo = 43;</code>
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getExpeditionInfoOrBuilder();

    /**
     * <code>.ActivityNullDetailInfo arenaChallengeInfo = 44;</code>
     * @return Whether the arenaChallengeInfo field is set.
     */
    boolean hasArenaChallengeInfo();
    /**
     * <code>.ActivityNullDetailInfo arenaChallengeInfo = 44;</code>
     * @return The arenaChallengeInfo.
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getArenaChallengeInfo();
    /**
     * <code>.ActivityNullDetailInfo arenaChallengeInfo = 44;</code>
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getArenaChallengeInfoOrBuilder();

    /**
     * <code>.ActivityNullDetailInfo fleurFairInfo = 51;</code>
     * @return Whether the fleurFairInfo field is set.
     */
    boolean hasFleurFairInfo();
    /**
     * <code>.ActivityNullDetailInfo fleurFairInfo = 51;</code>
     * @return The fleurFairInfo.
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getFleurFairInfo();
    /**
     * <code>.ActivityNullDetailInfo fleurFairInfo = 51;</code>
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getFleurFairInfoOrBuilder();

    /**
     * <code>.ActivityNullDetailInfo waterSpiritInfo = 52;</code>
     * @return Whether the waterSpiritInfo field is set.
     */
    boolean hasWaterSpiritInfo();
    /**
     * <code>.ActivityNullDetailInfo waterSpiritInfo = 52;</code>
     * @return The waterSpiritInfo.
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getWaterSpiritInfo();
    /**
     * <code>.ActivityNullDetailInfo waterSpiritInfo = 52;</code>
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getWaterSpiritInfoOrBuilder();

    /**
     * <code>.ActivityNullDetailInfo challnelerSlabInfo = 61;</code>
     * @return Whether the challnelerSlabInfo field is set.
     */
    boolean hasChallnelerSlabInfo();
    /**
     * <code>.ActivityNullDetailInfo challnelerSlabInfo = 61;</code>
     * @return The challnelerSlabInfo.
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getChallnelerSlabInfo();
    /**
     * <code>.ActivityNullDetailInfo challnelerSlabInfo = 61;</code>
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getChallnelerSlabInfoOrBuilder();

    /**
     * <code>.ActivityNullDetailInfo mistTrialActivityInfo = 62;</code>
     * @return Whether the mistTrialActivityInfo field is set.
     */
    boolean hasMistTrialActivityInfo();
    /**
     * <code>.ActivityNullDetailInfo mistTrialActivityInfo = 62;</code>
     * @return The mistTrialActivityInfo.
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getMistTrialActivityInfo();
    /**
     * <code>.ActivityNullDetailInfo mistTrialActivityInfo = 62;</code>
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getMistTrialActivityInfoOrBuilder();

    /**
     * <code>.ActivityNullDetailInfo hideAndSeekInfo = 63;</code>
     * @return Whether the hideAndSeekInfo field is set.
     */
    boolean hasHideAndSeekInfo();
    /**
     * <code>.ActivityNullDetailInfo hideAndSeekInfo = 63;</code>
     * @return The hideAndSeekInfo.
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getHideAndSeekInfo();
    /**
     * <code>.ActivityNullDetailInfo hideAndSeekInfo = 63;</code>
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getHideAndSeekInfoOrBuilder();

    /**
     * <code>.ActivityNullDetailInfo findHilichurlInfo = 64;</code>
     * @return Whether the findHilichurlInfo field is set.
     */
    boolean hasFindHilichurlInfo();
    /**
     * <code>.ActivityNullDetailInfo findHilichurlInfo = 64;</code>
     * @return The findHilichurlInfo.
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getFindHilichurlInfo();
    /**
     * <code>.ActivityNullDetailInfo findHilichurlInfo = 64;</code>
     */
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getFindHilichurlInfoOrBuilder();

    public emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo.DetailCase getDetailCase();
  }
  /**
   * Protobuf type {@code ActivityInfo}
   */
  public static final class ActivityInfo extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:ActivityInfo)
      ActivityInfoOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ActivityInfo.newBuilder() to construct.
    private ActivityInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ActivityInfo() {
      watcherInfoList_ = java.util.Collections.emptyList();
      meetCondList_ = emptyIntList();
      expireCondList_ = emptyIntList();
      takenRewardList_ = emptyIntList();
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ActivityInfo(
        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: {

              activityId_ = input.readUInt32();
              break;
            }
            case 16: {

              scheduleId_ = input.readUInt32();
              break;
            }
            case 24: {

              beginTime_ = input.readUInt32();
              break;
            }
            case 32: {

              endTime_ = input.readUInt32();
              break;
            }
            case 40: {

              activityType_ = input.readUInt32();
              break;
            }
            case 48: {

              isPlayOpenAnim_ = input.readBool();
              break;
            }
            case 56: {

              isFinished_ = input.readBool();
              break;
            }
            case 64: {

              isStarting_ = input.readBool();
              break;
            }
            case 74: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                watcherInfoList_ = new java.util.ArrayList<emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo>();
                mutable_bitField0_ |= 0x00000001;
              }
              watcherInfoList_.add(
                  input.readMessage(emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.parser(), extensionRegistry));
              break;
            }
            case 80: {
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                meetCondList_ = newIntList();
                mutable_bitField0_ |= 0x00000002;
              }
              meetCondList_.addInt(input.readUInt32());
              break;
            }
            case 82: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000002) != 0) && input.getBytesUntilLimit() > 0) {
                meetCondList_ = newIntList();
                mutable_bitField0_ |= 0x00000002;
              }
              while (input.getBytesUntilLimit() > 0) {
                meetCondList_.addInt(input.readUInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 90: {
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder subBuilder = null;
              if (detailCase_ == 11) {
                subBuilder = ((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_).toBuilder();
              }
              detail_ =
                  input.readMessage(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
                detail_ = subBuilder.buildPartial();
              }
              detailCase_ = 11;
              break;
            }
            case 98: {
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder subBuilder = null;
              if (detailCase_ == 12) {
                subBuilder = ((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_).toBuilder();
              }
              detail_ =
                  input.readMessage(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
                detail_ = subBuilder.buildPartial();
              }
              detailCase_ = 12;
              break;
            }
            case 106: {
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder subBuilder = null;
              if (detailCase_ == 13) {
                subBuilder = ((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_).toBuilder();
              }
              detail_ =
                  input.readMessage(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
                detail_ = subBuilder.buildPartial();
              }
              detailCase_ = 13;
              break;
            }
            case 114: {
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder subBuilder = null;
              if (detailCase_ == 14) {
                subBuilder = ((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_).toBuilder();
              }
              detail_ =
                  input.readMessage(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
                detail_ = subBuilder.buildPartial();
              }
              detailCase_ = 14;
              break;
            }
            case 120: {
              if (!((mutable_bitField0_ & 0x00000004) != 0)) {
                expireCondList_ = newIntList();
                mutable_bitField0_ |= 0x00000004;
              }
              expireCondList_.addInt(input.readUInt32());
              break;
            }
            case 122: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000004) != 0) && input.getBytesUntilLimit() > 0) {
                expireCondList_ = newIntList();
                mutable_bitField0_ |= 0x00000004;
              }
              while (input.getBytesUntilLimit() > 0) {
                expireCondList_.addInt(input.readUInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 130: {
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder subBuilder = null;
              if (detailCase_ == 16) {
                subBuilder = ((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_).toBuilder();
              }
              detail_ =
                  input.readMessage(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
                detail_ = subBuilder.buildPartial();
              }
              detailCase_ = 16;
              break;
            }
            case 136: {

              selectedAvatarRewardId_ = input.readUInt32();
              break;
            }
            case 146: {
              if (!((mutable_bitField0_ & 0x00000008) != 0)) {
                activityCoinMap_ = com.google.protobuf.MapField.newMapField(
                    ActivityCoinMapDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000008;
              }
              com.google.protobuf.MapEntry<java.lang.Integer, java.lang.Integer>
              activityCoinMap__ = input.readMessage(
                  ActivityCoinMapDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              activityCoinMap_.getMutableMap().put(
                  activityCoinMap__.getKey(), activityCoinMap__.getValue());
              break;
            }
            case 152: {

              scoreLimit_ = input.readUInt32();
              break;
            }
            case 160: {

              curScore_ = input.readUInt32();
              break;
            }
            case 170: {
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder subBuilder = null;
              if (detailCase_ == 21) {
                subBuilder = ((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_).toBuilder();
              }
              detail_ =
                  input.readMessage(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
                detail_ = subBuilder.buildPartial();
              }
              detailCase_ = 21;
              break;
            }
            case 192: {
              if (!((mutable_bitField0_ & 0x00000010) != 0)) {
                takenRewardList_ = newIntList();
                mutable_bitField0_ |= 0x00000010;
              }
              takenRewardList_.addInt(input.readUInt32());
              break;
            }
            case 194: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000010) != 0) && input.getBytesUntilLimit() > 0) {
                takenRewardList_ = newIntList();
                mutable_bitField0_ |= 0x00000010;
              }
              while (input.getBytesUntilLimit() > 0) {
                takenRewardList_.addInt(input.readUInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 202: {
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder subBuilder = null;
              if (detailCase_ == 25) {
                subBuilder = ((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_).toBuilder();
              }
              detail_ =
                  input.readMessage(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
                detail_ = subBuilder.buildPartial();
              }
              detailCase_ = 25;
              break;
            }
            case 250: {
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder subBuilder = null;
              if (detailCase_ == 31) {
                subBuilder = ((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_).toBuilder();
              }
              detail_ =
                  input.readMessage(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
                detail_ = subBuilder.buildPartial();
              }
              detailCase_ = 31;
              break;
            }
            case 258: {
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder subBuilder = null;
              if (detailCase_ == 32) {
                subBuilder = ((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_).toBuilder();
              }
              detail_ =
                  input.readMessage(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
                detail_ = subBuilder.buildPartial();
              }
              detailCase_ = 32;
              break;
            }
            case 282: {
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder subBuilder = null;
              if (detailCase_ == 35) {
                subBuilder = ((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_).toBuilder();
              }
              detail_ =
                  input.readMessage(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
                detail_ = subBuilder.buildPartial();
              }
              detailCase_ = 35;
              break;
            }
            case 330: {
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder subBuilder = null;
              if (detailCase_ == 41) {
                subBuilder = ((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_).toBuilder();
              }
              detail_ =
                  input.readMessage(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
                detail_ = subBuilder.buildPartial();
              }
              detailCase_ = 41;
              break;
            }
            case 338: {
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder subBuilder = null;
              if (detailCase_ == 42) {
                subBuilder = ((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_).toBuilder();
              }
              detail_ =
                  input.readMessage(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
                detail_ = subBuilder.buildPartial();
              }
              detailCase_ = 42;
              break;
            }
            case 346: {
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder subBuilder = null;
              if (detailCase_ == 43) {
                subBuilder = ((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_).toBuilder();
              }
              detail_ =
                  input.readMessage(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
                detail_ = subBuilder.buildPartial();
              }
              detailCase_ = 43;
              break;
            }
            case 354: {
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder subBuilder = null;
              if (detailCase_ == 44) {
                subBuilder = ((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_).toBuilder();
              }
              detail_ =
                  input.readMessage(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
                detail_ = subBuilder.buildPartial();
              }
              detailCase_ = 44;
              break;
            }
            case 410: {
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder subBuilder = null;
              if (detailCase_ == 51) {
                subBuilder = ((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_).toBuilder();
              }
              detail_ =
                  input.readMessage(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
                detail_ = subBuilder.buildPartial();
              }
              detailCase_ = 51;
              break;
            }
            case 418: {
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder subBuilder = null;
              if (detailCase_ == 52) {
                subBuilder = ((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_).toBuilder();
              }
              detail_ =
                  input.readMessage(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
                detail_ = subBuilder.buildPartial();
              }
              detailCase_ = 52;
              break;
            }
            case 490: {
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder subBuilder = null;
              if (detailCase_ == 61) {
                subBuilder = ((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_).toBuilder();
              }
              detail_ =
                  input.readMessage(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
                detail_ = subBuilder.buildPartial();
              }
              detailCase_ = 61;
              break;
            }
            case 498: {
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder subBuilder = null;
              if (detailCase_ == 62) {
                subBuilder = ((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_).toBuilder();
              }
              detail_ =
                  input.readMessage(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
                detail_ = subBuilder.buildPartial();
              }
              detailCase_ = 62;
              break;
            }
            case 506: {
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder subBuilder = null;
              if (detailCase_ == 63) {
                subBuilder = ((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_).toBuilder();
              }
              detail_ =
                  input.readMessage(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
                detail_ = subBuilder.buildPartial();
              }
              detailCase_ = 63;
              break;
            }
            case 514: {
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder subBuilder = null;
              if (detailCase_ == 64) {
                subBuilder = ((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_).toBuilder();
              }
              detail_ =
                  input.readMessage(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
                detail_ = subBuilder.buildPartial();
              }
              detailCase_ = 64;
              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)) {
          watcherInfoList_ = java.util.Collections.unmodifiableList(watcherInfoList_);
        }
        if (((mutable_bitField0_ & 0x00000002) != 0)) {
          meetCondList_.makeImmutable(); // C
        }
        if (((mutable_bitField0_ & 0x00000004) != 0)) {
          expireCondList_.makeImmutable(); // C
        }
        if (((mutable_bitField0_ & 0x00000010) != 0)) {
          takenRewardList_.makeImmutable(); // C
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return emu.grasscutter.net.proto.ActivityInfoOuterClass.internal_static_ActivityInfo_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 18:
          return internalGetActivityCoinMap();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return emu.grasscutter.net.proto.ActivityInfoOuterClass.internal_static_ActivityInfo_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo.class, emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo.Builder.class);
    }

    private int detailCase_ = 0;
    private java.lang.Object detail_;
    public enum DetailCase
        implements com.google.protobuf.Internal.EnumLite,
            com.google.protobuf.AbstractMessage.InternalOneOfEnum {
      SAMLAMPINFO(11),
      CRUCIBLEINFO(12),
      SALESMANINFO(13),
      TRIALAVATARINFO(14),
      DELIVERYINFO(16),
      ASTERINFO(21),
      FLIGHTINFO(25),
      DRAGONSPINEINFO(31),
      EFFIGYINFO(32),
      TREASUREMAPINFO(35),
      BLESSINGINFO(41),
      SEALAMPINFO(42),
      EXPEDITIONINFO(43),
      ARENACHALLENGEINFO(44),
      FLEURFAIRINFO(51),
      WATERSPIRITINFO(52),
      CHALLNELERSLABINFO(61),
      MISTTRIALACTIVITYINFO(62),
      HIDEANDSEEKINFO(63),
      FINDHILICHURLINFO(64),
      DETAIL_NOT_SET(0);
      private final int value;
      private DetailCase(int value) {
        this.value = value;
      }
      /**
       * @param value The number of the enum to look for.
       * @return The enum associated with the given number.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static DetailCase valueOf(int value) {
        return forNumber(value);
      }

      public static DetailCase forNumber(int value) {
        switch (value) {
          case 11: return SAMLAMPINFO;
          case 12: return CRUCIBLEINFO;
          case 13: return SALESMANINFO;
          case 14: return TRIALAVATARINFO;
          case 16: return DELIVERYINFO;
          case 21: return ASTERINFO;
          case 25: return FLIGHTINFO;
          case 31: return DRAGONSPINEINFO;
          case 32: return EFFIGYINFO;
          case 35: return TREASUREMAPINFO;
          case 41: return BLESSINGINFO;
          case 42: return SEALAMPINFO;
          case 43: return EXPEDITIONINFO;
          case 44: return ARENACHALLENGEINFO;
          case 51: return FLEURFAIRINFO;
          case 52: return WATERSPIRITINFO;
          case 61: return CHALLNELERSLABINFO;
          case 62: return MISTTRIALACTIVITYINFO;
          case 63: return HIDEANDSEEKINFO;
          case 64: return FINDHILICHURLINFO;
          case 0: return DETAIL_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    public DetailCase
    getDetailCase() {
      return DetailCase.forNumber(
          detailCase_);
    }

    public static final int ACTIVITYID_FIELD_NUMBER = 1;
    private int activityId_;
    /**
     * <code>uint32 activityId = 1;</code>
     * @return The activityId.
     */
    @java.lang.Override
    public int getActivityId() {
      return activityId_;
    }

    public static final int SCHEDULEID_FIELD_NUMBER = 2;
    private int scheduleId_;
    /**
     * <code>uint32 scheduleId = 2;</code>
     * @return The scheduleId.
     */
    @java.lang.Override
    public int getScheduleId() {
      return scheduleId_;
    }

    public static final int BEGINTIME_FIELD_NUMBER = 3;
    private int beginTime_;
    /**
     * <code>uint32 beginTime = 3;</code>
     * @return The beginTime.
     */
    @java.lang.Override
    public int getBeginTime() {
      return beginTime_;
    }

    public static final int ENDTIME_FIELD_NUMBER = 4;
    private int endTime_;
    /**
     * <code>uint32 endTime = 4;</code>
     * @return The endTime.
     */
    @java.lang.Override
    public int getEndTime() {
      return endTime_;
    }

    public static final int ACTIVITYTYPE_FIELD_NUMBER = 5;
    private int activityType_;
    /**
     * <code>uint32 activityType = 5;</code>
     * @return The activityType.
     */
    @java.lang.Override
    public int getActivityType() {
      return activityType_;
    }

    public static final int ISPLAYOPENANIM_FIELD_NUMBER = 6;
    private boolean isPlayOpenAnim_;
    /**
     * <code>bool isPlayOpenAnim = 6;</code>
     * @return The isPlayOpenAnim.
     */
    @java.lang.Override
    public boolean getIsPlayOpenAnim() {
      return isPlayOpenAnim_;
    }

    public static final int ISFINISHED_FIELD_NUMBER = 7;
    private boolean isFinished_;
    /**
     * <code>bool isFinished = 7;</code>
     * @return The isFinished.
     */
    @java.lang.Override
    public boolean getIsFinished() {
      return isFinished_;
    }

    public static final int ISSTARTING_FIELD_NUMBER = 8;
    private boolean isStarting_;
    /**
     * <code>bool isStarting = 8;</code>
     * @return The isStarting.
     */
    @java.lang.Override
    public boolean getIsStarting() {
      return isStarting_;
    }

    public static final int WATCHERINFOLIST_FIELD_NUMBER = 9;
    private java.util.List<emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo> watcherInfoList_;
    /**
     * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
     */
    @java.lang.Override
    public java.util.List<emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo> getWatcherInfoListList() {
      return watcherInfoList_;
    }
    /**
     * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
     */
    @java.lang.Override
    public java.util.List<? extends emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfoOrBuilder> 
        getWatcherInfoListOrBuilderList() {
      return watcherInfoList_;
    }
    /**
     * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
     */
    @java.lang.Override
    public int getWatcherInfoListCount() {
      return watcherInfoList_.size();
    }
    /**
     * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo getWatcherInfoList(int index) {
      return watcherInfoList_.get(index);
    }
    /**
     * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfoOrBuilder getWatcherInfoListOrBuilder(
        int index) {
      return watcherInfoList_.get(index);
    }

    public static final int MEETCONDLIST_FIELD_NUMBER = 10;
    private com.google.protobuf.Internal.IntList meetCondList_;
    /**
     * <code>repeated uint32 meetCondList = 10;</code>
     * @return A list containing the meetCondList.
     */
    @java.lang.Override
    public java.util.List<java.lang.Integer>
        getMeetCondListList() {
      return meetCondList_;
    }
    /**
     * <code>repeated uint32 meetCondList = 10;</code>
     * @return The count of meetCondList.
     */
    public int getMeetCondListCount() {
      return meetCondList_.size();
    }
    /**
     * <code>repeated uint32 meetCondList = 10;</code>
     * @param index The index of the element to return.
     * @return The meetCondList at the given index.
     */
    public int getMeetCondList(int index) {
      return meetCondList_.getInt(index);
    }
    private int meetCondListMemoizedSerializedSize = -1;

    public static final int EXPIRECONDLIST_FIELD_NUMBER = 15;
    private com.google.protobuf.Internal.IntList expireCondList_;
    /**
     * <code>repeated uint32 expireCondList = 15;</code>
     * @return A list containing the expireCondList.
     */
    @java.lang.Override
    public java.util.List<java.lang.Integer>
        getExpireCondListList() {
      return expireCondList_;
    }
    /**
     * <code>repeated uint32 expireCondList = 15;</code>
     * @return The count of expireCondList.
     */
    public int getExpireCondListCount() {
      return expireCondList_.size();
    }
    /**
     * <code>repeated uint32 expireCondList = 15;</code>
     * @param index The index of the element to return.
     * @return The expireCondList at the given index.
     */
    public int getExpireCondList(int index) {
      return expireCondList_.getInt(index);
    }
    private int expireCondListMemoizedSerializedSize = -1;

    public static final int SELECTEDAVATARREWARDID_FIELD_NUMBER = 17;
    private int selectedAvatarRewardId_;
    /**
     * <code>uint32 selectedAvatarRewardId = 17;</code>
     * @return The selectedAvatarRewardId.
     */
    @java.lang.Override
    public int getSelectedAvatarRewardId() {
      return selectedAvatarRewardId_;
    }

    public static final int ACTIVITYCOINMAP_FIELD_NUMBER = 18;
    private static final class ActivityCoinMapDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.Integer, java.lang.Integer> defaultEntry =
              com.google.protobuf.MapEntry
              .<java.lang.Integer, java.lang.Integer>newDefaultInstance(
                  emu.grasscutter.net.proto.ActivityInfoOuterClass.internal_static_ActivityInfo_ActivityCoinMapEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.UINT32,
                  0,
                  com.google.protobuf.WireFormat.FieldType.UINT32,
                  0);
    }
    private com.google.protobuf.MapField<
        java.lang.Integer, java.lang.Integer> activityCoinMap_;
    private com.google.protobuf.MapField<java.lang.Integer, java.lang.Integer>
    internalGetActivityCoinMap() {
      if (activityCoinMap_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            ActivityCoinMapDefaultEntryHolder.defaultEntry);
      }
      return activityCoinMap_;
    }

    public int getActivityCoinMapCount() {
      return internalGetActivityCoinMap().getMap().size();
    }
    /**
     * <code>map&lt;uint32, uint32&gt; activityCoinMap = 18;</code>
     */

    @java.lang.Override
    public boolean containsActivityCoinMap(
        int key) {
      
      return internalGetActivityCoinMap().getMap().containsKey(key);
    }
    /**
     * Use {@link #getActivityCoinMapMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map<java.lang.Integer, java.lang.Integer> getActivityCoinMap() {
      return getActivityCoinMapMap();
    }
    /**
     * <code>map&lt;uint32, uint32&gt; activityCoinMap = 18;</code>
     */
    @java.lang.Override

    public java.util.Map<java.lang.Integer, java.lang.Integer> getActivityCoinMapMap() {
      return internalGetActivityCoinMap().getMap();
    }
    /**
     * <code>map&lt;uint32, uint32&gt; activityCoinMap = 18;</code>
     */
    @java.lang.Override

    public int getActivityCoinMapOrDefault(
        int key,
        int defaultValue) {
      
      java.util.Map<java.lang.Integer, java.lang.Integer> map =
          internalGetActivityCoinMap().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * <code>map&lt;uint32, uint32&gt; activityCoinMap = 18;</code>
     */
    @java.lang.Override

    public int getActivityCoinMapOrThrow(
        int key) {
      
      java.util.Map<java.lang.Integer, java.lang.Integer> map =
          internalGetActivityCoinMap().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    public static final int SCORELIMIT_FIELD_NUMBER = 19;
    private int scoreLimit_;
    /**
     * <code>uint32 scoreLimit = 19;</code>
     * @return The scoreLimit.
     */
    @java.lang.Override
    public int getScoreLimit() {
      return scoreLimit_;
    }

    public static final int CURSCORE_FIELD_NUMBER = 20;
    private int curScore_;
    /**
     * <code>uint32 curScore = 20;</code>
     * @return The curScore.
     */
    @java.lang.Override
    public int getCurScore() {
      return curScore_;
    }

    public static final int TAKENREWARDLIST_FIELD_NUMBER = 24;
    private com.google.protobuf.Internal.IntList takenRewardList_;
    /**
     * <code>repeated uint32 takenRewardList = 24;</code>
     * @return A list containing the takenRewardList.
     */
    @java.lang.Override
    public java.util.List<java.lang.Integer>
        getTakenRewardListList() {
      return takenRewardList_;
    }
    /**
     * <code>repeated uint32 takenRewardList = 24;</code>
     * @return The count of takenRewardList.
     */
    public int getTakenRewardListCount() {
      return takenRewardList_.size();
    }
    /**
     * <code>repeated uint32 takenRewardList = 24;</code>
     * @param index The index of the element to return.
     * @return The takenRewardList at the given index.
     */
    public int getTakenRewardList(int index) {
      return takenRewardList_.getInt(index);
    }
    private int takenRewardListMemoizedSerializedSize = -1;

    public static final int SAMLAMPINFO_FIELD_NUMBER = 11;
    /**
     * <code>.ActivityNullDetailInfo samLampInfo = 11;</code>
     * @return Whether the samLampInfo field is set.
     */
    @java.lang.Override
    public boolean hasSamLampInfo() {
      return detailCase_ == 11;
    }
    /**
     * <code>.ActivityNullDetailInfo samLampInfo = 11;</code>
     * @return The samLampInfo.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getSamLampInfo() {
      if (detailCase_ == 11) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }
    /**
     * <code>.ActivityNullDetailInfo samLampInfo = 11;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getSamLampInfoOrBuilder() {
      if (detailCase_ == 11) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }

    public static final int CRUCIBLEINFO_FIELD_NUMBER = 12;
    /**
     * <code>.ActivityNullDetailInfo crucibleInfo = 12;</code>
     * @return Whether the crucibleInfo field is set.
     */
    @java.lang.Override
    public boolean hasCrucibleInfo() {
      return detailCase_ == 12;
    }
    /**
     * <code>.ActivityNullDetailInfo crucibleInfo = 12;</code>
     * @return The crucibleInfo.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getCrucibleInfo() {
      if (detailCase_ == 12) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }
    /**
     * <code>.ActivityNullDetailInfo crucibleInfo = 12;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getCrucibleInfoOrBuilder() {
      if (detailCase_ == 12) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }

    public static final int SALESMANINFO_FIELD_NUMBER = 13;
    /**
     * <code>.ActivityNullDetailInfo salesmanInfo = 13;</code>
     * @return Whether the salesmanInfo field is set.
     */
    @java.lang.Override
    public boolean hasSalesmanInfo() {
      return detailCase_ == 13;
    }
    /**
     * <code>.ActivityNullDetailInfo salesmanInfo = 13;</code>
     * @return The salesmanInfo.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getSalesmanInfo() {
      if (detailCase_ == 13) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }
    /**
     * <code>.ActivityNullDetailInfo salesmanInfo = 13;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getSalesmanInfoOrBuilder() {
      if (detailCase_ == 13) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }

    public static final int TRIALAVATARINFO_FIELD_NUMBER = 14;
    /**
     * <code>.ActivityNullDetailInfo trialAvatarInfo = 14;</code>
     * @return Whether the trialAvatarInfo field is set.
     */
    @java.lang.Override
    public boolean hasTrialAvatarInfo() {
      return detailCase_ == 14;
    }
    /**
     * <code>.ActivityNullDetailInfo trialAvatarInfo = 14;</code>
     * @return The trialAvatarInfo.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getTrialAvatarInfo() {
      if (detailCase_ == 14) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }
    /**
     * <code>.ActivityNullDetailInfo trialAvatarInfo = 14;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getTrialAvatarInfoOrBuilder() {
      if (detailCase_ == 14) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }

    public static final int DELIVERYINFO_FIELD_NUMBER = 16;
    /**
     * <code>.ActivityNullDetailInfo deliveryInfo = 16;</code>
     * @return Whether the deliveryInfo field is set.
     */
    @java.lang.Override
    public boolean hasDeliveryInfo() {
      return detailCase_ == 16;
    }
    /**
     * <code>.ActivityNullDetailInfo deliveryInfo = 16;</code>
     * @return The deliveryInfo.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getDeliveryInfo() {
      if (detailCase_ == 16) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }
    /**
     * <code>.ActivityNullDetailInfo deliveryInfo = 16;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getDeliveryInfoOrBuilder() {
      if (detailCase_ == 16) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }

    public static final int ASTERINFO_FIELD_NUMBER = 21;
    /**
     * <code>.ActivityNullDetailInfo asterInfo = 21;</code>
     * @return Whether the asterInfo field is set.
     */
    @java.lang.Override
    public boolean hasAsterInfo() {
      return detailCase_ == 21;
    }
    /**
     * <code>.ActivityNullDetailInfo asterInfo = 21;</code>
     * @return The asterInfo.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getAsterInfo() {
      if (detailCase_ == 21) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }
    /**
     * <code>.ActivityNullDetailInfo asterInfo = 21;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getAsterInfoOrBuilder() {
      if (detailCase_ == 21) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }

    public static final int FLIGHTINFO_FIELD_NUMBER = 25;
    /**
     * <code>.ActivityNullDetailInfo flightInfo = 25;</code>
     * @return Whether the flightInfo field is set.
     */
    @java.lang.Override
    public boolean hasFlightInfo() {
      return detailCase_ == 25;
    }
    /**
     * <code>.ActivityNullDetailInfo flightInfo = 25;</code>
     * @return The flightInfo.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getFlightInfo() {
      if (detailCase_ == 25) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }
    /**
     * <code>.ActivityNullDetailInfo flightInfo = 25;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getFlightInfoOrBuilder() {
      if (detailCase_ == 25) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }

    public static final int DRAGONSPINEINFO_FIELD_NUMBER = 31;
    /**
     * <code>.ActivityNullDetailInfo dragonSpineInfo = 31;</code>
     * @return Whether the dragonSpineInfo field is set.
     */
    @java.lang.Override
    public boolean hasDragonSpineInfo() {
      return detailCase_ == 31;
    }
    /**
     * <code>.ActivityNullDetailInfo dragonSpineInfo = 31;</code>
     * @return The dragonSpineInfo.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getDragonSpineInfo() {
      if (detailCase_ == 31) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }
    /**
     * <code>.ActivityNullDetailInfo dragonSpineInfo = 31;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getDragonSpineInfoOrBuilder() {
      if (detailCase_ == 31) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }

    public static final int EFFIGYINFO_FIELD_NUMBER = 32;
    /**
     * <code>.ActivityNullDetailInfo effigyInfo = 32;</code>
     * @return Whether the effigyInfo field is set.
     */
    @java.lang.Override
    public boolean hasEffigyInfo() {
      return detailCase_ == 32;
    }
    /**
     * <code>.ActivityNullDetailInfo effigyInfo = 32;</code>
     * @return The effigyInfo.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getEffigyInfo() {
      if (detailCase_ == 32) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }
    /**
     * <code>.ActivityNullDetailInfo effigyInfo = 32;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getEffigyInfoOrBuilder() {
      if (detailCase_ == 32) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }

    public static final int TREASUREMAPINFO_FIELD_NUMBER = 35;
    /**
     * <code>.ActivityNullDetailInfo treasureMapInfo = 35;</code>
     * @return Whether the treasureMapInfo field is set.
     */
    @java.lang.Override
    public boolean hasTreasureMapInfo() {
      return detailCase_ == 35;
    }
    /**
     * <code>.ActivityNullDetailInfo treasureMapInfo = 35;</code>
     * @return The treasureMapInfo.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getTreasureMapInfo() {
      if (detailCase_ == 35) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }
    /**
     * <code>.ActivityNullDetailInfo treasureMapInfo = 35;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getTreasureMapInfoOrBuilder() {
      if (detailCase_ == 35) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }

    public static final int BLESSINGINFO_FIELD_NUMBER = 41;
    /**
     * <code>.ActivityNullDetailInfo blessingInfo = 41;</code>
     * @return Whether the blessingInfo field is set.
     */
    @java.lang.Override
    public boolean hasBlessingInfo() {
      return detailCase_ == 41;
    }
    /**
     * <code>.ActivityNullDetailInfo blessingInfo = 41;</code>
     * @return The blessingInfo.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getBlessingInfo() {
      if (detailCase_ == 41) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }
    /**
     * <code>.ActivityNullDetailInfo blessingInfo = 41;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getBlessingInfoOrBuilder() {
      if (detailCase_ == 41) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }

    public static final int SEALAMPINFO_FIELD_NUMBER = 42;
    /**
     * <code>.ActivityNullDetailInfo seaLampInfo = 42;</code>
     * @return Whether the seaLampInfo field is set.
     */
    @java.lang.Override
    public boolean hasSeaLampInfo() {
      return detailCase_ == 42;
    }
    /**
     * <code>.ActivityNullDetailInfo seaLampInfo = 42;</code>
     * @return The seaLampInfo.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getSeaLampInfo() {
      if (detailCase_ == 42) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }
    /**
     * <code>.ActivityNullDetailInfo seaLampInfo = 42;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getSeaLampInfoOrBuilder() {
      if (detailCase_ == 42) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }

    public static final int EXPEDITIONINFO_FIELD_NUMBER = 43;
    /**
     * <code>.ActivityNullDetailInfo expeditionInfo = 43;</code>
     * @return Whether the expeditionInfo field is set.
     */
    @java.lang.Override
    public boolean hasExpeditionInfo() {
      return detailCase_ == 43;
    }
    /**
     * <code>.ActivityNullDetailInfo expeditionInfo = 43;</code>
     * @return The expeditionInfo.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getExpeditionInfo() {
      if (detailCase_ == 43) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }
    /**
     * <code>.ActivityNullDetailInfo expeditionInfo = 43;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getExpeditionInfoOrBuilder() {
      if (detailCase_ == 43) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }

    public static final int ARENACHALLENGEINFO_FIELD_NUMBER = 44;
    /**
     * <code>.ActivityNullDetailInfo arenaChallengeInfo = 44;</code>
     * @return Whether the arenaChallengeInfo field is set.
     */
    @java.lang.Override
    public boolean hasArenaChallengeInfo() {
      return detailCase_ == 44;
    }
    /**
     * <code>.ActivityNullDetailInfo arenaChallengeInfo = 44;</code>
     * @return The arenaChallengeInfo.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getArenaChallengeInfo() {
      if (detailCase_ == 44) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }
    /**
     * <code>.ActivityNullDetailInfo arenaChallengeInfo = 44;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getArenaChallengeInfoOrBuilder() {
      if (detailCase_ == 44) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }

    public static final int FLEURFAIRINFO_FIELD_NUMBER = 51;
    /**
     * <code>.ActivityNullDetailInfo fleurFairInfo = 51;</code>
     * @return Whether the fleurFairInfo field is set.
     */
    @java.lang.Override
    public boolean hasFleurFairInfo() {
      return detailCase_ == 51;
    }
    /**
     * <code>.ActivityNullDetailInfo fleurFairInfo = 51;</code>
     * @return The fleurFairInfo.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getFleurFairInfo() {
      if (detailCase_ == 51) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }
    /**
     * <code>.ActivityNullDetailInfo fleurFairInfo = 51;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getFleurFairInfoOrBuilder() {
      if (detailCase_ == 51) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }

    public static final int WATERSPIRITINFO_FIELD_NUMBER = 52;
    /**
     * <code>.ActivityNullDetailInfo waterSpiritInfo = 52;</code>
     * @return Whether the waterSpiritInfo field is set.
     */
    @java.lang.Override
    public boolean hasWaterSpiritInfo() {
      return detailCase_ == 52;
    }
    /**
     * <code>.ActivityNullDetailInfo waterSpiritInfo = 52;</code>
     * @return The waterSpiritInfo.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getWaterSpiritInfo() {
      if (detailCase_ == 52) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }
    /**
     * <code>.ActivityNullDetailInfo waterSpiritInfo = 52;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getWaterSpiritInfoOrBuilder() {
      if (detailCase_ == 52) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }

    public static final int CHALLNELERSLABINFO_FIELD_NUMBER = 61;
    /**
     * <code>.ActivityNullDetailInfo challnelerSlabInfo = 61;</code>
     * @return Whether the challnelerSlabInfo field is set.
     */
    @java.lang.Override
    public boolean hasChallnelerSlabInfo() {
      return detailCase_ == 61;
    }
    /**
     * <code>.ActivityNullDetailInfo challnelerSlabInfo = 61;</code>
     * @return The challnelerSlabInfo.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getChallnelerSlabInfo() {
      if (detailCase_ == 61) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }
    /**
     * <code>.ActivityNullDetailInfo challnelerSlabInfo = 61;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getChallnelerSlabInfoOrBuilder() {
      if (detailCase_ == 61) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }

    public static final int MISTTRIALACTIVITYINFO_FIELD_NUMBER = 62;
    /**
     * <code>.ActivityNullDetailInfo mistTrialActivityInfo = 62;</code>
     * @return Whether the mistTrialActivityInfo field is set.
     */
    @java.lang.Override
    public boolean hasMistTrialActivityInfo() {
      return detailCase_ == 62;
    }
    /**
     * <code>.ActivityNullDetailInfo mistTrialActivityInfo = 62;</code>
     * @return The mistTrialActivityInfo.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getMistTrialActivityInfo() {
      if (detailCase_ == 62) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }
    /**
     * <code>.ActivityNullDetailInfo mistTrialActivityInfo = 62;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getMistTrialActivityInfoOrBuilder() {
      if (detailCase_ == 62) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }

    public static final int HIDEANDSEEKINFO_FIELD_NUMBER = 63;
    /**
     * <code>.ActivityNullDetailInfo hideAndSeekInfo = 63;</code>
     * @return Whether the hideAndSeekInfo field is set.
     */
    @java.lang.Override
    public boolean hasHideAndSeekInfo() {
      return detailCase_ == 63;
    }
    /**
     * <code>.ActivityNullDetailInfo hideAndSeekInfo = 63;</code>
     * @return The hideAndSeekInfo.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getHideAndSeekInfo() {
      if (detailCase_ == 63) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }
    /**
     * <code>.ActivityNullDetailInfo hideAndSeekInfo = 63;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getHideAndSeekInfoOrBuilder() {
      if (detailCase_ == 63) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }

    public static final int FINDHILICHURLINFO_FIELD_NUMBER = 64;
    /**
     * <code>.ActivityNullDetailInfo findHilichurlInfo = 64;</code>
     * @return Whether the findHilichurlInfo field is set.
     */
    @java.lang.Override
    public boolean hasFindHilichurlInfo() {
      return detailCase_ == 64;
    }
    /**
     * <code>.ActivityNullDetailInfo findHilichurlInfo = 64;</code>
     * @return The findHilichurlInfo.
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getFindHilichurlInfo() {
      if (detailCase_ == 64) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }
    /**
     * <code>.ActivityNullDetailInfo findHilichurlInfo = 64;</code>
     */
    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getFindHilichurlInfoOrBuilder() {
      if (detailCase_ == 64) {
         return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
      }
      return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
    }

    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 (activityId_ != 0) {
        output.writeUInt32(1, activityId_);
      }
      if (scheduleId_ != 0) {
        output.writeUInt32(2, scheduleId_);
      }
      if (beginTime_ != 0) {
        output.writeUInt32(3, beginTime_);
      }
      if (endTime_ != 0) {
        output.writeUInt32(4, endTime_);
      }
      if (activityType_ != 0) {
        output.writeUInt32(5, activityType_);
      }
      if (isPlayOpenAnim_ != false) {
        output.writeBool(6, isPlayOpenAnim_);
      }
      if (isFinished_ != false) {
        output.writeBool(7, isFinished_);
      }
      if (isStarting_ != false) {
        output.writeBool(8, isStarting_);
      }
      for (int i = 0; i < watcherInfoList_.size(); i++) {
        output.writeMessage(9, watcherInfoList_.get(i));
      }
      if (getMeetCondListList().size() > 0) {
        output.writeUInt32NoTag(82);
        output.writeUInt32NoTag(meetCondListMemoizedSerializedSize);
      }
      for (int i = 0; i < meetCondList_.size(); i++) {
        output.writeUInt32NoTag(meetCondList_.getInt(i));
      }
      if (detailCase_ == 11) {
        output.writeMessage(11, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 12) {
        output.writeMessage(12, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 13) {
        output.writeMessage(13, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 14) {
        output.writeMessage(14, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (getExpireCondListList().size() > 0) {
        output.writeUInt32NoTag(122);
        output.writeUInt32NoTag(expireCondListMemoizedSerializedSize);
      }
      for (int i = 0; i < expireCondList_.size(); i++) {
        output.writeUInt32NoTag(expireCondList_.getInt(i));
      }
      if (detailCase_ == 16) {
        output.writeMessage(16, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (selectedAvatarRewardId_ != 0) {
        output.writeUInt32(17, selectedAvatarRewardId_);
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeIntegerMapTo(
          output,
          internalGetActivityCoinMap(),
          ActivityCoinMapDefaultEntryHolder.defaultEntry,
          18);
      if (scoreLimit_ != 0) {
        output.writeUInt32(19, scoreLimit_);
      }
      if (curScore_ != 0) {
        output.writeUInt32(20, curScore_);
      }
      if (detailCase_ == 21) {
        output.writeMessage(21, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (getTakenRewardListList().size() > 0) {
        output.writeUInt32NoTag(194);
        output.writeUInt32NoTag(takenRewardListMemoizedSerializedSize);
      }
      for (int i = 0; i < takenRewardList_.size(); i++) {
        output.writeUInt32NoTag(takenRewardList_.getInt(i));
      }
      if (detailCase_ == 25) {
        output.writeMessage(25, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 31) {
        output.writeMessage(31, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 32) {
        output.writeMessage(32, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 35) {
        output.writeMessage(35, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 41) {
        output.writeMessage(41, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 42) {
        output.writeMessage(42, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 43) {
        output.writeMessage(43, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 44) {
        output.writeMessage(44, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 51) {
        output.writeMessage(51, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 52) {
        output.writeMessage(52, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 61) {
        output.writeMessage(61, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 62) {
        output.writeMessage(62, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 63) {
        output.writeMessage(63, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 64) {
        output.writeMessage(64, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (activityId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, activityId_);
      }
      if (scheduleId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, scheduleId_);
      }
      if (beginTime_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, beginTime_);
      }
      if (endTime_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, endTime_);
      }
      if (activityType_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, activityType_);
      }
      if (isPlayOpenAnim_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(6, isPlayOpenAnim_);
      }
      if (isFinished_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(7, isFinished_);
      }
      if (isStarting_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(8, isStarting_);
      }
      for (int i = 0; i < watcherInfoList_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, watcherInfoList_.get(i));
      }
      {
        int dataSize = 0;
        for (int i = 0; i < meetCondList_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(meetCondList_.getInt(i));
        }
        size += dataSize;
        if (!getMeetCondListList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        meetCondListMemoizedSerializedSize = dataSize;
      }
      if (detailCase_ == 11) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(11, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 12) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(12, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 13) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(13, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 14) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(14, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < expireCondList_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(expireCondList_.getInt(i));
        }
        size += dataSize;
        if (!getExpireCondListList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        expireCondListMemoizedSerializedSize = dataSize;
      }
      if (detailCase_ == 16) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(16, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (selectedAvatarRewardId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(17, selectedAvatarRewardId_);
      }
      for (java.util.Map.Entry<java.lang.Integer, java.lang.Integer> entry
           : internalGetActivityCoinMap().getMap().entrySet()) {
        com.google.protobuf.MapEntry<java.lang.Integer, java.lang.Integer>
        activityCoinMap__ = ActivityCoinMapDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(18, activityCoinMap__);
      }
      if (scoreLimit_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(19, scoreLimit_);
      }
      if (curScore_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(20, curScore_);
      }
      if (detailCase_ == 21) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(21, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < takenRewardList_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(takenRewardList_.getInt(i));
        }
        size += dataSize;
        if (!getTakenRewardListList().isEmpty()) {
          size += 2;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        takenRewardListMemoizedSerializedSize = dataSize;
      }
      if (detailCase_ == 25) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(25, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 31) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(31, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 32) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(32, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 35) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(35, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 41) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(41, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 42) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(42, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 43) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(43, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 44) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(44, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 51) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(51, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 52) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(52, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 61) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(61, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 62) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(62, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 63) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(63, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      if (detailCase_ == 64) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(64, (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_);
      }
      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 emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo)) {
        return super.equals(obj);
      }
      emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo other = (emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo) obj;

      if (getActivityId()
          != other.getActivityId()) return false;
      if (getScheduleId()
          != other.getScheduleId()) return false;
      if (getBeginTime()
          != other.getBeginTime()) return false;
      if (getEndTime()
          != other.getEndTime()) return false;
      if (getActivityType()
          != other.getActivityType()) return false;
      if (getIsPlayOpenAnim()
          != other.getIsPlayOpenAnim()) return false;
      if (getIsFinished()
          != other.getIsFinished()) return false;
      if (getIsStarting()
          != other.getIsStarting()) return false;
      if (!getWatcherInfoListList()
          .equals(other.getWatcherInfoListList())) return false;
      if (!getMeetCondListList()
          .equals(other.getMeetCondListList())) return false;
      if (!getExpireCondListList()
          .equals(other.getExpireCondListList())) return false;
      if (getSelectedAvatarRewardId()
          != other.getSelectedAvatarRewardId()) return false;
      if (!internalGetActivityCoinMap().equals(
          other.internalGetActivityCoinMap())) return false;
      if (getScoreLimit()
          != other.getScoreLimit()) return false;
      if (getCurScore()
          != other.getCurScore()) return false;
      if (!getTakenRewardListList()
          .equals(other.getTakenRewardListList())) return false;
      if (!getDetailCase().equals(other.getDetailCase())) return false;
      switch (detailCase_) {
        case 11:
          if (!getSamLampInfo()
              .equals(other.getSamLampInfo())) return false;
          break;
        case 12:
          if (!getCrucibleInfo()
              .equals(other.getCrucibleInfo())) return false;
          break;
        case 13:
          if (!getSalesmanInfo()
              .equals(other.getSalesmanInfo())) return false;
          break;
        case 14:
          if (!getTrialAvatarInfo()
              .equals(other.getTrialAvatarInfo())) return false;
          break;
        case 16:
          if (!getDeliveryInfo()
              .equals(other.getDeliveryInfo())) return false;
          break;
        case 21:
          if (!getAsterInfo()
              .equals(other.getAsterInfo())) return false;
          break;
        case 25:
          if (!getFlightInfo()
              .equals(other.getFlightInfo())) return false;
          break;
        case 31:
          if (!getDragonSpineInfo()
              .equals(other.getDragonSpineInfo())) return false;
          break;
        case 32:
          if (!getEffigyInfo()
              .equals(other.getEffigyInfo())) return false;
          break;
        case 35:
          if (!getTreasureMapInfo()
              .equals(other.getTreasureMapInfo())) return false;
          break;
        case 41:
          if (!getBlessingInfo()
              .equals(other.getBlessingInfo())) return false;
          break;
        case 42:
          if (!getSeaLampInfo()
              .equals(other.getSeaLampInfo())) return false;
          break;
        case 43:
          if (!getExpeditionInfo()
              .equals(other.getExpeditionInfo())) return false;
          break;
        case 44:
          if (!getArenaChallengeInfo()
              .equals(other.getArenaChallengeInfo())) return false;
          break;
        case 51:
          if (!getFleurFairInfo()
              .equals(other.getFleurFairInfo())) return false;
          break;
        case 52:
          if (!getWaterSpiritInfo()
              .equals(other.getWaterSpiritInfo())) return false;
          break;
        case 61:
          if (!getChallnelerSlabInfo()
              .equals(other.getChallnelerSlabInfo())) return false;
          break;
        case 62:
          if (!getMistTrialActivityInfo()
              .equals(other.getMistTrialActivityInfo())) return false;
          break;
        case 63:
          if (!getHideAndSeekInfo()
              .equals(other.getHideAndSeekInfo())) return false;
          break;
        case 64:
          if (!getFindHilichurlInfo()
              .equals(other.getFindHilichurlInfo())) return false;
          break;
        case 0:
        default:
      }
      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();
      hash = (37 * hash) + ACTIVITYID_FIELD_NUMBER;
      hash = (53 * hash) + getActivityId();
      hash = (37 * hash) + SCHEDULEID_FIELD_NUMBER;
      hash = (53 * hash) + getScheduleId();
      hash = (37 * hash) + BEGINTIME_FIELD_NUMBER;
      hash = (53 * hash) + getBeginTime();
      hash = (37 * hash) + ENDTIME_FIELD_NUMBER;
      hash = (53 * hash) + getEndTime();
      hash = (37 * hash) + ACTIVITYTYPE_FIELD_NUMBER;
      hash = (53 * hash) + getActivityType();
      hash = (37 * hash) + ISPLAYOPENANIM_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getIsPlayOpenAnim());
      hash = (37 * hash) + ISFINISHED_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getIsFinished());
      hash = (37 * hash) + ISSTARTING_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getIsStarting());
      if (getWatcherInfoListCount() > 0) {
        hash = (37 * hash) + WATCHERINFOLIST_FIELD_NUMBER;
        hash = (53 * hash) + getWatcherInfoListList().hashCode();
      }
      if (getMeetCondListCount() > 0) {
        hash = (37 * hash) + MEETCONDLIST_FIELD_NUMBER;
        hash = (53 * hash) + getMeetCondListList().hashCode();
      }
      if (getExpireCondListCount() > 0) {
        hash = (37 * hash) + EXPIRECONDLIST_FIELD_NUMBER;
        hash = (53 * hash) + getExpireCondListList().hashCode();
      }
      hash = (37 * hash) + SELECTEDAVATARREWARDID_FIELD_NUMBER;
      hash = (53 * hash) + getSelectedAvatarRewardId();
      if (!internalGetActivityCoinMap().getMap().isEmpty()) {
        hash = (37 * hash) + ACTIVITYCOINMAP_FIELD_NUMBER;
        hash = (53 * hash) + internalGetActivityCoinMap().hashCode();
      }
      hash = (37 * hash) + SCORELIMIT_FIELD_NUMBER;
      hash = (53 * hash) + getScoreLimit();
      hash = (37 * hash) + CURSCORE_FIELD_NUMBER;
      hash = (53 * hash) + getCurScore();
      if (getTakenRewardListCount() > 0) {
        hash = (37 * hash) + TAKENREWARDLIST_FIELD_NUMBER;
        hash = (53 * hash) + getTakenRewardListList().hashCode();
      }
      switch (detailCase_) {
        case 11:
          hash = (37 * hash) + SAMLAMPINFO_FIELD_NUMBER;
          hash = (53 * hash) + getSamLampInfo().hashCode();
          break;
        case 12:
          hash = (37 * hash) + CRUCIBLEINFO_FIELD_NUMBER;
          hash = (53 * hash) + getCrucibleInfo().hashCode();
          break;
        case 13:
          hash = (37 * hash) + SALESMANINFO_FIELD_NUMBER;
          hash = (53 * hash) + getSalesmanInfo().hashCode();
          break;
        case 14:
          hash = (37 * hash) + TRIALAVATARINFO_FIELD_NUMBER;
          hash = (53 * hash) + getTrialAvatarInfo().hashCode();
          break;
        case 16:
          hash = (37 * hash) + DELIVERYINFO_FIELD_NUMBER;
          hash = (53 * hash) + getDeliveryInfo().hashCode();
          break;
        case 21:
          hash = (37 * hash) + ASTERINFO_FIELD_NUMBER;
          hash = (53 * hash) + getAsterInfo().hashCode();
          break;
        case 25:
          hash = (37 * hash) + FLIGHTINFO_FIELD_NUMBER;
          hash = (53 * hash) + getFlightInfo().hashCode();
          break;
        case 31:
          hash = (37 * hash) + DRAGONSPINEINFO_FIELD_NUMBER;
          hash = (53 * hash) + getDragonSpineInfo().hashCode();
          break;
        case 32:
          hash = (37 * hash) + EFFIGYINFO_FIELD_NUMBER;
          hash = (53 * hash) + getEffigyInfo().hashCode();
          break;
        case 35:
          hash = (37 * hash) + TREASUREMAPINFO_FIELD_NUMBER;
          hash = (53 * hash) + getTreasureMapInfo().hashCode();
          break;
        case 41:
          hash = (37 * hash) + BLESSINGINFO_FIELD_NUMBER;
          hash = (53 * hash) + getBlessingInfo().hashCode();
          break;
        case 42:
          hash = (37 * hash) + SEALAMPINFO_FIELD_NUMBER;
          hash = (53 * hash) + getSeaLampInfo().hashCode();
          break;
        case 43:
          hash = (37 * hash) + EXPEDITIONINFO_FIELD_NUMBER;
          hash = (53 * hash) + getExpeditionInfo().hashCode();
          break;
        case 44:
          hash = (37 * hash) + ARENACHALLENGEINFO_FIELD_NUMBER;
          hash = (53 * hash) + getArenaChallengeInfo().hashCode();
          break;
        case 51:
          hash = (37 * hash) + FLEURFAIRINFO_FIELD_NUMBER;
          hash = (53 * hash) + getFleurFairInfo().hashCode();
          break;
        case 52:
          hash = (37 * hash) + WATERSPIRITINFO_FIELD_NUMBER;
          hash = (53 * hash) + getWaterSpiritInfo().hashCode();
          break;
        case 61:
          hash = (37 * hash) + CHALLNELERSLABINFO_FIELD_NUMBER;
          hash = (53 * hash) + getChallnelerSlabInfo().hashCode();
          break;
        case 62:
          hash = (37 * hash) + MISTTRIALACTIVITYINFO_FIELD_NUMBER;
          hash = (53 * hash) + getMistTrialActivityInfo().hashCode();
          break;
        case 63:
          hash = (37 * hash) + HIDEANDSEEKINFO_FIELD_NUMBER;
          hash = (53 * hash) + getHideAndSeekInfo().hashCode();
          break;
        case 64:
          hash = (37 * hash) + FINDHILICHURLINFO_FIELD_NUMBER;
          hash = (53 * hash) + getFindHilichurlInfo().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 18:
            return internalGetActivityCoinMap();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 18:
            return internalGetMutableActivityCoinMap();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return emu.grasscutter.net.proto.ActivityInfoOuterClass.internal_static_ActivityInfo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo.class, emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo.Builder.class);
      }

      // Construct using emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getWatcherInfoListFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        activityId_ = 0;

        scheduleId_ = 0;

        beginTime_ = 0;

        endTime_ = 0;

        activityType_ = 0;

        isPlayOpenAnim_ = false;

        isFinished_ = false;

        isStarting_ = false;

        if (watcherInfoListBuilder_ == null) {
          watcherInfoList_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          watcherInfoListBuilder_.clear();
        }
        meetCondList_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000002);
        expireCondList_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000004);
        selectedAvatarRewardId_ = 0;

        internalGetMutableActivityCoinMap().clear();
        scoreLimit_ = 0;

        curScore_ = 0;

        takenRewardList_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000010);
        detailCase_ = 0;
        detail_ = null;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return emu.grasscutter.net.proto.ActivityInfoOuterClass.internal_static_ActivityInfo_descriptor;
      }

      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo getDefaultInstanceForType() {
        return emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo.getDefaultInstance();
      }

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

      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo buildPartial() {
        emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo result = new emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo(this);
        int from_bitField0_ = bitField0_;
        result.activityId_ = activityId_;
        result.scheduleId_ = scheduleId_;
        result.beginTime_ = beginTime_;
        result.endTime_ = endTime_;
        result.activityType_ = activityType_;
        result.isPlayOpenAnim_ = isPlayOpenAnim_;
        result.isFinished_ = isFinished_;
        result.isStarting_ = isStarting_;
        if (watcherInfoListBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            watcherInfoList_ = java.util.Collections.unmodifiableList(watcherInfoList_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.watcherInfoList_ = watcherInfoList_;
        } else {
          result.watcherInfoList_ = watcherInfoListBuilder_.build();
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          meetCondList_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.meetCondList_ = meetCondList_;
        if (((bitField0_ & 0x00000004) != 0)) {
          expireCondList_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.expireCondList_ = expireCondList_;
        result.selectedAvatarRewardId_ = selectedAvatarRewardId_;
        result.activityCoinMap_ = internalGetActivityCoinMap();
        result.activityCoinMap_.makeImmutable();
        result.scoreLimit_ = scoreLimit_;
        result.curScore_ = curScore_;
        if (((bitField0_ & 0x00000010) != 0)) {
          takenRewardList_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000010);
        }
        result.takenRewardList_ = takenRewardList_;
        if (detailCase_ == 11) {
          if (samLampInfoBuilder_ == null) {
            result.detail_ = detail_;
          } else {
            result.detail_ = samLampInfoBuilder_.build();
          }
        }
        if (detailCase_ == 12) {
          if (crucibleInfoBuilder_ == null) {
            result.detail_ = detail_;
          } else {
            result.detail_ = crucibleInfoBuilder_.build();
          }
        }
        if (detailCase_ == 13) {
          if (salesmanInfoBuilder_ == null) {
            result.detail_ = detail_;
          } else {
            result.detail_ = salesmanInfoBuilder_.build();
          }
        }
        if (detailCase_ == 14) {
          if (trialAvatarInfoBuilder_ == null) {
            result.detail_ = detail_;
          } else {
            result.detail_ = trialAvatarInfoBuilder_.build();
          }
        }
        if (detailCase_ == 16) {
          if (deliveryInfoBuilder_ == null) {
            result.detail_ = detail_;
          } else {
            result.detail_ = deliveryInfoBuilder_.build();
          }
        }
        if (detailCase_ == 21) {
          if (asterInfoBuilder_ == null) {
            result.detail_ = detail_;
          } else {
            result.detail_ = asterInfoBuilder_.build();
          }
        }
        if (detailCase_ == 25) {
          if (flightInfoBuilder_ == null) {
            result.detail_ = detail_;
          } else {
            result.detail_ = flightInfoBuilder_.build();
          }
        }
        if (detailCase_ == 31) {
          if (dragonSpineInfoBuilder_ == null) {
            result.detail_ = detail_;
          } else {
            result.detail_ = dragonSpineInfoBuilder_.build();
          }
        }
        if (detailCase_ == 32) {
          if (effigyInfoBuilder_ == null) {
            result.detail_ = detail_;
          } else {
            result.detail_ = effigyInfoBuilder_.build();
          }
        }
        if (detailCase_ == 35) {
          if (treasureMapInfoBuilder_ == null) {
            result.detail_ = detail_;
          } else {
            result.detail_ = treasureMapInfoBuilder_.build();
          }
        }
        if (detailCase_ == 41) {
          if (blessingInfoBuilder_ == null) {
            result.detail_ = detail_;
          } else {
            result.detail_ = blessingInfoBuilder_.build();
          }
        }
        if (detailCase_ == 42) {
          if (seaLampInfoBuilder_ == null) {
            result.detail_ = detail_;
          } else {
            result.detail_ = seaLampInfoBuilder_.build();
          }
        }
        if (detailCase_ == 43) {
          if (expeditionInfoBuilder_ == null) {
            result.detail_ = detail_;
          } else {
            result.detail_ = expeditionInfoBuilder_.build();
          }
        }
        if (detailCase_ == 44) {
          if (arenaChallengeInfoBuilder_ == null) {
            result.detail_ = detail_;
          } else {
            result.detail_ = arenaChallengeInfoBuilder_.build();
          }
        }
        if (detailCase_ == 51) {
          if (fleurFairInfoBuilder_ == null) {
            result.detail_ = detail_;
          } else {
            result.detail_ = fleurFairInfoBuilder_.build();
          }
        }
        if (detailCase_ == 52) {
          if (waterSpiritInfoBuilder_ == null) {
            result.detail_ = detail_;
          } else {
            result.detail_ = waterSpiritInfoBuilder_.build();
          }
        }
        if (detailCase_ == 61) {
          if (challnelerSlabInfoBuilder_ == null) {
            result.detail_ = detail_;
          } else {
            result.detail_ = challnelerSlabInfoBuilder_.build();
          }
        }
        if (detailCase_ == 62) {
          if (mistTrialActivityInfoBuilder_ == null) {
            result.detail_ = detail_;
          } else {
            result.detail_ = mistTrialActivityInfoBuilder_.build();
          }
        }
        if (detailCase_ == 63) {
          if (hideAndSeekInfoBuilder_ == null) {
            result.detail_ = detail_;
          } else {
            result.detail_ = hideAndSeekInfoBuilder_.build();
          }
        }
        if (detailCase_ == 64) {
          if (findHilichurlInfoBuilder_ == null) {
            result.detail_ = detail_;
          } else {
            result.detail_ = findHilichurlInfoBuilder_.build();
          }
        }
        result.detailCase_ = detailCase_;
        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 emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo) {
          return mergeFrom((emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo other) {
        if (other == emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo.getDefaultInstance()) return this;
        if (other.getActivityId() != 0) {
          setActivityId(other.getActivityId());
        }
        if (other.getScheduleId() != 0) {
          setScheduleId(other.getScheduleId());
        }
        if (other.getBeginTime() != 0) {
          setBeginTime(other.getBeginTime());
        }
        if (other.getEndTime() != 0) {
          setEndTime(other.getEndTime());
        }
        if (other.getActivityType() != 0) {
          setActivityType(other.getActivityType());
        }
        if (other.getIsPlayOpenAnim() != false) {
          setIsPlayOpenAnim(other.getIsPlayOpenAnim());
        }
        if (other.getIsFinished() != false) {
          setIsFinished(other.getIsFinished());
        }
        if (other.getIsStarting() != false) {
          setIsStarting(other.getIsStarting());
        }
        if (watcherInfoListBuilder_ == null) {
          if (!other.watcherInfoList_.isEmpty()) {
            if (watcherInfoList_.isEmpty()) {
              watcherInfoList_ = other.watcherInfoList_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureWatcherInfoListIsMutable();
              watcherInfoList_.addAll(other.watcherInfoList_);
            }
            onChanged();
          }
        } else {
          if (!other.watcherInfoList_.isEmpty()) {
            if (watcherInfoListBuilder_.isEmpty()) {
              watcherInfoListBuilder_.dispose();
              watcherInfoListBuilder_ = null;
              watcherInfoList_ = other.watcherInfoList_;
              bitField0_ = (bitField0_ & ~0x00000001);
              watcherInfoListBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getWatcherInfoListFieldBuilder() : null;
            } else {
              watcherInfoListBuilder_.addAllMessages(other.watcherInfoList_);
            }
          }
        }
        if (!other.meetCondList_.isEmpty()) {
          if (meetCondList_.isEmpty()) {
            meetCondList_ = other.meetCondList_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureMeetCondListIsMutable();
            meetCondList_.addAll(other.meetCondList_);
          }
          onChanged();
        }
        if (!other.expireCondList_.isEmpty()) {
          if (expireCondList_.isEmpty()) {
            expireCondList_ = other.expireCondList_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureExpireCondListIsMutable();
            expireCondList_.addAll(other.expireCondList_);
          }
          onChanged();
        }
        if (other.getSelectedAvatarRewardId() != 0) {
          setSelectedAvatarRewardId(other.getSelectedAvatarRewardId());
        }
        internalGetMutableActivityCoinMap().mergeFrom(
            other.internalGetActivityCoinMap());
        if (other.getScoreLimit() != 0) {
          setScoreLimit(other.getScoreLimit());
        }
        if (other.getCurScore() != 0) {
          setCurScore(other.getCurScore());
        }
        if (!other.takenRewardList_.isEmpty()) {
          if (takenRewardList_.isEmpty()) {
            takenRewardList_ = other.takenRewardList_;
            bitField0_ = (bitField0_ & ~0x00000010);
          } else {
            ensureTakenRewardListIsMutable();
            takenRewardList_.addAll(other.takenRewardList_);
          }
          onChanged();
        }
        switch (other.getDetailCase()) {
          case SAMLAMPINFO: {
            mergeSamLampInfo(other.getSamLampInfo());
            break;
          }
          case CRUCIBLEINFO: {
            mergeCrucibleInfo(other.getCrucibleInfo());
            break;
          }
          case SALESMANINFO: {
            mergeSalesmanInfo(other.getSalesmanInfo());
            break;
          }
          case TRIALAVATARINFO: {
            mergeTrialAvatarInfo(other.getTrialAvatarInfo());
            break;
          }
          case DELIVERYINFO: {
            mergeDeliveryInfo(other.getDeliveryInfo());
            break;
          }
          case ASTERINFO: {
            mergeAsterInfo(other.getAsterInfo());
            break;
          }
          case FLIGHTINFO: {
            mergeFlightInfo(other.getFlightInfo());
            break;
          }
          case DRAGONSPINEINFO: {
            mergeDragonSpineInfo(other.getDragonSpineInfo());
            break;
          }
          case EFFIGYINFO: {
            mergeEffigyInfo(other.getEffigyInfo());
            break;
          }
          case TREASUREMAPINFO: {
            mergeTreasureMapInfo(other.getTreasureMapInfo());
            break;
          }
          case BLESSINGINFO: {
            mergeBlessingInfo(other.getBlessingInfo());
            break;
          }
          case SEALAMPINFO: {
            mergeSeaLampInfo(other.getSeaLampInfo());
            break;
          }
          case EXPEDITIONINFO: {
            mergeExpeditionInfo(other.getExpeditionInfo());
            break;
          }
          case ARENACHALLENGEINFO: {
            mergeArenaChallengeInfo(other.getArenaChallengeInfo());
            break;
          }
          case FLEURFAIRINFO: {
            mergeFleurFairInfo(other.getFleurFairInfo());
            break;
          }
          case WATERSPIRITINFO: {
            mergeWaterSpiritInfo(other.getWaterSpiritInfo());
            break;
          }
          case CHALLNELERSLABINFO: {
            mergeChallnelerSlabInfo(other.getChallnelerSlabInfo());
            break;
          }
          case MISTTRIALACTIVITYINFO: {
            mergeMistTrialActivityInfo(other.getMistTrialActivityInfo());
            break;
          }
          case HIDEANDSEEKINFO: {
            mergeHideAndSeekInfo(other.getHideAndSeekInfo());
            break;
          }
          case FINDHILICHURLINFO: {
            mergeFindHilichurlInfo(other.getFindHilichurlInfo());
            break;
          }
          case DETAIL_NOT_SET: {
            break;
          }
        }
        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 {
        emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int detailCase_ = 0;
      private java.lang.Object detail_;
      public DetailCase
          getDetailCase() {
        return DetailCase.forNumber(
            detailCase_);
      }

      public Builder clearDetail() {
        detailCase_ = 0;
        detail_ = null;
        onChanged();
        return this;
      }

      private int bitField0_;

      private int activityId_ ;
      /**
       * <code>uint32 activityId = 1;</code>
       * @return The activityId.
       */
      @java.lang.Override
      public int getActivityId() {
        return activityId_;
      }
      /**
       * <code>uint32 activityId = 1;</code>
       * @param value The activityId to set.
       * @return This builder for chaining.
       */
      public Builder setActivityId(int value) {
        
        activityId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 activityId = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearActivityId() {
        
        activityId_ = 0;
        onChanged();
        return this;
      }

      private int scheduleId_ ;
      /**
       * <code>uint32 scheduleId = 2;</code>
       * @return The scheduleId.
       */
      @java.lang.Override
      public int getScheduleId() {
        return scheduleId_;
      }
      /**
       * <code>uint32 scheduleId = 2;</code>
       * @param value The scheduleId to set.
       * @return This builder for chaining.
       */
      public Builder setScheduleId(int value) {
        
        scheduleId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 scheduleId = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearScheduleId() {
        
        scheduleId_ = 0;
        onChanged();
        return this;
      }

      private int beginTime_ ;
      /**
       * <code>uint32 beginTime = 3;</code>
       * @return The beginTime.
       */
      @java.lang.Override
      public int getBeginTime() {
        return beginTime_;
      }
      /**
       * <code>uint32 beginTime = 3;</code>
       * @param value The beginTime to set.
       * @return This builder for chaining.
       */
      public Builder setBeginTime(int value) {
        
        beginTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 beginTime = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearBeginTime() {
        
        beginTime_ = 0;
        onChanged();
        return this;
      }

      private int endTime_ ;
      /**
       * <code>uint32 endTime = 4;</code>
       * @return The endTime.
       */
      @java.lang.Override
      public int getEndTime() {
        return endTime_;
      }
      /**
       * <code>uint32 endTime = 4;</code>
       * @param value The endTime to set.
       * @return This builder for chaining.
       */
      public Builder setEndTime(int value) {
        
        endTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 endTime = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearEndTime() {
        
        endTime_ = 0;
        onChanged();
        return this;
      }

      private int activityType_ ;
      /**
       * <code>uint32 activityType = 5;</code>
       * @return The activityType.
       */
      @java.lang.Override
      public int getActivityType() {
        return activityType_;
      }
      /**
       * <code>uint32 activityType = 5;</code>
       * @param value The activityType to set.
       * @return This builder for chaining.
       */
      public Builder setActivityType(int value) {
        
        activityType_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 activityType = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearActivityType() {
        
        activityType_ = 0;
        onChanged();
        return this;
      }

      private boolean isPlayOpenAnim_ ;
      /**
       * <code>bool isPlayOpenAnim = 6;</code>
       * @return The isPlayOpenAnim.
       */
      @java.lang.Override
      public boolean getIsPlayOpenAnim() {
        return isPlayOpenAnim_;
      }
      /**
       * <code>bool isPlayOpenAnim = 6;</code>
       * @param value The isPlayOpenAnim to set.
       * @return This builder for chaining.
       */
      public Builder setIsPlayOpenAnim(boolean value) {
        
        isPlayOpenAnim_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool isPlayOpenAnim = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearIsPlayOpenAnim() {
        
        isPlayOpenAnim_ = false;
        onChanged();
        return this;
      }

      private boolean isFinished_ ;
      /**
       * <code>bool isFinished = 7;</code>
       * @return The isFinished.
       */
      @java.lang.Override
      public boolean getIsFinished() {
        return isFinished_;
      }
      /**
       * <code>bool isFinished = 7;</code>
       * @param value The isFinished to set.
       * @return This builder for chaining.
       */
      public Builder setIsFinished(boolean value) {
        
        isFinished_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool isFinished = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearIsFinished() {
        
        isFinished_ = false;
        onChanged();
        return this;
      }

      private boolean isStarting_ ;
      /**
       * <code>bool isStarting = 8;</code>
       * @return The isStarting.
       */
      @java.lang.Override
      public boolean getIsStarting() {
        return isStarting_;
      }
      /**
       * <code>bool isStarting = 8;</code>
       * @param value The isStarting to set.
       * @return This builder for chaining.
       */
      public Builder setIsStarting(boolean value) {
        
        isStarting_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool isStarting = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearIsStarting() {
        
        isStarting_ = false;
        onChanged();
        return this;
      }

      private java.util.List<emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo> watcherInfoList_ =
        java.util.Collections.emptyList();
      private void ensureWatcherInfoListIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          watcherInfoList_ = new java.util.ArrayList<emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo>(watcherInfoList_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo, emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.Builder, emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfoOrBuilder> watcherInfoListBuilder_;

      /**
       * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
       */
      public java.util.List<emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo> getWatcherInfoListList() {
        if (watcherInfoListBuilder_ == null) {
          return java.util.Collections.unmodifiableList(watcherInfoList_);
        } else {
          return watcherInfoListBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
       */
      public int getWatcherInfoListCount() {
        if (watcherInfoListBuilder_ == null) {
          return watcherInfoList_.size();
        } else {
          return watcherInfoListBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
       */
      public emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo getWatcherInfoList(int index) {
        if (watcherInfoListBuilder_ == null) {
          return watcherInfoList_.get(index);
        } else {
          return watcherInfoListBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
       */
      public Builder setWatcherInfoList(
          int index, emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo value) {
        if (watcherInfoListBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureWatcherInfoListIsMutable();
          watcherInfoList_.set(index, value);
          onChanged();
        } else {
          watcherInfoListBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
       */
      public Builder setWatcherInfoList(
          int index, emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.Builder builderForValue) {
        if (watcherInfoListBuilder_ == null) {
          ensureWatcherInfoListIsMutable();
          watcherInfoList_.set(index, builderForValue.build());
          onChanged();
        } else {
          watcherInfoListBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
       */
      public Builder addWatcherInfoList(emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo value) {
        if (watcherInfoListBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureWatcherInfoListIsMutable();
          watcherInfoList_.add(value);
          onChanged();
        } else {
          watcherInfoListBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
       */
      public Builder addWatcherInfoList(
          int index, emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo value) {
        if (watcherInfoListBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureWatcherInfoListIsMutable();
          watcherInfoList_.add(index, value);
          onChanged();
        } else {
          watcherInfoListBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
       */
      public Builder addWatcherInfoList(
          emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.Builder builderForValue) {
        if (watcherInfoListBuilder_ == null) {
          ensureWatcherInfoListIsMutable();
          watcherInfoList_.add(builderForValue.build());
          onChanged();
        } else {
          watcherInfoListBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
       */
      public Builder addWatcherInfoList(
          int index, emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.Builder builderForValue) {
        if (watcherInfoListBuilder_ == null) {
          ensureWatcherInfoListIsMutable();
          watcherInfoList_.add(index, builderForValue.build());
          onChanged();
        } else {
          watcherInfoListBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
       */
      public Builder addAllWatcherInfoList(
          java.lang.Iterable<? extends emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo> values) {
        if (watcherInfoListBuilder_ == null) {
          ensureWatcherInfoListIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, watcherInfoList_);
          onChanged();
        } else {
          watcherInfoListBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
       */
      public Builder clearWatcherInfoList() {
        if (watcherInfoListBuilder_ == null) {
          watcherInfoList_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          watcherInfoListBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
       */
      public Builder removeWatcherInfoList(int index) {
        if (watcherInfoListBuilder_ == null) {
          ensureWatcherInfoListIsMutable();
          watcherInfoList_.remove(index);
          onChanged();
        } else {
          watcherInfoListBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
       */
      public emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.Builder getWatcherInfoListBuilder(
          int index) {
        return getWatcherInfoListFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
       */
      public emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfoOrBuilder getWatcherInfoListOrBuilder(
          int index) {
        if (watcherInfoListBuilder_ == null) {
          return watcherInfoList_.get(index);  } else {
          return watcherInfoListBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
       */
      public java.util.List<? extends emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfoOrBuilder> 
           getWatcherInfoListOrBuilderList() {
        if (watcherInfoListBuilder_ != null) {
          return watcherInfoListBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(watcherInfoList_);
        }
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
       */
      public emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.Builder addWatcherInfoListBuilder() {
        return getWatcherInfoListFieldBuilder().addBuilder(
            emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.getDefaultInstance());
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
       */
      public emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.Builder addWatcherInfoListBuilder(
          int index) {
        return getWatcherInfoListFieldBuilder().addBuilder(
            index, emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.getDefaultInstance());
      }
      /**
       * <code>repeated .ActivityWatcherInfo watcherInfoList = 9;</code>
       */
      public java.util.List<emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.Builder> 
           getWatcherInfoListBuilderList() {
        return getWatcherInfoListFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo, emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.Builder, emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfoOrBuilder> 
          getWatcherInfoListFieldBuilder() {
        if (watcherInfoListBuilder_ == null) {
          watcherInfoListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo, emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfo.Builder, emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.ActivityWatcherInfoOrBuilder>(
                  watcherInfoList_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          watcherInfoList_ = null;
        }
        return watcherInfoListBuilder_;
      }

      private com.google.protobuf.Internal.IntList meetCondList_ = emptyIntList();
      private void ensureMeetCondListIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          meetCondList_ = mutableCopy(meetCondList_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * <code>repeated uint32 meetCondList = 10;</code>
       * @return A list containing the meetCondList.
       */
      public java.util.List<java.lang.Integer>
          getMeetCondListList() {
        return ((bitField0_ & 0x00000002) != 0) ?
                 java.util.Collections.unmodifiableList(meetCondList_) : meetCondList_;
      }
      /**
       * <code>repeated uint32 meetCondList = 10;</code>
       * @return The count of meetCondList.
       */
      public int getMeetCondListCount() {
        return meetCondList_.size();
      }
      /**
       * <code>repeated uint32 meetCondList = 10;</code>
       * @param index The index of the element to return.
       * @return The meetCondList at the given index.
       */
      public int getMeetCondList(int index) {
        return meetCondList_.getInt(index);
      }
      /**
       * <code>repeated uint32 meetCondList = 10;</code>
       * @param index The index to set the value at.
       * @param value The meetCondList to set.
       * @return This builder for chaining.
       */
      public Builder setMeetCondList(
          int index, int value) {
        ensureMeetCondListIsMutable();
        meetCondList_.setInt(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 meetCondList = 10;</code>
       * @param value The meetCondList to add.
       * @return This builder for chaining.
       */
      public Builder addMeetCondList(int value) {
        ensureMeetCondListIsMutable();
        meetCondList_.addInt(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 meetCondList = 10;</code>
       * @param values The meetCondList to add.
       * @return This builder for chaining.
       */
      public Builder addAllMeetCondList(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureMeetCondListIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, meetCondList_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 meetCondList = 10;</code>
       * @return This builder for chaining.
       */
      public Builder clearMeetCondList() {
        meetCondList_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }

      private com.google.protobuf.Internal.IntList expireCondList_ = emptyIntList();
      private void ensureExpireCondListIsMutable() {
        if (!((bitField0_ & 0x00000004) != 0)) {
          expireCondList_ = mutableCopy(expireCondList_);
          bitField0_ |= 0x00000004;
         }
      }
      /**
       * <code>repeated uint32 expireCondList = 15;</code>
       * @return A list containing the expireCondList.
       */
      public java.util.List<java.lang.Integer>
          getExpireCondListList() {
        return ((bitField0_ & 0x00000004) != 0) ?
                 java.util.Collections.unmodifiableList(expireCondList_) : expireCondList_;
      }
      /**
       * <code>repeated uint32 expireCondList = 15;</code>
       * @return The count of expireCondList.
       */
      public int getExpireCondListCount() {
        return expireCondList_.size();
      }
      /**
       * <code>repeated uint32 expireCondList = 15;</code>
       * @param index The index of the element to return.
       * @return The expireCondList at the given index.
       */
      public int getExpireCondList(int index) {
        return expireCondList_.getInt(index);
      }
      /**
       * <code>repeated uint32 expireCondList = 15;</code>
       * @param index The index to set the value at.
       * @param value The expireCondList to set.
       * @return This builder for chaining.
       */
      public Builder setExpireCondList(
          int index, int value) {
        ensureExpireCondListIsMutable();
        expireCondList_.setInt(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 expireCondList = 15;</code>
       * @param value The expireCondList to add.
       * @return This builder for chaining.
       */
      public Builder addExpireCondList(int value) {
        ensureExpireCondListIsMutable();
        expireCondList_.addInt(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 expireCondList = 15;</code>
       * @param values The expireCondList to add.
       * @return This builder for chaining.
       */
      public Builder addAllExpireCondList(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureExpireCondListIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, expireCondList_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 expireCondList = 15;</code>
       * @return This builder for chaining.
       */
      public Builder clearExpireCondList() {
        expireCondList_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }

      private int selectedAvatarRewardId_ ;
      /**
       * <code>uint32 selectedAvatarRewardId = 17;</code>
       * @return The selectedAvatarRewardId.
       */
      @java.lang.Override
      public int getSelectedAvatarRewardId() {
        return selectedAvatarRewardId_;
      }
      /**
       * <code>uint32 selectedAvatarRewardId = 17;</code>
       * @param value The selectedAvatarRewardId to set.
       * @return This builder for chaining.
       */
      public Builder setSelectedAvatarRewardId(int value) {
        
        selectedAvatarRewardId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 selectedAvatarRewardId = 17;</code>
       * @return This builder for chaining.
       */
      public Builder clearSelectedAvatarRewardId() {
        
        selectedAvatarRewardId_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.MapField<
          java.lang.Integer, java.lang.Integer> activityCoinMap_;
      private com.google.protobuf.MapField<java.lang.Integer, java.lang.Integer>
      internalGetActivityCoinMap() {
        if (activityCoinMap_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              ActivityCoinMapDefaultEntryHolder.defaultEntry);
        }
        return activityCoinMap_;
      }
      private com.google.protobuf.MapField<java.lang.Integer, java.lang.Integer>
      internalGetMutableActivityCoinMap() {
        onChanged();;
        if (activityCoinMap_ == null) {
          activityCoinMap_ = com.google.protobuf.MapField.newMapField(
              ActivityCoinMapDefaultEntryHolder.defaultEntry);
        }
        if (!activityCoinMap_.isMutable()) {
          activityCoinMap_ = activityCoinMap_.copy();
        }
        return activityCoinMap_;
      }

      public int getActivityCoinMapCount() {
        return internalGetActivityCoinMap().getMap().size();
      }
      /**
       * <code>map&lt;uint32, uint32&gt; activityCoinMap = 18;</code>
       */

      @java.lang.Override
      public boolean containsActivityCoinMap(
          int key) {
        
        return internalGetActivityCoinMap().getMap().containsKey(key);
      }
      /**
       * Use {@link #getActivityCoinMapMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map<java.lang.Integer, java.lang.Integer> getActivityCoinMap() {
        return getActivityCoinMapMap();
      }
      /**
       * <code>map&lt;uint32, uint32&gt; activityCoinMap = 18;</code>
       */
      @java.lang.Override

      public java.util.Map<java.lang.Integer, java.lang.Integer> getActivityCoinMapMap() {
        return internalGetActivityCoinMap().getMap();
      }
      /**
       * <code>map&lt;uint32, uint32&gt; activityCoinMap = 18;</code>
       */
      @java.lang.Override

      public int getActivityCoinMapOrDefault(
          int key,
          int defaultValue) {
        
        java.util.Map<java.lang.Integer, java.lang.Integer> map =
            internalGetActivityCoinMap().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * <code>map&lt;uint32, uint32&gt; activityCoinMap = 18;</code>
       */
      @java.lang.Override

      public int getActivityCoinMapOrThrow(
          int key) {
        
        java.util.Map<java.lang.Integer, java.lang.Integer> map =
            internalGetActivityCoinMap().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearActivityCoinMap() {
        internalGetMutableActivityCoinMap().getMutableMap()
            .clear();
        return this;
      }
      /**
       * <code>map&lt;uint32, uint32&gt; activityCoinMap = 18;</code>
       */

      public Builder removeActivityCoinMap(
          int key) {
        
        internalGetMutableActivityCoinMap().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map<java.lang.Integer, java.lang.Integer>
      getMutableActivityCoinMap() {
        return internalGetMutableActivityCoinMap().getMutableMap();
      }
      /**
       * <code>map&lt;uint32, uint32&gt; activityCoinMap = 18;</code>
       */
      public Builder putActivityCoinMap(
          int key,
          int value) {
        
        
        internalGetMutableActivityCoinMap().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * <code>map&lt;uint32, uint32&gt; activityCoinMap = 18;</code>
       */

      public Builder putAllActivityCoinMap(
          java.util.Map<java.lang.Integer, java.lang.Integer> values) {
        internalGetMutableActivityCoinMap().getMutableMap()
            .putAll(values);
        return this;
      }

      private int scoreLimit_ ;
      /**
       * <code>uint32 scoreLimit = 19;</code>
       * @return The scoreLimit.
       */
      @java.lang.Override
      public int getScoreLimit() {
        return scoreLimit_;
      }
      /**
       * <code>uint32 scoreLimit = 19;</code>
       * @param value The scoreLimit to set.
       * @return This builder for chaining.
       */
      public Builder setScoreLimit(int value) {
        
        scoreLimit_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 scoreLimit = 19;</code>
       * @return This builder for chaining.
       */
      public Builder clearScoreLimit() {
        
        scoreLimit_ = 0;
        onChanged();
        return this;
      }

      private int curScore_ ;
      /**
       * <code>uint32 curScore = 20;</code>
       * @return The curScore.
       */
      @java.lang.Override
      public int getCurScore() {
        return curScore_;
      }
      /**
       * <code>uint32 curScore = 20;</code>
       * @param value The curScore to set.
       * @return This builder for chaining.
       */
      public Builder setCurScore(int value) {
        
        curScore_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 curScore = 20;</code>
       * @return This builder for chaining.
       */
      public Builder clearCurScore() {
        
        curScore_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.Internal.IntList takenRewardList_ = emptyIntList();
      private void ensureTakenRewardListIsMutable() {
        if (!((bitField0_ & 0x00000010) != 0)) {
          takenRewardList_ = mutableCopy(takenRewardList_);
          bitField0_ |= 0x00000010;
         }
      }
      /**
       * <code>repeated uint32 takenRewardList = 24;</code>
       * @return A list containing the takenRewardList.
       */
      public java.util.List<java.lang.Integer>
          getTakenRewardListList() {
        return ((bitField0_ & 0x00000010) != 0) ?
                 java.util.Collections.unmodifiableList(takenRewardList_) : takenRewardList_;
      }
      /**
       * <code>repeated uint32 takenRewardList = 24;</code>
       * @return The count of takenRewardList.
       */
      public int getTakenRewardListCount() {
        return takenRewardList_.size();
      }
      /**
       * <code>repeated uint32 takenRewardList = 24;</code>
       * @param index The index of the element to return.
       * @return The takenRewardList at the given index.
       */
      public int getTakenRewardList(int index) {
        return takenRewardList_.getInt(index);
      }
      /**
       * <code>repeated uint32 takenRewardList = 24;</code>
       * @param index The index to set the value at.
       * @param value The takenRewardList to set.
       * @return This builder for chaining.
       */
      public Builder setTakenRewardList(
          int index, int value) {
        ensureTakenRewardListIsMutable();
        takenRewardList_.setInt(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 takenRewardList = 24;</code>
       * @param value The takenRewardList to add.
       * @return This builder for chaining.
       */
      public Builder addTakenRewardList(int value) {
        ensureTakenRewardListIsMutable();
        takenRewardList_.addInt(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 takenRewardList = 24;</code>
       * @param values The takenRewardList to add.
       * @return This builder for chaining.
       */
      public Builder addAllTakenRewardList(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureTakenRewardListIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, takenRewardList_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated uint32 takenRewardList = 24;</code>
       * @return This builder for chaining.
       */
      public Builder clearTakenRewardList() {
        takenRewardList_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
        return this;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> samLampInfoBuilder_;
      /**
       * <code>.ActivityNullDetailInfo samLampInfo = 11;</code>
       * @return Whether the samLampInfo field is set.
       */
      @java.lang.Override
      public boolean hasSamLampInfo() {
        return detailCase_ == 11;
      }
      /**
       * <code>.ActivityNullDetailInfo samLampInfo = 11;</code>
       * @return The samLampInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getSamLampInfo() {
        if (samLampInfoBuilder_ == null) {
          if (detailCase_ == 11) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        } else {
          if (detailCase_ == 11) {
            return samLampInfoBuilder_.getMessage();
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo samLampInfo = 11;</code>
       */
      public Builder setSamLampInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (samLampInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          detail_ = value;
          onChanged();
        } else {
          samLampInfoBuilder_.setMessage(value);
        }
        detailCase_ = 11;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo samLampInfo = 11;</code>
       */
      public Builder setSamLampInfo(
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder builderForValue) {
        if (samLampInfoBuilder_ == null) {
          detail_ = builderForValue.build();
          onChanged();
        } else {
          samLampInfoBuilder_.setMessage(builderForValue.build());
        }
        detailCase_ = 11;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo samLampInfo = 11;</code>
       */
      public Builder mergeSamLampInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (samLampInfoBuilder_ == null) {
          if (detailCase_ == 11 &&
              detail_ != emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance()) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.newBuilder((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_)
                .mergeFrom(value).buildPartial();
          } else {
            detail_ = value;
          }
          onChanged();
        } else {
          if (detailCase_ == 11) {
            samLampInfoBuilder_.mergeFrom(value);
          }
          samLampInfoBuilder_.setMessage(value);
        }
        detailCase_ = 11;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo samLampInfo = 11;</code>
       */
      public Builder clearSamLampInfo() {
        if (samLampInfoBuilder_ == null) {
          if (detailCase_ == 11) {
            detailCase_ = 0;
            detail_ = null;
            onChanged();
          }
        } else {
          if (detailCase_ == 11) {
            detailCase_ = 0;
            detail_ = null;
          }
          samLampInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo samLampInfo = 11;</code>
       */
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder getSamLampInfoBuilder() {
        return getSamLampInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>.ActivityNullDetailInfo samLampInfo = 11;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getSamLampInfoOrBuilder() {
        if ((detailCase_ == 11) && (samLampInfoBuilder_ != null)) {
          return samLampInfoBuilder_.getMessageOrBuilder();
        } else {
          if (detailCase_ == 11) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo samLampInfo = 11;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> 
          getSamLampInfoFieldBuilder() {
        if (samLampInfoBuilder_ == null) {
          if (!(detailCase_ == 11)) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
          }
          samLampInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder>(
                  (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_,
                  getParentForChildren(),
                  isClean());
          detail_ = null;
        }
        detailCase_ = 11;
        onChanged();;
        return samLampInfoBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> crucibleInfoBuilder_;
      /**
       * <code>.ActivityNullDetailInfo crucibleInfo = 12;</code>
       * @return Whether the crucibleInfo field is set.
       */
      @java.lang.Override
      public boolean hasCrucibleInfo() {
        return detailCase_ == 12;
      }
      /**
       * <code>.ActivityNullDetailInfo crucibleInfo = 12;</code>
       * @return The crucibleInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getCrucibleInfo() {
        if (crucibleInfoBuilder_ == null) {
          if (detailCase_ == 12) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        } else {
          if (detailCase_ == 12) {
            return crucibleInfoBuilder_.getMessage();
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo crucibleInfo = 12;</code>
       */
      public Builder setCrucibleInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (crucibleInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          detail_ = value;
          onChanged();
        } else {
          crucibleInfoBuilder_.setMessage(value);
        }
        detailCase_ = 12;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo crucibleInfo = 12;</code>
       */
      public Builder setCrucibleInfo(
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder builderForValue) {
        if (crucibleInfoBuilder_ == null) {
          detail_ = builderForValue.build();
          onChanged();
        } else {
          crucibleInfoBuilder_.setMessage(builderForValue.build());
        }
        detailCase_ = 12;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo crucibleInfo = 12;</code>
       */
      public Builder mergeCrucibleInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (crucibleInfoBuilder_ == null) {
          if (detailCase_ == 12 &&
              detail_ != emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance()) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.newBuilder((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_)
                .mergeFrom(value).buildPartial();
          } else {
            detail_ = value;
          }
          onChanged();
        } else {
          if (detailCase_ == 12) {
            crucibleInfoBuilder_.mergeFrom(value);
          }
          crucibleInfoBuilder_.setMessage(value);
        }
        detailCase_ = 12;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo crucibleInfo = 12;</code>
       */
      public Builder clearCrucibleInfo() {
        if (crucibleInfoBuilder_ == null) {
          if (detailCase_ == 12) {
            detailCase_ = 0;
            detail_ = null;
            onChanged();
          }
        } else {
          if (detailCase_ == 12) {
            detailCase_ = 0;
            detail_ = null;
          }
          crucibleInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo crucibleInfo = 12;</code>
       */
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder getCrucibleInfoBuilder() {
        return getCrucibleInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>.ActivityNullDetailInfo crucibleInfo = 12;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getCrucibleInfoOrBuilder() {
        if ((detailCase_ == 12) && (crucibleInfoBuilder_ != null)) {
          return crucibleInfoBuilder_.getMessageOrBuilder();
        } else {
          if (detailCase_ == 12) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo crucibleInfo = 12;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> 
          getCrucibleInfoFieldBuilder() {
        if (crucibleInfoBuilder_ == null) {
          if (!(detailCase_ == 12)) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
          }
          crucibleInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder>(
                  (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_,
                  getParentForChildren(),
                  isClean());
          detail_ = null;
        }
        detailCase_ = 12;
        onChanged();;
        return crucibleInfoBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> salesmanInfoBuilder_;
      /**
       * <code>.ActivityNullDetailInfo salesmanInfo = 13;</code>
       * @return Whether the salesmanInfo field is set.
       */
      @java.lang.Override
      public boolean hasSalesmanInfo() {
        return detailCase_ == 13;
      }
      /**
       * <code>.ActivityNullDetailInfo salesmanInfo = 13;</code>
       * @return The salesmanInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getSalesmanInfo() {
        if (salesmanInfoBuilder_ == null) {
          if (detailCase_ == 13) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        } else {
          if (detailCase_ == 13) {
            return salesmanInfoBuilder_.getMessage();
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo salesmanInfo = 13;</code>
       */
      public Builder setSalesmanInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (salesmanInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          detail_ = value;
          onChanged();
        } else {
          salesmanInfoBuilder_.setMessage(value);
        }
        detailCase_ = 13;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo salesmanInfo = 13;</code>
       */
      public Builder setSalesmanInfo(
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder builderForValue) {
        if (salesmanInfoBuilder_ == null) {
          detail_ = builderForValue.build();
          onChanged();
        } else {
          salesmanInfoBuilder_.setMessage(builderForValue.build());
        }
        detailCase_ = 13;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo salesmanInfo = 13;</code>
       */
      public Builder mergeSalesmanInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (salesmanInfoBuilder_ == null) {
          if (detailCase_ == 13 &&
              detail_ != emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance()) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.newBuilder((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_)
                .mergeFrom(value).buildPartial();
          } else {
            detail_ = value;
          }
          onChanged();
        } else {
          if (detailCase_ == 13) {
            salesmanInfoBuilder_.mergeFrom(value);
          }
          salesmanInfoBuilder_.setMessage(value);
        }
        detailCase_ = 13;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo salesmanInfo = 13;</code>
       */
      public Builder clearSalesmanInfo() {
        if (salesmanInfoBuilder_ == null) {
          if (detailCase_ == 13) {
            detailCase_ = 0;
            detail_ = null;
            onChanged();
          }
        } else {
          if (detailCase_ == 13) {
            detailCase_ = 0;
            detail_ = null;
          }
          salesmanInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo salesmanInfo = 13;</code>
       */
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder getSalesmanInfoBuilder() {
        return getSalesmanInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>.ActivityNullDetailInfo salesmanInfo = 13;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getSalesmanInfoOrBuilder() {
        if ((detailCase_ == 13) && (salesmanInfoBuilder_ != null)) {
          return salesmanInfoBuilder_.getMessageOrBuilder();
        } else {
          if (detailCase_ == 13) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo salesmanInfo = 13;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> 
          getSalesmanInfoFieldBuilder() {
        if (salesmanInfoBuilder_ == null) {
          if (!(detailCase_ == 13)) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
          }
          salesmanInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder>(
                  (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_,
                  getParentForChildren(),
                  isClean());
          detail_ = null;
        }
        detailCase_ = 13;
        onChanged();;
        return salesmanInfoBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> trialAvatarInfoBuilder_;
      /**
       * <code>.ActivityNullDetailInfo trialAvatarInfo = 14;</code>
       * @return Whether the trialAvatarInfo field is set.
       */
      @java.lang.Override
      public boolean hasTrialAvatarInfo() {
        return detailCase_ == 14;
      }
      /**
       * <code>.ActivityNullDetailInfo trialAvatarInfo = 14;</code>
       * @return The trialAvatarInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getTrialAvatarInfo() {
        if (trialAvatarInfoBuilder_ == null) {
          if (detailCase_ == 14) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        } else {
          if (detailCase_ == 14) {
            return trialAvatarInfoBuilder_.getMessage();
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo trialAvatarInfo = 14;</code>
       */
      public Builder setTrialAvatarInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (trialAvatarInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          detail_ = value;
          onChanged();
        } else {
          trialAvatarInfoBuilder_.setMessage(value);
        }
        detailCase_ = 14;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo trialAvatarInfo = 14;</code>
       */
      public Builder setTrialAvatarInfo(
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder builderForValue) {
        if (trialAvatarInfoBuilder_ == null) {
          detail_ = builderForValue.build();
          onChanged();
        } else {
          trialAvatarInfoBuilder_.setMessage(builderForValue.build());
        }
        detailCase_ = 14;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo trialAvatarInfo = 14;</code>
       */
      public Builder mergeTrialAvatarInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (trialAvatarInfoBuilder_ == null) {
          if (detailCase_ == 14 &&
              detail_ != emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance()) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.newBuilder((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_)
                .mergeFrom(value).buildPartial();
          } else {
            detail_ = value;
          }
          onChanged();
        } else {
          if (detailCase_ == 14) {
            trialAvatarInfoBuilder_.mergeFrom(value);
          }
          trialAvatarInfoBuilder_.setMessage(value);
        }
        detailCase_ = 14;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo trialAvatarInfo = 14;</code>
       */
      public Builder clearTrialAvatarInfo() {
        if (trialAvatarInfoBuilder_ == null) {
          if (detailCase_ == 14) {
            detailCase_ = 0;
            detail_ = null;
            onChanged();
          }
        } else {
          if (detailCase_ == 14) {
            detailCase_ = 0;
            detail_ = null;
          }
          trialAvatarInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo trialAvatarInfo = 14;</code>
       */
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder getTrialAvatarInfoBuilder() {
        return getTrialAvatarInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>.ActivityNullDetailInfo trialAvatarInfo = 14;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getTrialAvatarInfoOrBuilder() {
        if ((detailCase_ == 14) && (trialAvatarInfoBuilder_ != null)) {
          return trialAvatarInfoBuilder_.getMessageOrBuilder();
        } else {
          if (detailCase_ == 14) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo trialAvatarInfo = 14;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> 
          getTrialAvatarInfoFieldBuilder() {
        if (trialAvatarInfoBuilder_ == null) {
          if (!(detailCase_ == 14)) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
          }
          trialAvatarInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder>(
                  (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_,
                  getParentForChildren(),
                  isClean());
          detail_ = null;
        }
        detailCase_ = 14;
        onChanged();;
        return trialAvatarInfoBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> deliveryInfoBuilder_;
      /**
       * <code>.ActivityNullDetailInfo deliveryInfo = 16;</code>
       * @return Whether the deliveryInfo field is set.
       */
      @java.lang.Override
      public boolean hasDeliveryInfo() {
        return detailCase_ == 16;
      }
      /**
       * <code>.ActivityNullDetailInfo deliveryInfo = 16;</code>
       * @return The deliveryInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getDeliveryInfo() {
        if (deliveryInfoBuilder_ == null) {
          if (detailCase_ == 16) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        } else {
          if (detailCase_ == 16) {
            return deliveryInfoBuilder_.getMessage();
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo deliveryInfo = 16;</code>
       */
      public Builder setDeliveryInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (deliveryInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          detail_ = value;
          onChanged();
        } else {
          deliveryInfoBuilder_.setMessage(value);
        }
        detailCase_ = 16;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo deliveryInfo = 16;</code>
       */
      public Builder setDeliveryInfo(
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder builderForValue) {
        if (deliveryInfoBuilder_ == null) {
          detail_ = builderForValue.build();
          onChanged();
        } else {
          deliveryInfoBuilder_.setMessage(builderForValue.build());
        }
        detailCase_ = 16;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo deliveryInfo = 16;</code>
       */
      public Builder mergeDeliveryInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (deliveryInfoBuilder_ == null) {
          if (detailCase_ == 16 &&
              detail_ != emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance()) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.newBuilder((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_)
                .mergeFrom(value).buildPartial();
          } else {
            detail_ = value;
          }
          onChanged();
        } else {
          if (detailCase_ == 16) {
            deliveryInfoBuilder_.mergeFrom(value);
          }
          deliveryInfoBuilder_.setMessage(value);
        }
        detailCase_ = 16;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo deliveryInfo = 16;</code>
       */
      public Builder clearDeliveryInfo() {
        if (deliveryInfoBuilder_ == null) {
          if (detailCase_ == 16) {
            detailCase_ = 0;
            detail_ = null;
            onChanged();
          }
        } else {
          if (detailCase_ == 16) {
            detailCase_ = 0;
            detail_ = null;
          }
          deliveryInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo deliveryInfo = 16;</code>
       */
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder getDeliveryInfoBuilder() {
        return getDeliveryInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>.ActivityNullDetailInfo deliveryInfo = 16;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getDeliveryInfoOrBuilder() {
        if ((detailCase_ == 16) && (deliveryInfoBuilder_ != null)) {
          return deliveryInfoBuilder_.getMessageOrBuilder();
        } else {
          if (detailCase_ == 16) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo deliveryInfo = 16;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> 
          getDeliveryInfoFieldBuilder() {
        if (deliveryInfoBuilder_ == null) {
          if (!(detailCase_ == 16)) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
          }
          deliveryInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder>(
                  (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_,
                  getParentForChildren(),
                  isClean());
          detail_ = null;
        }
        detailCase_ = 16;
        onChanged();;
        return deliveryInfoBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> asterInfoBuilder_;
      /**
       * <code>.ActivityNullDetailInfo asterInfo = 21;</code>
       * @return Whether the asterInfo field is set.
       */
      @java.lang.Override
      public boolean hasAsterInfo() {
        return detailCase_ == 21;
      }
      /**
       * <code>.ActivityNullDetailInfo asterInfo = 21;</code>
       * @return The asterInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getAsterInfo() {
        if (asterInfoBuilder_ == null) {
          if (detailCase_ == 21) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        } else {
          if (detailCase_ == 21) {
            return asterInfoBuilder_.getMessage();
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo asterInfo = 21;</code>
       */
      public Builder setAsterInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (asterInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          detail_ = value;
          onChanged();
        } else {
          asterInfoBuilder_.setMessage(value);
        }
        detailCase_ = 21;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo asterInfo = 21;</code>
       */
      public Builder setAsterInfo(
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder builderForValue) {
        if (asterInfoBuilder_ == null) {
          detail_ = builderForValue.build();
          onChanged();
        } else {
          asterInfoBuilder_.setMessage(builderForValue.build());
        }
        detailCase_ = 21;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo asterInfo = 21;</code>
       */
      public Builder mergeAsterInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (asterInfoBuilder_ == null) {
          if (detailCase_ == 21 &&
              detail_ != emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance()) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.newBuilder((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_)
                .mergeFrom(value).buildPartial();
          } else {
            detail_ = value;
          }
          onChanged();
        } else {
          if (detailCase_ == 21) {
            asterInfoBuilder_.mergeFrom(value);
          }
          asterInfoBuilder_.setMessage(value);
        }
        detailCase_ = 21;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo asterInfo = 21;</code>
       */
      public Builder clearAsterInfo() {
        if (asterInfoBuilder_ == null) {
          if (detailCase_ == 21) {
            detailCase_ = 0;
            detail_ = null;
            onChanged();
          }
        } else {
          if (detailCase_ == 21) {
            detailCase_ = 0;
            detail_ = null;
          }
          asterInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo asterInfo = 21;</code>
       */
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder getAsterInfoBuilder() {
        return getAsterInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>.ActivityNullDetailInfo asterInfo = 21;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getAsterInfoOrBuilder() {
        if ((detailCase_ == 21) && (asterInfoBuilder_ != null)) {
          return asterInfoBuilder_.getMessageOrBuilder();
        } else {
          if (detailCase_ == 21) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo asterInfo = 21;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> 
          getAsterInfoFieldBuilder() {
        if (asterInfoBuilder_ == null) {
          if (!(detailCase_ == 21)) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
          }
          asterInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder>(
                  (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_,
                  getParentForChildren(),
                  isClean());
          detail_ = null;
        }
        detailCase_ = 21;
        onChanged();;
        return asterInfoBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> flightInfoBuilder_;
      /**
       * <code>.ActivityNullDetailInfo flightInfo = 25;</code>
       * @return Whether the flightInfo field is set.
       */
      @java.lang.Override
      public boolean hasFlightInfo() {
        return detailCase_ == 25;
      }
      /**
       * <code>.ActivityNullDetailInfo flightInfo = 25;</code>
       * @return The flightInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getFlightInfo() {
        if (flightInfoBuilder_ == null) {
          if (detailCase_ == 25) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        } else {
          if (detailCase_ == 25) {
            return flightInfoBuilder_.getMessage();
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo flightInfo = 25;</code>
       */
      public Builder setFlightInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (flightInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          detail_ = value;
          onChanged();
        } else {
          flightInfoBuilder_.setMessage(value);
        }
        detailCase_ = 25;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo flightInfo = 25;</code>
       */
      public Builder setFlightInfo(
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder builderForValue) {
        if (flightInfoBuilder_ == null) {
          detail_ = builderForValue.build();
          onChanged();
        } else {
          flightInfoBuilder_.setMessage(builderForValue.build());
        }
        detailCase_ = 25;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo flightInfo = 25;</code>
       */
      public Builder mergeFlightInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (flightInfoBuilder_ == null) {
          if (detailCase_ == 25 &&
              detail_ != emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance()) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.newBuilder((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_)
                .mergeFrom(value).buildPartial();
          } else {
            detail_ = value;
          }
          onChanged();
        } else {
          if (detailCase_ == 25) {
            flightInfoBuilder_.mergeFrom(value);
          }
          flightInfoBuilder_.setMessage(value);
        }
        detailCase_ = 25;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo flightInfo = 25;</code>
       */
      public Builder clearFlightInfo() {
        if (flightInfoBuilder_ == null) {
          if (detailCase_ == 25) {
            detailCase_ = 0;
            detail_ = null;
            onChanged();
          }
        } else {
          if (detailCase_ == 25) {
            detailCase_ = 0;
            detail_ = null;
          }
          flightInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo flightInfo = 25;</code>
       */
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder getFlightInfoBuilder() {
        return getFlightInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>.ActivityNullDetailInfo flightInfo = 25;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getFlightInfoOrBuilder() {
        if ((detailCase_ == 25) && (flightInfoBuilder_ != null)) {
          return flightInfoBuilder_.getMessageOrBuilder();
        } else {
          if (detailCase_ == 25) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo flightInfo = 25;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> 
          getFlightInfoFieldBuilder() {
        if (flightInfoBuilder_ == null) {
          if (!(detailCase_ == 25)) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
          }
          flightInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder>(
                  (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_,
                  getParentForChildren(),
                  isClean());
          detail_ = null;
        }
        detailCase_ = 25;
        onChanged();;
        return flightInfoBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> dragonSpineInfoBuilder_;
      /**
       * <code>.ActivityNullDetailInfo dragonSpineInfo = 31;</code>
       * @return Whether the dragonSpineInfo field is set.
       */
      @java.lang.Override
      public boolean hasDragonSpineInfo() {
        return detailCase_ == 31;
      }
      /**
       * <code>.ActivityNullDetailInfo dragonSpineInfo = 31;</code>
       * @return The dragonSpineInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getDragonSpineInfo() {
        if (dragonSpineInfoBuilder_ == null) {
          if (detailCase_ == 31) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        } else {
          if (detailCase_ == 31) {
            return dragonSpineInfoBuilder_.getMessage();
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo dragonSpineInfo = 31;</code>
       */
      public Builder setDragonSpineInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (dragonSpineInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          detail_ = value;
          onChanged();
        } else {
          dragonSpineInfoBuilder_.setMessage(value);
        }
        detailCase_ = 31;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo dragonSpineInfo = 31;</code>
       */
      public Builder setDragonSpineInfo(
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder builderForValue) {
        if (dragonSpineInfoBuilder_ == null) {
          detail_ = builderForValue.build();
          onChanged();
        } else {
          dragonSpineInfoBuilder_.setMessage(builderForValue.build());
        }
        detailCase_ = 31;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo dragonSpineInfo = 31;</code>
       */
      public Builder mergeDragonSpineInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (dragonSpineInfoBuilder_ == null) {
          if (detailCase_ == 31 &&
              detail_ != emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance()) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.newBuilder((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_)
                .mergeFrom(value).buildPartial();
          } else {
            detail_ = value;
          }
          onChanged();
        } else {
          if (detailCase_ == 31) {
            dragonSpineInfoBuilder_.mergeFrom(value);
          }
          dragonSpineInfoBuilder_.setMessage(value);
        }
        detailCase_ = 31;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo dragonSpineInfo = 31;</code>
       */
      public Builder clearDragonSpineInfo() {
        if (dragonSpineInfoBuilder_ == null) {
          if (detailCase_ == 31) {
            detailCase_ = 0;
            detail_ = null;
            onChanged();
          }
        } else {
          if (detailCase_ == 31) {
            detailCase_ = 0;
            detail_ = null;
          }
          dragonSpineInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo dragonSpineInfo = 31;</code>
       */
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder getDragonSpineInfoBuilder() {
        return getDragonSpineInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>.ActivityNullDetailInfo dragonSpineInfo = 31;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getDragonSpineInfoOrBuilder() {
        if ((detailCase_ == 31) && (dragonSpineInfoBuilder_ != null)) {
          return dragonSpineInfoBuilder_.getMessageOrBuilder();
        } else {
          if (detailCase_ == 31) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo dragonSpineInfo = 31;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> 
          getDragonSpineInfoFieldBuilder() {
        if (dragonSpineInfoBuilder_ == null) {
          if (!(detailCase_ == 31)) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
          }
          dragonSpineInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder>(
                  (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_,
                  getParentForChildren(),
                  isClean());
          detail_ = null;
        }
        detailCase_ = 31;
        onChanged();;
        return dragonSpineInfoBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> effigyInfoBuilder_;
      /**
       * <code>.ActivityNullDetailInfo effigyInfo = 32;</code>
       * @return Whether the effigyInfo field is set.
       */
      @java.lang.Override
      public boolean hasEffigyInfo() {
        return detailCase_ == 32;
      }
      /**
       * <code>.ActivityNullDetailInfo effigyInfo = 32;</code>
       * @return The effigyInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getEffigyInfo() {
        if (effigyInfoBuilder_ == null) {
          if (detailCase_ == 32) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        } else {
          if (detailCase_ == 32) {
            return effigyInfoBuilder_.getMessage();
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo effigyInfo = 32;</code>
       */
      public Builder setEffigyInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (effigyInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          detail_ = value;
          onChanged();
        } else {
          effigyInfoBuilder_.setMessage(value);
        }
        detailCase_ = 32;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo effigyInfo = 32;</code>
       */
      public Builder setEffigyInfo(
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder builderForValue) {
        if (effigyInfoBuilder_ == null) {
          detail_ = builderForValue.build();
          onChanged();
        } else {
          effigyInfoBuilder_.setMessage(builderForValue.build());
        }
        detailCase_ = 32;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo effigyInfo = 32;</code>
       */
      public Builder mergeEffigyInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (effigyInfoBuilder_ == null) {
          if (detailCase_ == 32 &&
              detail_ != emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance()) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.newBuilder((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_)
                .mergeFrom(value).buildPartial();
          } else {
            detail_ = value;
          }
          onChanged();
        } else {
          if (detailCase_ == 32) {
            effigyInfoBuilder_.mergeFrom(value);
          }
          effigyInfoBuilder_.setMessage(value);
        }
        detailCase_ = 32;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo effigyInfo = 32;</code>
       */
      public Builder clearEffigyInfo() {
        if (effigyInfoBuilder_ == null) {
          if (detailCase_ == 32) {
            detailCase_ = 0;
            detail_ = null;
            onChanged();
          }
        } else {
          if (detailCase_ == 32) {
            detailCase_ = 0;
            detail_ = null;
          }
          effigyInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo effigyInfo = 32;</code>
       */
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder getEffigyInfoBuilder() {
        return getEffigyInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>.ActivityNullDetailInfo effigyInfo = 32;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getEffigyInfoOrBuilder() {
        if ((detailCase_ == 32) && (effigyInfoBuilder_ != null)) {
          return effigyInfoBuilder_.getMessageOrBuilder();
        } else {
          if (detailCase_ == 32) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo effigyInfo = 32;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> 
          getEffigyInfoFieldBuilder() {
        if (effigyInfoBuilder_ == null) {
          if (!(detailCase_ == 32)) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
          }
          effigyInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder>(
                  (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_,
                  getParentForChildren(),
                  isClean());
          detail_ = null;
        }
        detailCase_ = 32;
        onChanged();;
        return effigyInfoBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> treasureMapInfoBuilder_;
      /**
       * <code>.ActivityNullDetailInfo treasureMapInfo = 35;</code>
       * @return Whether the treasureMapInfo field is set.
       */
      @java.lang.Override
      public boolean hasTreasureMapInfo() {
        return detailCase_ == 35;
      }
      /**
       * <code>.ActivityNullDetailInfo treasureMapInfo = 35;</code>
       * @return The treasureMapInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getTreasureMapInfo() {
        if (treasureMapInfoBuilder_ == null) {
          if (detailCase_ == 35) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        } else {
          if (detailCase_ == 35) {
            return treasureMapInfoBuilder_.getMessage();
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo treasureMapInfo = 35;</code>
       */
      public Builder setTreasureMapInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (treasureMapInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          detail_ = value;
          onChanged();
        } else {
          treasureMapInfoBuilder_.setMessage(value);
        }
        detailCase_ = 35;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo treasureMapInfo = 35;</code>
       */
      public Builder setTreasureMapInfo(
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder builderForValue) {
        if (treasureMapInfoBuilder_ == null) {
          detail_ = builderForValue.build();
          onChanged();
        } else {
          treasureMapInfoBuilder_.setMessage(builderForValue.build());
        }
        detailCase_ = 35;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo treasureMapInfo = 35;</code>
       */
      public Builder mergeTreasureMapInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (treasureMapInfoBuilder_ == null) {
          if (detailCase_ == 35 &&
              detail_ != emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance()) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.newBuilder((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_)
                .mergeFrom(value).buildPartial();
          } else {
            detail_ = value;
          }
          onChanged();
        } else {
          if (detailCase_ == 35) {
            treasureMapInfoBuilder_.mergeFrom(value);
          }
          treasureMapInfoBuilder_.setMessage(value);
        }
        detailCase_ = 35;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo treasureMapInfo = 35;</code>
       */
      public Builder clearTreasureMapInfo() {
        if (treasureMapInfoBuilder_ == null) {
          if (detailCase_ == 35) {
            detailCase_ = 0;
            detail_ = null;
            onChanged();
          }
        } else {
          if (detailCase_ == 35) {
            detailCase_ = 0;
            detail_ = null;
          }
          treasureMapInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo treasureMapInfo = 35;</code>
       */
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder getTreasureMapInfoBuilder() {
        return getTreasureMapInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>.ActivityNullDetailInfo treasureMapInfo = 35;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getTreasureMapInfoOrBuilder() {
        if ((detailCase_ == 35) && (treasureMapInfoBuilder_ != null)) {
          return treasureMapInfoBuilder_.getMessageOrBuilder();
        } else {
          if (detailCase_ == 35) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo treasureMapInfo = 35;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> 
          getTreasureMapInfoFieldBuilder() {
        if (treasureMapInfoBuilder_ == null) {
          if (!(detailCase_ == 35)) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
          }
          treasureMapInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder>(
                  (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_,
                  getParentForChildren(),
                  isClean());
          detail_ = null;
        }
        detailCase_ = 35;
        onChanged();;
        return treasureMapInfoBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> blessingInfoBuilder_;
      /**
       * <code>.ActivityNullDetailInfo blessingInfo = 41;</code>
       * @return Whether the blessingInfo field is set.
       */
      @java.lang.Override
      public boolean hasBlessingInfo() {
        return detailCase_ == 41;
      }
      /**
       * <code>.ActivityNullDetailInfo blessingInfo = 41;</code>
       * @return The blessingInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getBlessingInfo() {
        if (blessingInfoBuilder_ == null) {
          if (detailCase_ == 41) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        } else {
          if (detailCase_ == 41) {
            return blessingInfoBuilder_.getMessage();
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo blessingInfo = 41;</code>
       */
      public Builder setBlessingInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (blessingInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          detail_ = value;
          onChanged();
        } else {
          blessingInfoBuilder_.setMessage(value);
        }
        detailCase_ = 41;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo blessingInfo = 41;</code>
       */
      public Builder setBlessingInfo(
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder builderForValue) {
        if (blessingInfoBuilder_ == null) {
          detail_ = builderForValue.build();
          onChanged();
        } else {
          blessingInfoBuilder_.setMessage(builderForValue.build());
        }
        detailCase_ = 41;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo blessingInfo = 41;</code>
       */
      public Builder mergeBlessingInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (blessingInfoBuilder_ == null) {
          if (detailCase_ == 41 &&
              detail_ != emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance()) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.newBuilder((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_)
                .mergeFrom(value).buildPartial();
          } else {
            detail_ = value;
          }
          onChanged();
        } else {
          if (detailCase_ == 41) {
            blessingInfoBuilder_.mergeFrom(value);
          }
          blessingInfoBuilder_.setMessage(value);
        }
        detailCase_ = 41;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo blessingInfo = 41;</code>
       */
      public Builder clearBlessingInfo() {
        if (blessingInfoBuilder_ == null) {
          if (detailCase_ == 41) {
            detailCase_ = 0;
            detail_ = null;
            onChanged();
          }
        } else {
          if (detailCase_ == 41) {
            detailCase_ = 0;
            detail_ = null;
          }
          blessingInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo blessingInfo = 41;</code>
       */
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder getBlessingInfoBuilder() {
        return getBlessingInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>.ActivityNullDetailInfo blessingInfo = 41;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getBlessingInfoOrBuilder() {
        if ((detailCase_ == 41) && (blessingInfoBuilder_ != null)) {
          return blessingInfoBuilder_.getMessageOrBuilder();
        } else {
          if (detailCase_ == 41) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo blessingInfo = 41;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> 
          getBlessingInfoFieldBuilder() {
        if (blessingInfoBuilder_ == null) {
          if (!(detailCase_ == 41)) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
          }
          blessingInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder>(
                  (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_,
                  getParentForChildren(),
                  isClean());
          detail_ = null;
        }
        detailCase_ = 41;
        onChanged();;
        return blessingInfoBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> seaLampInfoBuilder_;
      /**
       * <code>.ActivityNullDetailInfo seaLampInfo = 42;</code>
       * @return Whether the seaLampInfo field is set.
       */
      @java.lang.Override
      public boolean hasSeaLampInfo() {
        return detailCase_ == 42;
      }
      /**
       * <code>.ActivityNullDetailInfo seaLampInfo = 42;</code>
       * @return The seaLampInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getSeaLampInfo() {
        if (seaLampInfoBuilder_ == null) {
          if (detailCase_ == 42) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        } else {
          if (detailCase_ == 42) {
            return seaLampInfoBuilder_.getMessage();
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo seaLampInfo = 42;</code>
       */
      public Builder setSeaLampInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (seaLampInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          detail_ = value;
          onChanged();
        } else {
          seaLampInfoBuilder_.setMessage(value);
        }
        detailCase_ = 42;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo seaLampInfo = 42;</code>
       */
      public Builder setSeaLampInfo(
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder builderForValue) {
        if (seaLampInfoBuilder_ == null) {
          detail_ = builderForValue.build();
          onChanged();
        } else {
          seaLampInfoBuilder_.setMessage(builderForValue.build());
        }
        detailCase_ = 42;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo seaLampInfo = 42;</code>
       */
      public Builder mergeSeaLampInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (seaLampInfoBuilder_ == null) {
          if (detailCase_ == 42 &&
              detail_ != emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance()) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.newBuilder((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_)
                .mergeFrom(value).buildPartial();
          } else {
            detail_ = value;
          }
          onChanged();
        } else {
          if (detailCase_ == 42) {
            seaLampInfoBuilder_.mergeFrom(value);
          }
          seaLampInfoBuilder_.setMessage(value);
        }
        detailCase_ = 42;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo seaLampInfo = 42;</code>
       */
      public Builder clearSeaLampInfo() {
        if (seaLampInfoBuilder_ == null) {
          if (detailCase_ == 42) {
            detailCase_ = 0;
            detail_ = null;
            onChanged();
          }
        } else {
          if (detailCase_ == 42) {
            detailCase_ = 0;
            detail_ = null;
          }
          seaLampInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo seaLampInfo = 42;</code>
       */
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder getSeaLampInfoBuilder() {
        return getSeaLampInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>.ActivityNullDetailInfo seaLampInfo = 42;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getSeaLampInfoOrBuilder() {
        if ((detailCase_ == 42) && (seaLampInfoBuilder_ != null)) {
          return seaLampInfoBuilder_.getMessageOrBuilder();
        } else {
          if (detailCase_ == 42) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo seaLampInfo = 42;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> 
          getSeaLampInfoFieldBuilder() {
        if (seaLampInfoBuilder_ == null) {
          if (!(detailCase_ == 42)) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
          }
          seaLampInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder>(
                  (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_,
                  getParentForChildren(),
                  isClean());
          detail_ = null;
        }
        detailCase_ = 42;
        onChanged();;
        return seaLampInfoBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> expeditionInfoBuilder_;
      /**
       * <code>.ActivityNullDetailInfo expeditionInfo = 43;</code>
       * @return Whether the expeditionInfo field is set.
       */
      @java.lang.Override
      public boolean hasExpeditionInfo() {
        return detailCase_ == 43;
      }
      /**
       * <code>.ActivityNullDetailInfo expeditionInfo = 43;</code>
       * @return The expeditionInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getExpeditionInfo() {
        if (expeditionInfoBuilder_ == null) {
          if (detailCase_ == 43) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        } else {
          if (detailCase_ == 43) {
            return expeditionInfoBuilder_.getMessage();
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo expeditionInfo = 43;</code>
       */
      public Builder setExpeditionInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (expeditionInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          detail_ = value;
          onChanged();
        } else {
          expeditionInfoBuilder_.setMessage(value);
        }
        detailCase_ = 43;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo expeditionInfo = 43;</code>
       */
      public Builder setExpeditionInfo(
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder builderForValue) {
        if (expeditionInfoBuilder_ == null) {
          detail_ = builderForValue.build();
          onChanged();
        } else {
          expeditionInfoBuilder_.setMessage(builderForValue.build());
        }
        detailCase_ = 43;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo expeditionInfo = 43;</code>
       */
      public Builder mergeExpeditionInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (expeditionInfoBuilder_ == null) {
          if (detailCase_ == 43 &&
              detail_ != emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance()) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.newBuilder((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_)
                .mergeFrom(value).buildPartial();
          } else {
            detail_ = value;
          }
          onChanged();
        } else {
          if (detailCase_ == 43) {
            expeditionInfoBuilder_.mergeFrom(value);
          }
          expeditionInfoBuilder_.setMessage(value);
        }
        detailCase_ = 43;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo expeditionInfo = 43;</code>
       */
      public Builder clearExpeditionInfo() {
        if (expeditionInfoBuilder_ == null) {
          if (detailCase_ == 43) {
            detailCase_ = 0;
            detail_ = null;
            onChanged();
          }
        } else {
          if (detailCase_ == 43) {
            detailCase_ = 0;
            detail_ = null;
          }
          expeditionInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo expeditionInfo = 43;</code>
       */
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder getExpeditionInfoBuilder() {
        return getExpeditionInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>.ActivityNullDetailInfo expeditionInfo = 43;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getExpeditionInfoOrBuilder() {
        if ((detailCase_ == 43) && (expeditionInfoBuilder_ != null)) {
          return expeditionInfoBuilder_.getMessageOrBuilder();
        } else {
          if (detailCase_ == 43) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo expeditionInfo = 43;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> 
          getExpeditionInfoFieldBuilder() {
        if (expeditionInfoBuilder_ == null) {
          if (!(detailCase_ == 43)) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
          }
          expeditionInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder>(
                  (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_,
                  getParentForChildren(),
                  isClean());
          detail_ = null;
        }
        detailCase_ = 43;
        onChanged();;
        return expeditionInfoBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> arenaChallengeInfoBuilder_;
      /**
       * <code>.ActivityNullDetailInfo arenaChallengeInfo = 44;</code>
       * @return Whether the arenaChallengeInfo field is set.
       */
      @java.lang.Override
      public boolean hasArenaChallengeInfo() {
        return detailCase_ == 44;
      }
      /**
       * <code>.ActivityNullDetailInfo arenaChallengeInfo = 44;</code>
       * @return The arenaChallengeInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getArenaChallengeInfo() {
        if (arenaChallengeInfoBuilder_ == null) {
          if (detailCase_ == 44) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        } else {
          if (detailCase_ == 44) {
            return arenaChallengeInfoBuilder_.getMessage();
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo arenaChallengeInfo = 44;</code>
       */
      public Builder setArenaChallengeInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (arenaChallengeInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          detail_ = value;
          onChanged();
        } else {
          arenaChallengeInfoBuilder_.setMessage(value);
        }
        detailCase_ = 44;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo arenaChallengeInfo = 44;</code>
       */
      public Builder setArenaChallengeInfo(
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder builderForValue) {
        if (arenaChallengeInfoBuilder_ == null) {
          detail_ = builderForValue.build();
          onChanged();
        } else {
          arenaChallengeInfoBuilder_.setMessage(builderForValue.build());
        }
        detailCase_ = 44;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo arenaChallengeInfo = 44;</code>
       */
      public Builder mergeArenaChallengeInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (arenaChallengeInfoBuilder_ == null) {
          if (detailCase_ == 44 &&
              detail_ != emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance()) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.newBuilder((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_)
                .mergeFrom(value).buildPartial();
          } else {
            detail_ = value;
          }
          onChanged();
        } else {
          if (detailCase_ == 44) {
            arenaChallengeInfoBuilder_.mergeFrom(value);
          }
          arenaChallengeInfoBuilder_.setMessage(value);
        }
        detailCase_ = 44;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo arenaChallengeInfo = 44;</code>
       */
      public Builder clearArenaChallengeInfo() {
        if (arenaChallengeInfoBuilder_ == null) {
          if (detailCase_ == 44) {
            detailCase_ = 0;
            detail_ = null;
            onChanged();
          }
        } else {
          if (detailCase_ == 44) {
            detailCase_ = 0;
            detail_ = null;
          }
          arenaChallengeInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo arenaChallengeInfo = 44;</code>
       */
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder getArenaChallengeInfoBuilder() {
        return getArenaChallengeInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>.ActivityNullDetailInfo arenaChallengeInfo = 44;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getArenaChallengeInfoOrBuilder() {
        if ((detailCase_ == 44) && (arenaChallengeInfoBuilder_ != null)) {
          return arenaChallengeInfoBuilder_.getMessageOrBuilder();
        } else {
          if (detailCase_ == 44) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo arenaChallengeInfo = 44;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> 
          getArenaChallengeInfoFieldBuilder() {
        if (arenaChallengeInfoBuilder_ == null) {
          if (!(detailCase_ == 44)) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
          }
          arenaChallengeInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder>(
                  (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_,
                  getParentForChildren(),
                  isClean());
          detail_ = null;
        }
        detailCase_ = 44;
        onChanged();;
        return arenaChallengeInfoBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> fleurFairInfoBuilder_;
      /**
       * <code>.ActivityNullDetailInfo fleurFairInfo = 51;</code>
       * @return Whether the fleurFairInfo field is set.
       */
      @java.lang.Override
      public boolean hasFleurFairInfo() {
        return detailCase_ == 51;
      }
      /**
       * <code>.ActivityNullDetailInfo fleurFairInfo = 51;</code>
       * @return The fleurFairInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getFleurFairInfo() {
        if (fleurFairInfoBuilder_ == null) {
          if (detailCase_ == 51) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        } else {
          if (detailCase_ == 51) {
            return fleurFairInfoBuilder_.getMessage();
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo fleurFairInfo = 51;</code>
       */
      public Builder setFleurFairInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (fleurFairInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          detail_ = value;
          onChanged();
        } else {
          fleurFairInfoBuilder_.setMessage(value);
        }
        detailCase_ = 51;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo fleurFairInfo = 51;</code>
       */
      public Builder setFleurFairInfo(
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder builderForValue) {
        if (fleurFairInfoBuilder_ == null) {
          detail_ = builderForValue.build();
          onChanged();
        } else {
          fleurFairInfoBuilder_.setMessage(builderForValue.build());
        }
        detailCase_ = 51;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo fleurFairInfo = 51;</code>
       */
      public Builder mergeFleurFairInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (fleurFairInfoBuilder_ == null) {
          if (detailCase_ == 51 &&
              detail_ != emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance()) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.newBuilder((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_)
                .mergeFrom(value).buildPartial();
          } else {
            detail_ = value;
          }
          onChanged();
        } else {
          if (detailCase_ == 51) {
            fleurFairInfoBuilder_.mergeFrom(value);
          }
          fleurFairInfoBuilder_.setMessage(value);
        }
        detailCase_ = 51;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo fleurFairInfo = 51;</code>
       */
      public Builder clearFleurFairInfo() {
        if (fleurFairInfoBuilder_ == null) {
          if (detailCase_ == 51) {
            detailCase_ = 0;
            detail_ = null;
            onChanged();
          }
        } else {
          if (detailCase_ == 51) {
            detailCase_ = 0;
            detail_ = null;
          }
          fleurFairInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo fleurFairInfo = 51;</code>
       */
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder getFleurFairInfoBuilder() {
        return getFleurFairInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>.ActivityNullDetailInfo fleurFairInfo = 51;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getFleurFairInfoOrBuilder() {
        if ((detailCase_ == 51) && (fleurFairInfoBuilder_ != null)) {
          return fleurFairInfoBuilder_.getMessageOrBuilder();
        } else {
          if (detailCase_ == 51) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo fleurFairInfo = 51;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> 
          getFleurFairInfoFieldBuilder() {
        if (fleurFairInfoBuilder_ == null) {
          if (!(detailCase_ == 51)) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
          }
          fleurFairInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder>(
                  (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_,
                  getParentForChildren(),
                  isClean());
          detail_ = null;
        }
        detailCase_ = 51;
        onChanged();;
        return fleurFairInfoBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> waterSpiritInfoBuilder_;
      /**
       * <code>.ActivityNullDetailInfo waterSpiritInfo = 52;</code>
       * @return Whether the waterSpiritInfo field is set.
       */
      @java.lang.Override
      public boolean hasWaterSpiritInfo() {
        return detailCase_ == 52;
      }
      /**
       * <code>.ActivityNullDetailInfo waterSpiritInfo = 52;</code>
       * @return The waterSpiritInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getWaterSpiritInfo() {
        if (waterSpiritInfoBuilder_ == null) {
          if (detailCase_ == 52) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        } else {
          if (detailCase_ == 52) {
            return waterSpiritInfoBuilder_.getMessage();
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo waterSpiritInfo = 52;</code>
       */
      public Builder setWaterSpiritInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (waterSpiritInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          detail_ = value;
          onChanged();
        } else {
          waterSpiritInfoBuilder_.setMessage(value);
        }
        detailCase_ = 52;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo waterSpiritInfo = 52;</code>
       */
      public Builder setWaterSpiritInfo(
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder builderForValue) {
        if (waterSpiritInfoBuilder_ == null) {
          detail_ = builderForValue.build();
          onChanged();
        } else {
          waterSpiritInfoBuilder_.setMessage(builderForValue.build());
        }
        detailCase_ = 52;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo waterSpiritInfo = 52;</code>
       */
      public Builder mergeWaterSpiritInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (waterSpiritInfoBuilder_ == null) {
          if (detailCase_ == 52 &&
              detail_ != emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance()) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.newBuilder((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_)
                .mergeFrom(value).buildPartial();
          } else {
            detail_ = value;
          }
          onChanged();
        } else {
          if (detailCase_ == 52) {
            waterSpiritInfoBuilder_.mergeFrom(value);
          }
          waterSpiritInfoBuilder_.setMessage(value);
        }
        detailCase_ = 52;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo waterSpiritInfo = 52;</code>
       */
      public Builder clearWaterSpiritInfo() {
        if (waterSpiritInfoBuilder_ == null) {
          if (detailCase_ == 52) {
            detailCase_ = 0;
            detail_ = null;
            onChanged();
          }
        } else {
          if (detailCase_ == 52) {
            detailCase_ = 0;
            detail_ = null;
          }
          waterSpiritInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo waterSpiritInfo = 52;</code>
       */
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder getWaterSpiritInfoBuilder() {
        return getWaterSpiritInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>.ActivityNullDetailInfo waterSpiritInfo = 52;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getWaterSpiritInfoOrBuilder() {
        if ((detailCase_ == 52) && (waterSpiritInfoBuilder_ != null)) {
          return waterSpiritInfoBuilder_.getMessageOrBuilder();
        } else {
          if (detailCase_ == 52) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo waterSpiritInfo = 52;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> 
          getWaterSpiritInfoFieldBuilder() {
        if (waterSpiritInfoBuilder_ == null) {
          if (!(detailCase_ == 52)) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
          }
          waterSpiritInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder>(
                  (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_,
                  getParentForChildren(),
                  isClean());
          detail_ = null;
        }
        detailCase_ = 52;
        onChanged();;
        return waterSpiritInfoBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> challnelerSlabInfoBuilder_;
      /**
       * <code>.ActivityNullDetailInfo challnelerSlabInfo = 61;</code>
       * @return Whether the challnelerSlabInfo field is set.
       */
      @java.lang.Override
      public boolean hasChallnelerSlabInfo() {
        return detailCase_ == 61;
      }
      /**
       * <code>.ActivityNullDetailInfo challnelerSlabInfo = 61;</code>
       * @return The challnelerSlabInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getChallnelerSlabInfo() {
        if (challnelerSlabInfoBuilder_ == null) {
          if (detailCase_ == 61) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        } else {
          if (detailCase_ == 61) {
            return challnelerSlabInfoBuilder_.getMessage();
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo challnelerSlabInfo = 61;</code>
       */
      public Builder setChallnelerSlabInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (challnelerSlabInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          detail_ = value;
          onChanged();
        } else {
          challnelerSlabInfoBuilder_.setMessage(value);
        }
        detailCase_ = 61;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo challnelerSlabInfo = 61;</code>
       */
      public Builder setChallnelerSlabInfo(
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder builderForValue) {
        if (challnelerSlabInfoBuilder_ == null) {
          detail_ = builderForValue.build();
          onChanged();
        } else {
          challnelerSlabInfoBuilder_.setMessage(builderForValue.build());
        }
        detailCase_ = 61;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo challnelerSlabInfo = 61;</code>
       */
      public Builder mergeChallnelerSlabInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (challnelerSlabInfoBuilder_ == null) {
          if (detailCase_ == 61 &&
              detail_ != emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance()) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.newBuilder((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_)
                .mergeFrom(value).buildPartial();
          } else {
            detail_ = value;
          }
          onChanged();
        } else {
          if (detailCase_ == 61) {
            challnelerSlabInfoBuilder_.mergeFrom(value);
          }
          challnelerSlabInfoBuilder_.setMessage(value);
        }
        detailCase_ = 61;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo challnelerSlabInfo = 61;</code>
       */
      public Builder clearChallnelerSlabInfo() {
        if (challnelerSlabInfoBuilder_ == null) {
          if (detailCase_ == 61) {
            detailCase_ = 0;
            detail_ = null;
            onChanged();
          }
        } else {
          if (detailCase_ == 61) {
            detailCase_ = 0;
            detail_ = null;
          }
          challnelerSlabInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo challnelerSlabInfo = 61;</code>
       */
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder getChallnelerSlabInfoBuilder() {
        return getChallnelerSlabInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>.ActivityNullDetailInfo challnelerSlabInfo = 61;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getChallnelerSlabInfoOrBuilder() {
        if ((detailCase_ == 61) && (challnelerSlabInfoBuilder_ != null)) {
          return challnelerSlabInfoBuilder_.getMessageOrBuilder();
        } else {
          if (detailCase_ == 61) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo challnelerSlabInfo = 61;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> 
          getChallnelerSlabInfoFieldBuilder() {
        if (challnelerSlabInfoBuilder_ == null) {
          if (!(detailCase_ == 61)) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
          }
          challnelerSlabInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder>(
                  (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_,
                  getParentForChildren(),
                  isClean());
          detail_ = null;
        }
        detailCase_ = 61;
        onChanged();;
        return challnelerSlabInfoBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> mistTrialActivityInfoBuilder_;
      /**
       * <code>.ActivityNullDetailInfo mistTrialActivityInfo = 62;</code>
       * @return Whether the mistTrialActivityInfo field is set.
       */
      @java.lang.Override
      public boolean hasMistTrialActivityInfo() {
        return detailCase_ == 62;
      }
      /**
       * <code>.ActivityNullDetailInfo mistTrialActivityInfo = 62;</code>
       * @return The mistTrialActivityInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getMistTrialActivityInfo() {
        if (mistTrialActivityInfoBuilder_ == null) {
          if (detailCase_ == 62) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        } else {
          if (detailCase_ == 62) {
            return mistTrialActivityInfoBuilder_.getMessage();
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo mistTrialActivityInfo = 62;</code>
       */
      public Builder setMistTrialActivityInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (mistTrialActivityInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          detail_ = value;
          onChanged();
        } else {
          mistTrialActivityInfoBuilder_.setMessage(value);
        }
        detailCase_ = 62;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo mistTrialActivityInfo = 62;</code>
       */
      public Builder setMistTrialActivityInfo(
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder builderForValue) {
        if (mistTrialActivityInfoBuilder_ == null) {
          detail_ = builderForValue.build();
          onChanged();
        } else {
          mistTrialActivityInfoBuilder_.setMessage(builderForValue.build());
        }
        detailCase_ = 62;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo mistTrialActivityInfo = 62;</code>
       */
      public Builder mergeMistTrialActivityInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (mistTrialActivityInfoBuilder_ == null) {
          if (detailCase_ == 62 &&
              detail_ != emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance()) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.newBuilder((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_)
                .mergeFrom(value).buildPartial();
          } else {
            detail_ = value;
          }
          onChanged();
        } else {
          if (detailCase_ == 62) {
            mistTrialActivityInfoBuilder_.mergeFrom(value);
          }
          mistTrialActivityInfoBuilder_.setMessage(value);
        }
        detailCase_ = 62;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo mistTrialActivityInfo = 62;</code>
       */
      public Builder clearMistTrialActivityInfo() {
        if (mistTrialActivityInfoBuilder_ == null) {
          if (detailCase_ == 62) {
            detailCase_ = 0;
            detail_ = null;
            onChanged();
          }
        } else {
          if (detailCase_ == 62) {
            detailCase_ = 0;
            detail_ = null;
          }
          mistTrialActivityInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo mistTrialActivityInfo = 62;</code>
       */
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder getMistTrialActivityInfoBuilder() {
        return getMistTrialActivityInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>.ActivityNullDetailInfo mistTrialActivityInfo = 62;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getMistTrialActivityInfoOrBuilder() {
        if ((detailCase_ == 62) && (mistTrialActivityInfoBuilder_ != null)) {
          return mistTrialActivityInfoBuilder_.getMessageOrBuilder();
        } else {
          if (detailCase_ == 62) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo mistTrialActivityInfo = 62;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> 
          getMistTrialActivityInfoFieldBuilder() {
        if (mistTrialActivityInfoBuilder_ == null) {
          if (!(detailCase_ == 62)) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
          }
          mistTrialActivityInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder>(
                  (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_,
                  getParentForChildren(),
                  isClean());
          detail_ = null;
        }
        detailCase_ = 62;
        onChanged();;
        return mistTrialActivityInfoBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> hideAndSeekInfoBuilder_;
      /**
       * <code>.ActivityNullDetailInfo hideAndSeekInfo = 63;</code>
       * @return Whether the hideAndSeekInfo field is set.
       */
      @java.lang.Override
      public boolean hasHideAndSeekInfo() {
        return detailCase_ == 63;
      }
      /**
       * <code>.ActivityNullDetailInfo hideAndSeekInfo = 63;</code>
       * @return The hideAndSeekInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getHideAndSeekInfo() {
        if (hideAndSeekInfoBuilder_ == null) {
          if (detailCase_ == 63) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        } else {
          if (detailCase_ == 63) {
            return hideAndSeekInfoBuilder_.getMessage();
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo hideAndSeekInfo = 63;</code>
       */
      public Builder setHideAndSeekInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (hideAndSeekInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          detail_ = value;
          onChanged();
        } else {
          hideAndSeekInfoBuilder_.setMessage(value);
        }
        detailCase_ = 63;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo hideAndSeekInfo = 63;</code>
       */
      public Builder setHideAndSeekInfo(
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder builderForValue) {
        if (hideAndSeekInfoBuilder_ == null) {
          detail_ = builderForValue.build();
          onChanged();
        } else {
          hideAndSeekInfoBuilder_.setMessage(builderForValue.build());
        }
        detailCase_ = 63;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo hideAndSeekInfo = 63;</code>
       */
      public Builder mergeHideAndSeekInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (hideAndSeekInfoBuilder_ == null) {
          if (detailCase_ == 63 &&
              detail_ != emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance()) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.newBuilder((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_)
                .mergeFrom(value).buildPartial();
          } else {
            detail_ = value;
          }
          onChanged();
        } else {
          if (detailCase_ == 63) {
            hideAndSeekInfoBuilder_.mergeFrom(value);
          }
          hideAndSeekInfoBuilder_.setMessage(value);
        }
        detailCase_ = 63;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo hideAndSeekInfo = 63;</code>
       */
      public Builder clearHideAndSeekInfo() {
        if (hideAndSeekInfoBuilder_ == null) {
          if (detailCase_ == 63) {
            detailCase_ = 0;
            detail_ = null;
            onChanged();
          }
        } else {
          if (detailCase_ == 63) {
            detailCase_ = 0;
            detail_ = null;
          }
          hideAndSeekInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo hideAndSeekInfo = 63;</code>
       */
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder getHideAndSeekInfoBuilder() {
        return getHideAndSeekInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>.ActivityNullDetailInfo hideAndSeekInfo = 63;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getHideAndSeekInfoOrBuilder() {
        if ((detailCase_ == 63) && (hideAndSeekInfoBuilder_ != null)) {
          return hideAndSeekInfoBuilder_.getMessageOrBuilder();
        } else {
          if (detailCase_ == 63) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo hideAndSeekInfo = 63;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> 
          getHideAndSeekInfoFieldBuilder() {
        if (hideAndSeekInfoBuilder_ == null) {
          if (!(detailCase_ == 63)) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
          }
          hideAndSeekInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder>(
                  (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_,
                  getParentForChildren(),
                  isClean());
          detail_ = null;
        }
        detailCase_ = 63;
        onChanged();;
        return hideAndSeekInfoBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> findHilichurlInfoBuilder_;
      /**
       * <code>.ActivityNullDetailInfo findHilichurlInfo = 64;</code>
       * @return Whether the findHilichurlInfo field is set.
       */
      @java.lang.Override
      public boolean hasFindHilichurlInfo() {
        return detailCase_ == 64;
      }
      /**
       * <code>.ActivityNullDetailInfo findHilichurlInfo = 64;</code>
       * @return The findHilichurlInfo.
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo getFindHilichurlInfo() {
        if (findHilichurlInfoBuilder_ == null) {
          if (detailCase_ == 64) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        } else {
          if (detailCase_ == 64) {
            return findHilichurlInfoBuilder_.getMessage();
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo findHilichurlInfo = 64;</code>
       */
      public Builder setFindHilichurlInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (findHilichurlInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          detail_ = value;
          onChanged();
        } else {
          findHilichurlInfoBuilder_.setMessage(value);
        }
        detailCase_ = 64;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo findHilichurlInfo = 64;</code>
       */
      public Builder setFindHilichurlInfo(
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder builderForValue) {
        if (findHilichurlInfoBuilder_ == null) {
          detail_ = builderForValue.build();
          onChanged();
        } else {
          findHilichurlInfoBuilder_.setMessage(builderForValue.build());
        }
        detailCase_ = 64;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo findHilichurlInfo = 64;</code>
       */
      public Builder mergeFindHilichurlInfo(emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo value) {
        if (findHilichurlInfoBuilder_ == null) {
          if (detailCase_ == 64 &&
              detail_ != emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance()) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.newBuilder((emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_)
                .mergeFrom(value).buildPartial();
          } else {
            detail_ = value;
          }
          onChanged();
        } else {
          if (detailCase_ == 64) {
            findHilichurlInfoBuilder_.mergeFrom(value);
          }
          findHilichurlInfoBuilder_.setMessage(value);
        }
        detailCase_ = 64;
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo findHilichurlInfo = 64;</code>
       */
      public Builder clearFindHilichurlInfo() {
        if (findHilichurlInfoBuilder_ == null) {
          if (detailCase_ == 64) {
            detailCase_ = 0;
            detail_ = null;
            onChanged();
          }
        } else {
          if (detailCase_ == 64) {
            detailCase_ = 0;
            detail_ = null;
          }
          findHilichurlInfoBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.ActivityNullDetailInfo findHilichurlInfo = 64;</code>
       */
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder getFindHilichurlInfoBuilder() {
        return getFindHilichurlInfoFieldBuilder().getBuilder();
      }
      /**
       * <code>.ActivityNullDetailInfo findHilichurlInfo = 64;</code>
       */
      @java.lang.Override
      public emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder getFindHilichurlInfoOrBuilder() {
        if ((detailCase_ == 64) && (findHilichurlInfoBuilder_ != null)) {
          return findHilichurlInfoBuilder_.getMessageOrBuilder();
        } else {
          if (detailCase_ == 64) {
            return (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_;
          }
          return emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
        }
      }
      /**
       * <code>.ActivityNullDetailInfo findHilichurlInfo = 64;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder> 
          getFindHilichurlInfoFieldBuilder() {
        if (findHilichurlInfoBuilder_ == null) {
          if (!(detailCase_ == 64)) {
            detail_ = emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.getDefaultInstance();
          }
          findHilichurlInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo.Builder, emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfoOrBuilder>(
                  (emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.ActivityNullDetailInfo) detail_,
                  getParentForChildren(),
                  isClean());
          detail_ = null;
        }
        detailCase_ = 64;
        onChanged();;
        return findHilichurlInfoBuilder_;
      }
      @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:ActivityInfo)
    }

    // @@protoc_insertion_point(class_scope:ActivityInfo)
    private static final emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo();
    }

    public static emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public emu.grasscutter.net.proto.ActivityInfoOuterClass.ActivityInfo getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_ActivityInfo_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_ActivityInfo_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_ActivityInfo_ActivityCoinMapEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_ActivityInfo_ActivityCoinMapEntry_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\022ActivityInfo.proto\032\034ActivityNullDetail" +
      "Info.proto\032\031ActivityWatcherInfo.proto\"\342\013" +
      "\n\014ActivityInfo\022\022\n\nactivityId\030\001 \001(\r\022\022\n\nsc" +
      "heduleId\030\002 \001(\r\022\021\n\tbeginTime\030\003 \001(\r\022\017\n\007end" +
      "Time\030\004 \001(\r\022\024\n\014activityType\030\005 \001(\r\022\026\n\016isPl" +
      "ayOpenAnim\030\006 \001(\010\022\022\n\nisFinished\030\007 \001(\010\022\022\n\n" +
      "isStarting\030\010 \001(\010\022-\n\017watcherInfoList\030\t \003(" +
      "\0132\024.ActivityWatcherInfo\022\024\n\014meetCondList\030" +
      "\n \003(\r\022\026\n\016expireCondList\030\017 \003(\r\022\036\n\026selecte" +
      "dAvatarRewardId\030\021 \001(\r\022;\n\017activityCoinMap" +
      "\030\022 \003(\0132\".ActivityInfo.ActivityCoinMapEnt" +
      "ry\022\022\n\nscoreLimit\030\023 \001(\r\022\020\n\010curScore\030\024 \001(\r" +
      "\022\027\n\017takenRewardList\030\030 \003(\r\022.\n\013samLampInfo" +
      "\030\013 \001(\0132\027.ActivityNullDetailInfoH\000\022/\n\014cru" +
      "cibleInfo\030\014 \001(\0132\027.ActivityNullDetailInfo" +
      "H\000\022/\n\014salesmanInfo\030\r \001(\0132\027.ActivityNullD" +
      "etailInfoH\000\0222\n\017trialAvatarInfo\030\016 \001(\0132\027.A" +
      "ctivityNullDetailInfoH\000\022/\n\014deliveryInfo\030" +
      "\020 \001(\0132\027.ActivityNullDetailInfoH\000\022,\n\taste" +
      "rInfo\030\025 \001(\0132\027.ActivityNullDetailInfoH\000\022-" +
      "\n\nflightInfo\030\031 \001(\0132\027.ActivityNullDetailI" +
      "nfoH\000\0222\n\017dragonSpineInfo\030\037 \001(\0132\027.Activit" +
      "yNullDetailInfoH\000\022-\n\neffigyInfo\030  \001(\0132\027." +
      "ActivityNullDetailInfoH\000\0222\n\017treasureMapI" +
      "nfo\030# \001(\0132\027.ActivityNullDetailInfoH\000\022/\n\014" +
      "blessingInfo\030) \001(\0132\027.ActivityNullDetailI" +
      "nfoH\000\022.\n\013seaLampInfo\030* \001(\0132\027.ActivityNul" +
      "lDetailInfoH\000\0221\n\016expeditionInfo\030+ \001(\0132\027." +
      "ActivityNullDetailInfoH\000\0225\n\022arenaChallen" +
      "geInfo\030, \001(\0132\027.ActivityNullDetailInfoH\000\022" +
      "0\n\rfleurFairInfo\0303 \001(\0132\027.ActivityNullDet" +
      "ailInfoH\000\0222\n\017waterSpiritInfo\0304 \001(\0132\027.Act" +
      "ivityNullDetailInfoH\000\0225\n\022challnelerSlabI" +
      "nfo\030= \001(\0132\027.ActivityNullDetailInfoH\000\0228\n\025" +
      "mistTrialActivityInfo\030> \001(\0132\027.ActivityNu" +
      "llDetailInfoH\000\0222\n\017hideAndSeekInfo\030? \001(\0132" +
      "\027.ActivityNullDetailInfoH\000\0224\n\021findHilich" +
      "urlInfo\030@ \001(\0132\027.ActivityNullDetailInfoH\000" +
      "\0326\n\024ActivityCoinMapEntry\022\013\n\003key\030\001 \001(\r\022\r\n" +
      "\005value\030\002 \001(\r:\0028\001B\010\n\006detailB\033\n\031emu.grassc" +
      "utter.net.protob\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.getDescriptor(),
          emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.getDescriptor(),
        });
    internal_static_ActivityInfo_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_ActivityInfo_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_ActivityInfo_descriptor,
        new java.lang.String[] { "ActivityId", "ScheduleId", "BeginTime", "EndTime", "ActivityType", "IsPlayOpenAnim", "IsFinished", "IsStarting", "WatcherInfoList", "MeetCondList", "ExpireCondList", "SelectedAvatarRewardId", "ActivityCoinMap", "ScoreLimit", "CurScore", "TakenRewardList", "SamLampInfo", "CrucibleInfo", "SalesmanInfo", "TrialAvatarInfo", "DeliveryInfo", "AsterInfo", "FlightInfo", "DragonSpineInfo", "EffigyInfo", "TreasureMapInfo", "BlessingInfo", "SeaLampInfo", "ExpeditionInfo", "ArenaChallengeInfo", "FleurFairInfo", "WaterSpiritInfo", "ChallnelerSlabInfo", "MistTrialActivityInfo", "HideAndSeekInfo", "FindHilichurlInfo", "Detail", });
    internal_static_ActivityInfo_ActivityCoinMapEntry_descriptor =
      internal_static_ActivityInfo_descriptor.getNestedTypes().get(0);
    internal_static_ActivityInfo_ActivityCoinMapEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_ActivityInfo_ActivityCoinMapEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    emu.grasscutter.net.proto.ActivityNullDetailInfoOuterClass.getDescriptor();
    emu.grasscutter.net.proto.ActivityWatcherInfoOuterClass.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
