All Downloads are FREE. Search and download functionalities are using the official Maven repository.

POGOProtos.Data.Quests.QuestRewardOuterClass Maven / Gradle / Ivy

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: POGOProtos/Data/Quests/QuestReward.proto

package POGOProtos.Data.Quests;

public final class QuestRewardOuterClass {
  private QuestRewardOuterClass() {}
  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 QuestRewardOrBuilder extends
      // @@protoc_insertion_point(interface_extends:POGOProtos.Data.Quests.QuestReward)
      com.google.protobuf.MessageOrBuilder {

    /**
     * .POGOProtos.Data.Quests.QuestReward.Type type = 1;
     */
    int getTypeValue();
    /**
     * .POGOProtos.Data.Quests.QuestReward.Type type = 1;
     */
    POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.Type getType();

    /**
     * int32 exp = 2;
     */
    int getExp();

    /**
     * .POGOProtos.Data.Quests.QuestReward.ItemReward item = 3;
     */
    boolean hasItem();
    /**
     * .POGOProtos.Data.Quests.QuestReward.ItemReward item = 3;
     */
    POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward getItem();
    /**
     * .POGOProtos.Data.Quests.QuestReward.ItemReward item = 3;
     */
    POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemRewardOrBuilder getItemOrBuilder();

    /**
     * int32 stardust = 4;
     */
    int getStardust();

    /**
     * .POGOProtos.Data.Quests.QuestReward.PokemonCandyReward candy = 5;
     */
    boolean hasCandy();
    /**
     * .POGOProtos.Data.Quests.QuestReward.PokemonCandyReward candy = 5;
     */
    POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward getCandy();
    /**
     * .POGOProtos.Data.Quests.QuestReward.PokemonCandyReward candy = 5;
     */
    POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyRewardOrBuilder getCandyOrBuilder();

    /**
     * string avatar_template_id = 6;
     */
    java.lang.String getAvatarTemplateId();
    /**
     * string avatar_template_id = 6;
     */
    com.google.protobuf.ByteString
        getAvatarTemplateIdBytes();

    /**
     * string quest_template_id = 7;
     */
    java.lang.String getQuestTemplateId();
    /**
     * string quest_template_id = 7;
     */
    com.google.protobuf.ByteString
        getQuestTemplateIdBytes();

    /**
     * .POGOProtos.Data.Quests.QuestReward.PokemonEncounterReward pokemon_encounter = 8;
     */
    boolean hasPokemonEncounter();
    /**
     * .POGOProtos.Data.Quests.QuestReward.PokemonEncounterReward pokemon_encounter = 8;
     */
    POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward getPokemonEncounter();
    /**
     * .POGOProtos.Data.Quests.QuestReward.PokemonEncounterReward pokemon_encounter = 8;
     */
    POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterRewardOrBuilder getPokemonEncounterOrBuilder();

    public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.RewardCase getRewardCase();
  }
  /**
   * Protobuf type {@code POGOProtos.Data.Quests.QuestReward}
   */
  public  static final class QuestReward extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:POGOProtos.Data.Quests.QuestReward)
      QuestRewardOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use QuestReward.newBuilder() to construct.
    private QuestReward(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private QuestReward() {
      type_ = 0;
    }

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

              type_ = rawValue;
              break;
            }
            case 16: {
              rewardCase_ = 2;
              reward_ = input.readInt32();
              break;
            }
            case 26: {
              POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward.Builder subBuilder = null;
              if (rewardCase_ == 3) {
                subBuilder = ((POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward) reward_).toBuilder();
              }
              reward_ =
                  input.readMessage(POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward) reward_);
                reward_ = subBuilder.buildPartial();
              }
              rewardCase_ = 3;
              break;
            }
            case 32: {
              rewardCase_ = 4;
              reward_ = input.readInt32();
              break;
            }
            case 42: {
              POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward.Builder subBuilder = null;
              if (rewardCase_ == 5) {
                subBuilder = ((POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward) reward_).toBuilder();
              }
              reward_ =
                  input.readMessage(POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward) reward_);
                reward_ = subBuilder.buildPartial();
              }
              rewardCase_ = 5;
              break;
            }
            case 50: {
              java.lang.String s = input.readStringRequireUtf8();
              rewardCase_ = 6;
              reward_ = s;
              break;
            }
            case 58: {
              java.lang.String s = input.readStringRequireUtf8();
              rewardCase_ = 7;
              reward_ = s;
              break;
            }
            case 66: {
              POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward.Builder subBuilder = null;
              if (rewardCase_ == 8) {
                subBuilder = ((POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward) reward_).toBuilder();
              }
              reward_ =
                  input.readMessage(POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward) reward_);
                reward_ = subBuilder.buildPartial();
              }
              rewardCase_ = 8;
              break;
            }
            default: {
              if (!parseUnknownFieldProto3(
                  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 {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return POGOProtos.Data.Quests.QuestRewardOuterClass.internal_static_POGOProtos_Data_Quests_QuestReward_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return POGOProtos.Data.Quests.QuestRewardOuterClass.internal_static_POGOProtos_Data_Quests_QuestReward_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.class, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.Builder.class);
    }

    /**
     * Protobuf enum {@code POGOProtos.Data.Quests.QuestReward.Type}
     */
    public enum Type
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * UNSET = 0;
       */
      UNSET(0),
      /**
       * EXPERIENCE = 1;
       */
      EXPERIENCE(1),
      /**
       * ITEM = 2;
       */
      ITEM(2),
      /**
       * STARDUST = 3;
       */
      STARDUST(3),
      /**
       * CANDY = 4;
       */
      CANDY(4),
      /**
       * AVATAR_CLOTHING = 5;
       */
      AVATAR_CLOTHING(5),
      /**
       * QUEST = 6;
       */
      QUEST(6),
      /**
       * POKEMON_ENCOUNTER = 7;
       */
      POKEMON_ENCOUNTER(7),
      UNRECOGNIZED(-1),
      ;

      /**
       * UNSET = 0;
       */
      public static final int UNSET_VALUE = 0;
      /**
       * EXPERIENCE = 1;
       */
      public static final int EXPERIENCE_VALUE = 1;
      /**
       * ITEM = 2;
       */
      public static final int ITEM_VALUE = 2;
      /**
       * STARDUST = 3;
       */
      public static final int STARDUST_VALUE = 3;
      /**
       * CANDY = 4;
       */
      public static final int CANDY_VALUE = 4;
      /**
       * AVATAR_CLOTHING = 5;
       */
      public static final int AVATAR_CLOTHING_VALUE = 5;
      /**
       * QUEST = 6;
       */
      public static final int QUEST_VALUE = 6;
      /**
       * POKEMON_ENCOUNTER = 7;
       */
      public static final int POKEMON_ENCOUNTER_VALUE = 7;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Type valueOf(int value) {
        return forNumber(value);
      }

      public static Type forNumber(int value) {
        switch (value) {
          case 0: return UNSET;
          case 1: return EXPERIENCE;
          case 2: return ITEM;
          case 3: return STARDUST;
          case 4: return CANDY;
          case 5: return AVATAR_CLOTHING;
          case 6: return QUEST;
          case 7: return POKEMON_ENCOUNTER;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Type> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap() {
              public Type findValueByNumber(int number) {
                return Type.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.getDescriptor().getEnumTypes().get(0);
      }

      private static final Type[] VALUES = values();

      public static Type valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Type(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:POGOProtos.Data.Quests.QuestReward.Type)
    }

    public interface ItemRewardOrBuilder extends
        // @@protoc_insertion_point(interface_extends:POGOProtos.Data.Quests.QuestReward.ItemReward)
        com.google.protobuf.MessageOrBuilder {

      /**
       * .POGOProtos.Inventory.Item.ItemId item = 1;
       */
      int getItemValue();
      /**
       * .POGOProtos.Inventory.Item.ItemId item = 1;
       */
      POGOProtos.Inventory.Item.ItemIdOuterClass.ItemId getItem();

      /**
       * int32 amount = 2;
       */
      int getAmount();
    }
    /**
     * Protobuf type {@code POGOProtos.Data.Quests.QuestReward.ItemReward}
     */
    public  static final class ItemReward extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:POGOProtos.Data.Quests.QuestReward.ItemReward)
        ItemRewardOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use ItemReward.newBuilder() to construct.
      private ItemReward(com.google.protobuf.GeneratedMessageV3.Builder builder) {
        super(builder);
      }
      private ItemReward() {
        item_ = 0;
        amount_ = 0;
      }

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

                item_ = rawValue;
                break;
              }
              case 16: {

                amount_ = input.readInt32();
                break;
              }
              default: {
                if (!parseUnknownFieldProto3(
                    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 {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return POGOProtos.Data.Quests.QuestRewardOuterClass.internal_static_POGOProtos_Data_Quests_QuestReward_ItemReward_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return POGOProtos.Data.Quests.QuestRewardOuterClass.internal_static_POGOProtos_Data_Quests_QuestReward_ItemReward_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward.class, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward.Builder.class);
      }

      public static final int ITEM_FIELD_NUMBER = 1;
      private int item_;
      /**
       * .POGOProtos.Inventory.Item.ItemId item = 1;
       */
      public int getItemValue() {
        return item_;
      }
      /**
       * .POGOProtos.Inventory.Item.ItemId item = 1;
       */
      public POGOProtos.Inventory.Item.ItemIdOuterClass.ItemId getItem() {
        @SuppressWarnings("deprecation")
        POGOProtos.Inventory.Item.ItemIdOuterClass.ItemId result = POGOProtos.Inventory.Item.ItemIdOuterClass.ItemId.valueOf(item_);
        return result == null ? POGOProtos.Inventory.Item.ItemIdOuterClass.ItemId.UNRECOGNIZED : result;
      }

      public static final int AMOUNT_FIELD_NUMBER = 2;
      private int amount_;
      /**
       * int32 amount = 2;
       */
      public int getAmount() {
        return amount_;
      }

      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 {
        if (item_ != POGOProtos.Inventory.Item.ItemIdOuterClass.ItemId.ITEM_UNKNOWN.getNumber()) {
          output.writeEnum(1, item_);
        }
        if (amount_ != 0) {
          output.writeInt32(2, amount_);
        }
        unknownFields.writeTo(output);
      }

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

        size = 0;
        if (item_ != POGOProtos.Inventory.Item.ItemIdOuterClass.ItemId.ITEM_UNKNOWN.getNumber()) {
          size += com.google.protobuf.CodedOutputStream
            .computeEnumSize(1, item_);
        }
        if (amount_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(2, amount_);
        }
        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 POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward)) {
          return super.equals(obj);
        }
        POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward other = (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward) obj;

        boolean result = true;
        result = result && item_ == other.item_;
        result = result && (getAmount()
            == other.getAmount());
        result = result && unknownFields.equals(other.unknownFields);
        return result;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + ITEM_FIELD_NUMBER;
        hash = (53 * hash) + item_;
        hash = (37 * hash) + AMOUNT_FIELD_NUMBER;
        hash = (53 * hash) + getAmount();
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward 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 POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward 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 POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward 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(POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward 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 POGOProtos.Data.Quests.QuestReward.ItemReward}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:POGOProtos.Data.Quests.QuestReward.ItemReward)
          POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemRewardOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return POGOProtos.Data.Quests.QuestRewardOuterClass.internal_static_POGOProtos_Data_Quests_QuestReward_ItemReward_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return POGOProtos.Data.Quests.QuestRewardOuterClass.internal_static_POGOProtos_Data_Quests_QuestReward_ItemReward_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward.class, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward.Builder.class);
        }

        // Construct using POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

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

          amount_ = 0;

          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return POGOProtos.Data.Quests.QuestRewardOuterClass.internal_static_POGOProtos_Data_Quests_QuestReward_ItemReward_descriptor;
        }

        @java.lang.Override
        public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward getDefaultInstanceForType() {
          return POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward.getDefaultInstance();
        }

        @java.lang.Override
        public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward build() {
          POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward buildPartial() {
          POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward result = new POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward(this);
          result.item_ = item_;
          result.amount_ = amount_;
          onBuilt();
          return result;
        }

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

        public Builder mergeFrom(POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward other) {
          if (other == POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward.getDefaultInstance()) return this;
          if (other.item_ != 0) {
            setItemValue(other.getItemValue());
          }
          if (other.getAmount() != 0) {
            setAmount(other.getAmount());
          }
          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 {
          POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }

        private int item_ = 0;
        /**
         * .POGOProtos.Inventory.Item.ItemId item = 1;
         */
        public int getItemValue() {
          return item_;
        }
        /**
         * .POGOProtos.Inventory.Item.ItemId item = 1;
         */
        public Builder setItemValue(int value) {
          item_ = value;
          onChanged();
          return this;
        }
        /**
         * .POGOProtos.Inventory.Item.ItemId item = 1;
         */
        public POGOProtos.Inventory.Item.ItemIdOuterClass.ItemId getItem() {
          @SuppressWarnings("deprecation")
          POGOProtos.Inventory.Item.ItemIdOuterClass.ItemId result = POGOProtos.Inventory.Item.ItemIdOuterClass.ItemId.valueOf(item_);
          return result == null ? POGOProtos.Inventory.Item.ItemIdOuterClass.ItemId.UNRECOGNIZED : result;
        }
        /**
         * .POGOProtos.Inventory.Item.ItemId item = 1;
         */
        public Builder setItem(POGOProtos.Inventory.Item.ItemIdOuterClass.ItemId value) {
          if (value == null) {
            throw new NullPointerException();
          }
          
          item_ = value.getNumber();
          onChanged();
          return this;
        }
        /**
         * .POGOProtos.Inventory.Item.ItemId item = 1;
         */
        public Builder clearItem() {
          
          item_ = 0;
          onChanged();
          return this;
        }

        private int amount_ ;
        /**
         * int32 amount = 2;
         */
        public int getAmount() {
          return amount_;
        }
        /**
         * int32 amount = 2;
         */
        public Builder setAmount(int value) {
          
          amount_ = value;
          onChanged();
          return this;
        }
        /**
         * int32 amount = 2;
         */
        public Builder clearAmount() {
          
          amount_ = 0;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFieldsProto3(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:POGOProtos.Data.Quests.QuestReward.ItemReward)
      }

      // @@protoc_insertion_point(class_scope:POGOProtos.Data.Quests.QuestReward.ItemReward)
      private static final POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward();
      }

      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface PokemonCandyRewardOrBuilder extends
        // @@protoc_insertion_point(interface_extends:POGOProtos.Data.Quests.QuestReward.PokemonCandyReward)
        com.google.protobuf.MessageOrBuilder {

      /**
       * .POGOProtos.Enums.PokemonId pokemon_id = 1;
       */
      int getPokemonIdValue();
      /**
       * .POGOProtos.Enums.PokemonId pokemon_id = 1;
       */
      POGOProtos.Enums.PokemonIdOuterClass.PokemonId getPokemonId();

      /**
       * int32 amount = 2;
       */
      int getAmount();
    }
    /**
     * Protobuf type {@code POGOProtos.Data.Quests.QuestReward.PokemonCandyReward}
     */
    public  static final class PokemonCandyReward extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:POGOProtos.Data.Quests.QuestReward.PokemonCandyReward)
        PokemonCandyRewardOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use PokemonCandyReward.newBuilder() to construct.
      private PokemonCandyReward(com.google.protobuf.GeneratedMessageV3.Builder builder) {
        super(builder);
      }
      private PokemonCandyReward() {
        pokemonId_ = 0;
        amount_ = 0;
      }

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

                pokemonId_ = rawValue;
                break;
              }
              case 16: {

                amount_ = input.readInt32();
                break;
              }
              default: {
                if (!parseUnknownFieldProto3(
                    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 {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return POGOProtos.Data.Quests.QuestRewardOuterClass.internal_static_POGOProtos_Data_Quests_QuestReward_PokemonCandyReward_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return POGOProtos.Data.Quests.QuestRewardOuterClass.internal_static_POGOProtos_Data_Quests_QuestReward_PokemonCandyReward_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward.class, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward.Builder.class);
      }

      public static final int POKEMON_ID_FIELD_NUMBER = 1;
      private int pokemonId_;
      /**
       * .POGOProtos.Enums.PokemonId pokemon_id = 1;
       */
      public int getPokemonIdValue() {
        return pokemonId_;
      }
      /**
       * .POGOProtos.Enums.PokemonId pokemon_id = 1;
       */
      public POGOProtos.Enums.PokemonIdOuterClass.PokemonId getPokemonId() {
        @SuppressWarnings("deprecation")
        POGOProtos.Enums.PokemonIdOuterClass.PokemonId result = POGOProtos.Enums.PokemonIdOuterClass.PokemonId.valueOf(pokemonId_);
        return result == null ? POGOProtos.Enums.PokemonIdOuterClass.PokemonId.UNRECOGNIZED : result;
      }

      public static final int AMOUNT_FIELD_NUMBER = 2;
      private int amount_;
      /**
       * int32 amount = 2;
       */
      public int getAmount() {
        return amount_;
      }

      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 {
        if (pokemonId_ != POGOProtos.Enums.PokemonIdOuterClass.PokemonId.MISSINGNO.getNumber()) {
          output.writeEnum(1, pokemonId_);
        }
        if (amount_ != 0) {
          output.writeInt32(2, amount_);
        }
        unknownFields.writeTo(output);
      }

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

        size = 0;
        if (pokemonId_ != POGOProtos.Enums.PokemonIdOuterClass.PokemonId.MISSINGNO.getNumber()) {
          size += com.google.protobuf.CodedOutputStream
            .computeEnumSize(1, pokemonId_);
        }
        if (amount_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(2, amount_);
        }
        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 POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward)) {
          return super.equals(obj);
        }
        POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward other = (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward) obj;

        boolean result = true;
        result = result && pokemonId_ == other.pokemonId_;
        result = result && (getAmount()
            == other.getAmount());
        result = result && unknownFields.equals(other.unknownFields);
        return result;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + POKEMON_ID_FIELD_NUMBER;
        hash = (53 * hash) + pokemonId_;
        hash = (37 * hash) + AMOUNT_FIELD_NUMBER;
        hash = (53 * hash) + getAmount();
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward 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 POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward 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 POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward 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(POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward 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 POGOProtos.Data.Quests.QuestReward.PokemonCandyReward}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:POGOProtos.Data.Quests.QuestReward.PokemonCandyReward)
          POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyRewardOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return POGOProtos.Data.Quests.QuestRewardOuterClass.internal_static_POGOProtos_Data_Quests_QuestReward_PokemonCandyReward_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return POGOProtos.Data.Quests.QuestRewardOuterClass.internal_static_POGOProtos_Data_Quests_QuestReward_PokemonCandyReward_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward.class, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward.Builder.class);
        }

        // Construct using POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

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

          amount_ = 0;

          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return POGOProtos.Data.Quests.QuestRewardOuterClass.internal_static_POGOProtos_Data_Quests_QuestReward_PokemonCandyReward_descriptor;
        }

        @java.lang.Override
        public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward getDefaultInstanceForType() {
          return POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward.getDefaultInstance();
        }

        @java.lang.Override
        public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward build() {
          POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward buildPartial() {
          POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward result = new POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward(this);
          result.pokemonId_ = pokemonId_;
          result.amount_ = amount_;
          onBuilt();
          return result;
        }

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

        public Builder mergeFrom(POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward other) {
          if (other == POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward.getDefaultInstance()) return this;
          if (other.pokemonId_ != 0) {
            setPokemonIdValue(other.getPokemonIdValue());
          }
          if (other.getAmount() != 0) {
            setAmount(other.getAmount());
          }
          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 {
          POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }

        private int pokemonId_ = 0;
        /**
         * .POGOProtos.Enums.PokemonId pokemon_id = 1;
         */
        public int getPokemonIdValue() {
          return pokemonId_;
        }
        /**
         * .POGOProtos.Enums.PokemonId pokemon_id = 1;
         */
        public Builder setPokemonIdValue(int value) {
          pokemonId_ = value;
          onChanged();
          return this;
        }
        /**
         * .POGOProtos.Enums.PokemonId pokemon_id = 1;
         */
        public POGOProtos.Enums.PokemonIdOuterClass.PokemonId getPokemonId() {
          @SuppressWarnings("deprecation")
          POGOProtos.Enums.PokemonIdOuterClass.PokemonId result = POGOProtos.Enums.PokemonIdOuterClass.PokemonId.valueOf(pokemonId_);
          return result == null ? POGOProtos.Enums.PokemonIdOuterClass.PokemonId.UNRECOGNIZED : result;
        }
        /**
         * .POGOProtos.Enums.PokemonId pokemon_id = 1;
         */
        public Builder setPokemonId(POGOProtos.Enums.PokemonIdOuterClass.PokemonId value) {
          if (value == null) {
            throw new NullPointerException();
          }
          
          pokemonId_ = value.getNumber();
          onChanged();
          return this;
        }
        /**
         * .POGOProtos.Enums.PokemonId pokemon_id = 1;
         */
        public Builder clearPokemonId() {
          
          pokemonId_ = 0;
          onChanged();
          return this;
        }

        private int amount_ ;
        /**
         * int32 amount = 2;
         */
        public int getAmount() {
          return amount_;
        }
        /**
         * int32 amount = 2;
         */
        public Builder setAmount(int value) {
          
          amount_ = value;
          onChanged();
          return this;
        }
        /**
         * int32 amount = 2;
         */
        public Builder clearAmount() {
          
          amount_ = 0;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFieldsProto3(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:POGOProtos.Data.Quests.QuestReward.PokemonCandyReward)
      }

      // @@protoc_insertion_point(class_scope:POGOProtos.Data.Quests.QuestReward.PokemonCandyReward)
      private static final POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward();
      }

      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface PokemonEncounterRewardOrBuilder extends
        // @@protoc_insertion_point(interface_extends:POGOProtos.Data.Quests.QuestReward.PokemonEncounterReward)
        com.google.protobuf.MessageOrBuilder {

      /**
       * .POGOProtos.Enums.PokemonId pokemon_id = 1;
       */
      int getPokemonIdValue();
      /**
       * .POGOProtos.Enums.PokemonId pokemon_id = 1;
       */
      POGOProtos.Enums.PokemonIdOuterClass.PokemonId getPokemonId();

      /**
       * bool use_quest_pokemon_encounter_distribuition = 2;
       */
      boolean getUseQuestPokemonEncounterDistribuition();

      /**
       * .POGOProtos.Data.PokemonDisplay pokemon_display = 3;
       */
      boolean hasPokemonDisplay();
      /**
       * .POGOProtos.Data.PokemonDisplay pokemon_display = 3;
       */
      POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay getPokemonDisplay();
      /**
       * .POGOProtos.Data.PokemonDisplay pokemon_display = 3;
       */
      POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplayOrBuilder getPokemonDisplayOrBuilder();

      /**
       * bool is_hidden_ditto = 4;
       */
      boolean getIsHiddenDitto();

      /**
       * .POGOProtos.Data.PokemonDisplay ditto_display = 5;
       */
      boolean hasDittoDisplay();
      /**
       * .POGOProtos.Data.PokemonDisplay ditto_display = 5;
       */
      POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay getDittoDisplay();
      /**
       * .POGOProtos.Data.PokemonDisplay ditto_display = 5;
       */
      POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplayOrBuilder getDittoDisplayOrBuilder();

      public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward.TypeCase getTypeCase();
    }
    /**
     * Protobuf type {@code POGOProtos.Data.Quests.QuestReward.PokemonEncounterReward}
     */
    public  static final class PokemonEncounterReward extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:POGOProtos.Data.Quests.QuestReward.PokemonEncounterReward)
        PokemonEncounterRewardOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use PokemonEncounterReward.newBuilder() to construct.
      private PokemonEncounterReward(com.google.protobuf.GeneratedMessageV3.Builder builder) {
        super(builder);
      }
      private PokemonEncounterReward() {
        isHiddenDitto_ = false;
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private PokemonEncounterReward(
          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: {
                int rawValue = input.readEnum();
                typeCase_ = 1;
                type_ = rawValue;
                break;
              }
              case 16: {
                typeCase_ = 2;
                type_ = input.readBool();
                break;
              }
              case 26: {
                POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay.Builder subBuilder = null;
                if (pokemonDisplay_ != null) {
                  subBuilder = pokemonDisplay_.toBuilder();
                }
                pokemonDisplay_ = input.readMessage(POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(pokemonDisplay_);
                  pokemonDisplay_ = subBuilder.buildPartial();
                }

                break;
              }
              case 32: {

                isHiddenDitto_ = input.readBool();
                break;
              }
              case 42: {
                POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay.Builder subBuilder = null;
                if (dittoDisplay_ != null) {
                  subBuilder = dittoDisplay_.toBuilder();
                }
                dittoDisplay_ = input.readMessage(POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(dittoDisplay_);
                  dittoDisplay_ = subBuilder.buildPartial();
                }

                break;
              }
              default: {
                if (!parseUnknownFieldProto3(
                    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 {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return POGOProtos.Data.Quests.QuestRewardOuterClass.internal_static_POGOProtos_Data_Quests_QuestReward_PokemonEncounterReward_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return POGOProtos.Data.Quests.QuestRewardOuterClass.internal_static_POGOProtos_Data_Quests_QuestReward_PokemonEncounterReward_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward.class, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward.Builder.class);
      }

      private int typeCase_ = 0;
      private java.lang.Object type_;
      public enum TypeCase
          implements com.google.protobuf.Internal.EnumLite {
        POKEMON_ID(1),
        USE_QUEST_POKEMON_ENCOUNTER_DISTRIBUITION(2),
        TYPE_NOT_SET(0);
        private final int value;
        private TypeCase(int value) {
          this.value = value;
        }
        /**
         * @deprecated Use {@link #forNumber(int)} instead.
         */
        @java.lang.Deprecated
        public static TypeCase valueOf(int value) {
          return forNumber(value);
        }

        public static TypeCase forNumber(int value) {
          switch (value) {
            case 1: return POKEMON_ID;
            case 2: return USE_QUEST_POKEMON_ENCOUNTER_DISTRIBUITION;
            case 0: return TYPE_NOT_SET;
            default: return null;
          }
        }
        public int getNumber() {
          return this.value;
        }
      };

      public TypeCase
      getTypeCase() {
        return TypeCase.forNumber(
            typeCase_);
      }

      public static final int POKEMON_ID_FIELD_NUMBER = 1;
      /**
       * .POGOProtos.Enums.PokemonId pokemon_id = 1;
       */
      public int getPokemonIdValue() {
        if (typeCase_ == 1) {
          return (java.lang.Integer) type_;
        }
        return 0;
      }
      /**
       * .POGOProtos.Enums.PokemonId pokemon_id = 1;
       */
      public POGOProtos.Enums.PokemonIdOuterClass.PokemonId getPokemonId() {
        if (typeCase_ == 1) {
          @SuppressWarnings("deprecation")
          POGOProtos.Enums.PokemonIdOuterClass.PokemonId result = POGOProtos.Enums.PokemonIdOuterClass.PokemonId.valueOf(
              (java.lang.Integer) type_);
          return result == null ? POGOProtos.Enums.PokemonIdOuterClass.PokemonId.UNRECOGNIZED : result;
        }
        return POGOProtos.Enums.PokemonIdOuterClass.PokemonId.MISSINGNO;
      }

      public static final int USE_QUEST_POKEMON_ENCOUNTER_DISTRIBUITION_FIELD_NUMBER = 2;
      /**
       * bool use_quest_pokemon_encounter_distribuition = 2;
       */
      public boolean getUseQuestPokemonEncounterDistribuition() {
        if (typeCase_ == 2) {
          return (java.lang.Boolean) type_;
        }
        return false;
      }

      public static final int POKEMON_DISPLAY_FIELD_NUMBER = 3;
      private POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay pokemonDisplay_;
      /**
       * .POGOProtos.Data.PokemonDisplay pokemon_display = 3;
       */
      public boolean hasPokemonDisplay() {
        return pokemonDisplay_ != null;
      }
      /**
       * .POGOProtos.Data.PokemonDisplay pokemon_display = 3;
       */
      public POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay getPokemonDisplay() {
        return pokemonDisplay_ == null ? POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay.getDefaultInstance() : pokemonDisplay_;
      }
      /**
       * .POGOProtos.Data.PokemonDisplay pokemon_display = 3;
       */
      public POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplayOrBuilder getPokemonDisplayOrBuilder() {
        return getPokemonDisplay();
      }

      public static final int IS_HIDDEN_DITTO_FIELD_NUMBER = 4;
      private boolean isHiddenDitto_;
      /**
       * bool is_hidden_ditto = 4;
       */
      public boolean getIsHiddenDitto() {
        return isHiddenDitto_;
      }

      public static final int DITTO_DISPLAY_FIELD_NUMBER = 5;
      private POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay dittoDisplay_;
      /**
       * .POGOProtos.Data.PokemonDisplay ditto_display = 5;
       */
      public boolean hasDittoDisplay() {
        return dittoDisplay_ != null;
      }
      /**
       * .POGOProtos.Data.PokemonDisplay ditto_display = 5;
       */
      public POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay getDittoDisplay() {
        return dittoDisplay_ == null ? POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay.getDefaultInstance() : dittoDisplay_;
      }
      /**
       * .POGOProtos.Data.PokemonDisplay ditto_display = 5;
       */
      public POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplayOrBuilder getDittoDisplayOrBuilder() {
        return getDittoDisplay();
      }

      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 {
        if (typeCase_ == 1) {
          output.writeEnum(1, ((java.lang.Integer) type_));
        }
        if (typeCase_ == 2) {
          output.writeBool(
              2, (boolean)((java.lang.Boolean) type_));
        }
        if (pokemonDisplay_ != null) {
          output.writeMessage(3, getPokemonDisplay());
        }
        if (isHiddenDitto_ != false) {
          output.writeBool(4, isHiddenDitto_);
        }
        if (dittoDisplay_ != null) {
          output.writeMessage(5, getDittoDisplay());
        }
        unknownFields.writeTo(output);
      }

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

        size = 0;
        if (typeCase_ == 1) {
          size += com.google.protobuf.CodedOutputStream
            .computeEnumSize(1, ((java.lang.Integer) type_));
        }
        if (typeCase_ == 2) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(
                2, (boolean)((java.lang.Boolean) type_));
        }
        if (pokemonDisplay_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, getPokemonDisplay());
        }
        if (isHiddenDitto_ != false) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(4, isHiddenDitto_);
        }
        if (dittoDisplay_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(5, getDittoDisplay());
        }
        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 POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward)) {
          return super.equals(obj);
        }
        POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward other = (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward) obj;

        boolean result = true;
        result = result && (hasPokemonDisplay() == other.hasPokemonDisplay());
        if (hasPokemonDisplay()) {
          result = result && getPokemonDisplay()
              .equals(other.getPokemonDisplay());
        }
        result = result && (getIsHiddenDitto()
            == other.getIsHiddenDitto());
        result = result && (hasDittoDisplay() == other.hasDittoDisplay());
        if (hasDittoDisplay()) {
          result = result && getDittoDisplay()
              .equals(other.getDittoDisplay());
        }
        result = result && getTypeCase().equals(
            other.getTypeCase());
        if (!result) return false;
        switch (typeCase_) {
          case 1:
            result = result && getPokemonIdValue()
                == other.getPokemonIdValue();
            break;
          case 2:
            result = result && (getUseQuestPokemonEncounterDistribuition()
                == other.getUseQuestPokemonEncounterDistribuition());
            break;
          case 0:
          default:
        }
        result = result && unknownFields.equals(other.unknownFields);
        return result;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasPokemonDisplay()) {
          hash = (37 * hash) + POKEMON_DISPLAY_FIELD_NUMBER;
          hash = (53 * hash) + getPokemonDisplay().hashCode();
        }
        hash = (37 * hash) + IS_HIDDEN_DITTO_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIsHiddenDitto());
        if (hasDittoDisplay()) {
          hash = (37 * hash) + DITTO_DISPLAY_FIELD_NUMBER;
          hash = (53 * hash) + getDittoDisplay().hashCode();
        }
        switch (typeCase_) {
          case 1:
            hash = (37 * hash) + POKEMON_ID_FIELD_NUMBER;
            hash = (53 * hash) + getPokemonIdValue();
            break;
          case 2:
            hash = (37 * hash) + USE_QUEST_POKEMON_ENCOUNTER_DISTRIBUITION_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
                getUseQuestPokemonEncounterDistribuition());
            break;
          case 0:
          default:
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward 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 POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward 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 POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward 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(POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward 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 POGOProtos.Data.Quests.QuestReward.PokemonEncounterReward}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:POGOProtos.Data.Quests.QuestReward.PokemonEncounterReward)
          POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterRewardOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return POGOProtos.Data.Quests.QuestRewardOuterClass.internal_static_POGOProtos_Data_Quests_QuestReward_PokemonEncounterReward_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return POGOProtos.Data.Quests.QuestRewardOuterClass.internal_static_POGOProtos_Data_Quests_QuestReward_PokemonEncounterReward_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward.class, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward.Builder.class);
        }

        // Construct using POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          if (pokemonDisplayBuilder_ == null) {
            pokemonDisplay_ = null;
          } else {
            pokemonDisplay_ = null;
            pokemonDisplayBuilder_ = null;
          }
          isHiddenDitto_ = false;

          if (dittoDisplayBuilder_ == null) {
            dittoDisplay_ = null;
          } else {
            dittoDisplay_ = null;
            dittoDisplayBuilder_ = null;
          }
          typeCase_ = 0;
          type_ = null;
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return POGOProtos.Data.Quests.QuestRewardOuterClass.internal_static_POGOProtos_Data_Quests_QuestReward_PokemonEncounterReward_descriptor;
        }

        @java.lang.Override
        public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward getDefaultInstanceForType() {
          return POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward.getDefaultInstance();
        }

        @java.lang.Override
        public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward build() {
          POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward buildPartial() {
          POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward result = new POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward(this);
          if (typeCase_ == 1) {
            result.type_ = type_;
          }
          if (typeCase_ == 2) {
            result.type_ = type_;
          }
          if (pokemonDisplayBuilder_ == null) {
            result.pokemonDisplay_ = pokemonDisplay_;
          } else {
            result.pokemonDisplay_ = pokemonDisplayBuilder_.build();
          }
          result.isHiddenDitto_ = isHiddenDitto_;
          if (dittoDisplayBuilder_ == null) {
            result.dittoDisplay_ = dittoDisplay_;
          } else {
            result.dittoDisplay_ = dittoDisplayBuilder_.build();
          }
          result.typeCase_ = typeCase_;
          onBuilt();
          return result;
        }

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

        public Builder mergeFrom(POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward other) {
          if (other == POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward.getDefaultInstance()) return this;
          if (other.hasPokemonDisplay()) {
            mergePokemonDisplay(other.getPokemonDisplay());
          }
          if (other.getIsHiddenDitto() != false) {
            setIsHiddenDitto(other.getIsHiddenDitto());
          }
          if (other.hasDittoDisplay()) {
            mergeDittoDisplay(other.getDittoDisplay());
          }
          switch (other.getTypeCase()) {
            case POKEMON_ID: {
              setPokemonIdValue(other.getPokemonIdValue());
              break;
            }
            case USE_QUEST_POKEMON_ENCOUNTER_DISTRIBUITION: {
              setUseQuestPokemonEncounterDistribuition(other.getUseQuestPokemonEncounterDistribuition());
              break;
            }
            case TYPE_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 {
          POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int typeCase_ = 0;
        private java.lang.Object type_;
        public TypeCase
            getTypeCase() {
          return TypeCase.forNumber(
              typeCase_);
        }

        public Builder clearType() {
          typeCase_ = 0;
          type_ = null;
          onChanged();
          return this;
        }


        /**
         * .POGOProtos.Enums.PokemonId pokemon_id = 1;
         */
        public int getPokemonIdValue() {
          if (typeCase_ == 1) {
            return ((java.lang.Integer) type_).intValue();
          }
          return 0;
        }
        /**
         * .POGOProtos.Enums.PokemonId pokemon_id = 1;
         */
        public Builder setPokemonIdValue(int value) {
          typeCase_ = 1;
          type_ = value;
          onChanged();
          return this;
        }
        /**
         * .POGOProtos.Enums.PokemonId pokemon_id = 1;
         */
        public POGOProtos.Enums.PokemonIdOuterClass.PokemonId getPokemonId() {
          if (typeCase_ == 1) {
            @SuppressWarnings("deprecation")
            POGOProtos.Enums.PokemonIdOuterClass.PokemonId result = POGOProtos.Enums.PokemonIdOuterClass.PokemonId.valueOf(
                (java.lang.Integer) type_);
            return result == null ? POGOProtos.Enums.PokemonIdOuterClass.PokemonId.UNRECOGNIZED : result;
          }
          return POGOProtos.Enums.PokemonIdOuterClass.PokemonId.MISSINGNO;
        }
        /**
         * .POGOProtos.Enums.PokemonId pokemon_id = 1;
         */
        public Builder setPokemonId(POGOProtos.Enums.PokemonIdOuterClass.PokemonId value) {
          if (value == null) {
            throw new NullPointerException();
          }
          typeCase_ = 1;
          type_ = value.getNumber();
          onChanged();
          return this;
        }
        /**
         * .POGOProtos.Enums.PokemonId pokemon_id = 1;
         */
        public Builder clearPokemonId() {
          if (typeCase_ == 1) {
            typeCase_ = 0;
            type_ = null;
            onChanged();
          }
          return this;
        }

        /**
         * bool use_quest_pokemon_encounter_distribuition = 2;
         */
        public boolean getUseQuestPokemonEncounterDistribuition() {
          if (typeCase_ == 2) {
            return (java.lang.Boolean) type_;
          }
          return false;
        }
        /**
         * bool use_quest_pokemon_encounter_distribuition = 2;
         */
        public Builder setUseQuestPokemonEncounterDistribuition(boolean value) {
          typeCase_ = 2;
          type_ = value;
          onChanged();
          return this;
        }
        /**
         * bool use_quest_pokemon_encounter_distribuition = 2;
         */
        public Builder clearUseQuestPokemonEncounterDistribuition() {
          if (typeCase_ == 2) {
            typeCase_ = 0;
            type_ = null;
            onChanged();
          }
          return this;
        }

        private POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay pokemonDisplay_ = null;
        private com.google.protobuf.SingleFieldBuilderV3<
            POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay, POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay.Builder, POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplayOrBuilder> pokemonDisplayBuilder_;
        /**
         * .POGOProtos.Data.PokemonDisplay pokemon_display = 3;
         */
        public boolean hasPokemonDisplay() {
          return pokemonDisplayBuilder_ != null || pokemonDisplay_ != null;
        }
        /**
         * .POGOProtos.Data.PokemonDisplay pokemon_display = 3;
         */
        public POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay getPokemonDisplay() {
          if (pokemonDisplayBuilder_ == null) {
            return pokemonDisplay_ == null ? POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay.getDefaultInstance() : pokemonDisplay_;
          } else {
            return pokemonDisplayBuilder_.getMessage();
          }
        }
        /**
         * .POGOProtos.Data.PokemonDisplay pokemon_display = 3;
         */
        public Builder setPokemonDisplay(POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay value) {
          if (pokemonDisplayBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            pokemonDisplay_ = value;
            onChanged();
          } else {
            pokemonDisplayBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * .POGOProtos.Data.PokemonDisplay pokemon_display = 3;
         */
        public Builder setPokemonDisplay(
            POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay.Builder builderForValue) {
          if (pokemonDisplayBuilder_ == null) {
            pokemonDisplay_ = builderForValue.build();
            onChanged();
          } else {
            pokemonDisplayBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * .POGOProtos.Data.PokemonDisplay pokemon_display = 3;
         */
        public Builder mergePokemonDisplay(POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay value) {
          if (pokemonDisplayBuilder_ == null) {
            if (pokemonDisplay_ != null) {
              pokemonDisplay_ =
                POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay.newBuilder(pokemonDisplay_).mergeFrom(value).buildPartial();
            } else {
              pokemonDisplay_ = value;
            }
            onChanged();
          } else {
            pokemonDisplayBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * .POGOProtos.Data.PokemonDisplay pokemon_display = 3;
         */
        public Builder clearPokemonDisplay() {
          if (pokemonDisplayBuilder_ == null) {
            pokemonDisplay_ = null;
            onChanged();
          } else {
            pokemonDisplay_ = null;
            pokemonDisplayBuilder_ = null;
          }

          return this;
        }
        /**
         * .POGOProtos.Data.PokemonDisplay pokemon_display = 3;
         */
        public POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay.Builder getPokemonDisplayBuilder() {
          
          onChanged();
          return getPokemonDisplayFieldBuilder().getBuilder();
        }
        /**
         * .POGOProtos.Data.PokemonDisplay pokemon_display = 3;
         */
        public POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplayOrBuilder getPokemonDisplayOrBuilder() {
          if (pokemonDisplayBuilder_ != null) {
            return pokemonDisplayBuilder_.getMessageOrBuilder();
          } else {
            return pokemonDisplay_ == null ?
                POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay.getDefaultInstance() : pokemonDisplay_;
          }
        }
        /**
         * .POGOProtos.Data.PokemonDisplay pokemon_display = 3;
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay, POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay.Builder, POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplayOrBuilder> 
            getPokemonDisplayFieldBuilder() {
          if (pokemonDisplayBuilder_ == null) {
            pokemonDisplayBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay, POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay.Builder, POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplayOrBuilder>(
                    getPokemonDisplay(),
                    getParentForChildren(),
                    isClean());
            pokemonDisplay_ = null;
          }
          return pokemonDisplayBuilder_;
        }

        private boolean isHiddenDitto_ ;
        /**
         * bool is_hidden_ditto = 4;
         */
        public boolean getIsHiddenDitto() {
          return isHiddenDitto_;
        }
        /**
         * bool is_hidden_ditto = 4;
         */
        public Builder setIsHiddenDitto(boolean value) {
          
          isHiddenDitto_ = value;
          onChanged();
          return this;
        }
        /**
         * bool is_hidden_ditto = 4;
         */
        public Builder clearIsHiddenDitto() {
          
          isHiddenDitto_ = false;
          onChanged();
          return this;
        }

        private POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay dittoDisplay_ = null;
        private com.google.protobuf.SingleFieldBuilderV3<
            POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay, POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay.Builder, POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplayOrBuilder> dittoDisplayBuilder_;
        /**
         * .POGOProtos.Data.PokemonDisplay ditto_display = 5;
         */
        public boolean hasDittoDisplay() {
          return dittoDisplayBuilder_ != null || dittoDisplay_ != null;
        }
        /**
         * .POGOProtos.Data.PokemonDisplay ditto_display = 5;
         */
        public POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay getDittoDisplay() {
          if (dittoDisplayBuilder_ == null) {
            return dittoDisplay_ == null ? POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay.getDefaultInstance() : dittoDisplay_;
          } else {
            return dittoDisplayBuilder_.getMessage();
          }
        }
        /**
         * .POGOProtos.Data.PokemonDisplay ditto_display = 5;
         */
        public Builder setDittoDisplay(POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay value) {
          if (dittoDisplayBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            dittoDisplay_ = value;
            onChanged();
          } else {
            dittoDisplayBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * .POGOProtos.Data.PokemonDisplay ditto_display = 5;
         */
        public Builder setDittoDisplay(
            POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay.Builder builderForValue) {
          if (dittoDisplayBuilder_ == null) {
            dittoDisplay_ = builderForValue.build();
            onChanged();
          } else {
            dittoDisplayBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * .POGOProtos.Data.PokemonDisplay ditto_display = 5;
         */
        public Builder mergeDittoDisplay(POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay value) {
          if (dittoDisplayBuilder_ == null) {
            if (dittoDisplay_ != null) {
              dittoDisplay_ =
                POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay.newBuilder(dittoDisplay_).mergeFrom(value).buildPartial();
            } else {
              dittoDisplay_ = value;
            }
            onChanged();
          } else {
            dittoDisplayBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * .POGOProtos.Data.PokemonDisplay ditto_display = 5;
         */
        public Builder clearDittoDisplay() {
          if (dittoDisplayBuilder_ == null) {
            dittoDisplay_ = null;
            onChanged();
          } else {
            dittoDisplay_ = null;
            dittoDisplayBuilder_ = null;
          }

          return this;
        }
        /**
         * .POGOProtos.Data.PokemonDisplay ditto_display = 5;
         */
        public POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay.Builder getDittoDisplayBuilder() {
          
          onChanged();
          return getDittoDisplayFieldBuilder().getBuilder();
        }
        /**
         * .POGOProtos.Data.PokemonDisplay ditto_display = 5;
         */
        public POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplayOrBuilder getDittoDisplayOrBuilder() {
          if (dittoDisplayBuilder_ != null) {
            return dittoDisplayBuilder_.getMessageOrBuilder();
          } else {
            return dittoDisplay_ == null ?
                POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay.getDefaultInstance() : dittoDisplay_;
          }
        }
        /**
         * .POGOProtos.Data.PokemonDisplay ditto_display = 5;
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay, POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay.Builder, POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplayOrBuilder> 
            getDittoDisplayFieldBuilder() {
          if (dittoDisplayBuilder_ == null) {
            dittoDisplayBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay, POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplay.Builder, POGOProtos.Data.PokemonDisplayOuterClass.PokemonDisplayOrBuilder>(
                    getDittoDisplay(),
                    getParentForChildren(),
                    isClean());
            dittoDisplay_ = null;
          }
          return dittoDisplayBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFieldsProto3(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:POGOProtos.Data.Quests.QuestReward.PokemonEncounterReward)
      }

      // @@protoc_insertion_point(class_scope:POGOProtos.Data.Quests.QuestReward.PokemonEncounterReward)
      private static final POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward();
      }

      public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    private int rewardCase_ = 0;
    private java.lang.Object reward_;
    public enum RewardCase
        implements com.google.protobuf.Internal.EnumLite {
      EXP(2),
      ITEM(3),
      STARDUST(4),
      CANDY(5),
      AVATAR_TEMPLATE_ID(6),
      QUEST_TEMPLATE_ID(7),
      POKEMON_ENCOUNTER(8),
      REWARD_NOT_SET(0);
      private final int value;
      private RewardCase(int value) {
        this.value = value;
      }
      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static RewardCase valueOf(int value) {
        return forNumber(value);
      }

      public static RewardCase forNumber(int value) {
        switch (value) {
          case 2: return EXP;
          case 3: return ITEM;
          case 4: return STARDUST;
          case 5: return CANDY;
          case 6: return AVATAR_TEMPLATE_ID;
          case 7: return QUEST_TEMPLATE_ID;
          case 8: return POKEMON_ENCOUNTER;
          case 0: return REWARD_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    public RewardCase
    getRewardCase() {
      return RewardCase.forNumber(
          rewardCase_);
    }

    public static final int TYPE_FIELD_NUMBER = 1;
    private int type_;
    /**
     * .POGOProtos.Data.Quests.QuestReward.Type type = 1;
     */
    public int getTypeValue() {
      return type_;
    }
    /**
     * .POGOProtos.Data.Quests.QuestReward.Type type = 1;
     */
    public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.Type getType() {
      @SuppressWarnings("deprecation")
      POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.Type result = POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.Type.valueOf(type_);
      return result == null ? POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.Type.UNRECOGNIZED : result;
    }

    public static final int EXP_FIELD_NUMBER = 2;
    /**
     * int32 exp = 2;
     */
    public int getExp() {
      if (rewardCase_ == 2) {
        return (java.lang.Integer) reward_;
      }
      return 0;
    }

    public static final int ITEM_FIELD_NUMBER = 3;
    /**
     * .POGOProtos.Data.Quests.QuestReward.ItemReward item = 3;
     */
    public boolean hasItem() {
      return rewardCase_ == 3;
    }
    /**
     * .POGOProtos.Data.Quests.QuestReward.ItemReward item = 3;
     */
    public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward getItem() {
      if (rewardCase_ == 3) {
         return (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward) reward_;
      }
      return POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward.getDefaultInstance();
    }
    /**
     * .POGOProtos.Data.Quests.QuestReward.ItemReward item = 3;
     */
    public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemRewardOrBuilder getItemOrBuilder() {
      if (rewardCase_ == 3) {
         return (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward) reward_;
      }
      return POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward.getDefaultInstance();
    }

    public static final int STARDUST_FIELD_NUMBER = 4;
    /**
     * int32 stardust = 4;
     */
    public int getStardust() {
      if (rewardCase_ == 4) {
        return (java.lang.Integer) reward_;
      }
      return 0;
    }

    public static final int CANDY_FIELD_NUMBER = 5;
    /**
     * .POGOProtos.Data.Quests.QuestReward.PokemonCandyReward candy = 5;
     */
    public boolean hasCandy() {
      return rewardCase_ == 5;
    }
    /**
     * .POGOProtos.Data.Quests.QuestReward.PokemonCandyReward candy = 5;
     */
    public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward getCandy() {
      if (rewardCase_ == 5) {
         return (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward) reward_;
      }
      return POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward.getDefaultInstance();
    }
    /**
     * .POGOProtos.Data.Quests.QuestReward.PokemonCandyReward candy = 5;
     */
    public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyRewardOrBuilder getCandyOrBuilder() {
      if (rewardCase_ == 5) {
         return (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward) reward_;
      }
      return POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward.getDefaultInstance();
    }

    public static final int AVATAR_TEMPLATE_ID_FIELD_NUMBER = 6;
    /**
     * string avatar_template_id = 6;
     */
    public java.lang.String getAvatarTemplateId() {
      java.lang.Object ref = "";
      if (rewardCase_ == 6) {
        ref = reward_;
      }
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (rewardCase_ == 6) {
          reward_ = s;
        }
        return s;
      }
    }
    /**
     * string avatar_template_id = 6;
     */
    public com.google.protobuf.ByteString
        getAvatarTemplateIdBytes() {
      java.lang.Object ref = "";
      if (rewardCase_ == 6) {
        ref = reward_;
      }
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        if (rewardCase_ == 6) {
          reward_ = b;
        }
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int QUEST_TEMPLATE_ID_FIELD_NUMBER = 7;
    /**
     * string quest_template_id = 7;
     */
    public java.lang.String getQuestTemplateId() {
      java.lang.Object ref = "";
      if (rewardCase_ == 7) {
        ref = reward_;
      }
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (rewardCase_ == 7) {
          reward_ = s;
        }
        return s;
      }
    }
    /**
     * string quest_template_id = 7;
     */
    public com.google.protobuf.ByteString
        getQuestTemplateIdBytes() {
      java.lang.Object ref = "";
      if (rewardCase_ == 7) {
        ref = reward_;
      }
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        if (rewardCase_ == 7) {
          reward_ = b;
        }
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int POKEMON_ENCOUNTER_FIELD_NUMBER = 8;
    /**
     * .POGOProtos.Data.Quests.QuestReward.PokemonEncounterReward pokemon_encounter = 8;
     */
    public boolean hasPokemonEncounter() {
      return rewardCase_ == 8;
    }
    /**
     * .POGOProtos.Data.Quests.QuestReward.PokemonEncounterReward pokemon_encounter = 8;
     */
    public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward getPokemonEncounter() {
      if (rewardCase_ == 8) {
         return (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward) reward_;
      }
      return POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward.getDefaultInstance();
    }
    /**
     * .POGOProtos.Data.Quests.QuestReward.PokemonEncounterReward pokemon_encounter = 8;
     */
    public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterRewardOrBuilder getPokemonEncounterOrBuilder() {
      if (rewardCase_ == 8) {
         return (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward) reward_;
      }
      return POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward.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 {
      if (type_ != POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.Type.UNSET.getNumber()) {
        output.writeEnum(1, type_);
      }
      if (rewardCase_ == 2) {
        output.writeInt32(
            2, (int)((java.lang.Integer) reward_));
      }
      if (rewardCase_ == 3) {
        output.writeMessage(3, (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward) reward_);
      }
      if (rewardCase_ == 4) {
        output.writeInt32(
            4, (int)((java.lang.Integer) reward_));
      }
      if (rewardCase_ == 5) {
        output.writeMessage(5, (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward) reward_);
      }
      if (rewardCase_ == 6) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, reward_);
      }
      if (rewardCase_ == 7) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, reward_);
      }
      if (rewardCase_ == 8) {
        output.writeMessage(8, (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward) reward_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (type_ != POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.Type.UNSET.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, type_);
      }
      if (rewardCase_ == 2) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(
              2, (int)((java.lang.Integer) reward_));
      }
      if (rewardCase_ == 3) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward) reward_);
      }
      if (rewardCase_ == 4) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(
              4, (int)((java.lang.Integer) reward_));
      }
      if (rewardCase_ == 5) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward) reward_);
      }
      if (rewardCase_ == 6) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, reward_);
      }
      if (rewardCase_ == 7) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, reward_);
      }
      if (rewardCase_ == 8) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward) reward_);
      }
      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 POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward)) {
        return super.equals(obj);
      }
      POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward other = (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward) obj;

      boolean result = true;
      result = result && type_ == other.type_;
      result = result && getRewardCase().equals(
          other.getRewardCase());
      if (!result) return false;
      switch (rewardCase_) {
        case 2:
          result = result && (getExp()
              == other.getExp());
          break;
        case 3:
          result = result && getItem()
              .equals(other.getItem());
          break;
        case 4:
          result = result && (getStardust()
              == other.getStardust());
          break;
        case 5:
          result = result && getCandy()
              .equals(other.getCandy());
          break;
        case 6:
          result = result && getAvatarTemplateId()
              .equals(other.getAvatarTemplateId());
          break;
        case 7:
          result = result && getQuestTemplateId()
              .equals(other.getQuestTemplateId());
          break;
        case 8:
          result = result && getPokemonEncounter()
              .equals(other.getPokemonEncounter());
          break;
        case 0:
        default:
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + TYPE_FIELD_NUMBER;
      hash = (53 * hash) + type_;
      switch (rewardCase_) {
        case 2:
          hash = (37 * hash) + EXP_FIELD_NUMBER;
          hash = (53 * hash) + getExp();
          break;
        case 3:
          hash = (37 * hash) + ITEM_FIELD_NUMBER;
          hash = (53 * hash) + getItem().hashCode();
          break;
        case 4:
          hash = (37 * hash) + STARDUST_FIELD_NUMBER;
          hash = (53 * hash) + getStardust();
          break;
        case 5:
          hash = (37 * hash) + CANDY_FIELD_NUMBER;
          hash = (53 * hash) + getCandy().hashCode();
          break;
        case 6:
          hash = (37 * hash) + AVATAR_TEMPLATE_ID_FIELD_NUMBER;
          hash = (53 * hash) + getAvatarTemplateId().hashCode();
          break;
        case 7:
          hash = (37 * hash) + QUEST_TEMPLATE_ID_FIELD_NUMBER;
          hash = (53 * hash) + getQuestTemplateId().hashCode();
          break;
        case 8:
          hash = (37 * hash) + POKEMON_ENCOUNTER_FIELD_NUMBER;
          hash = (53 * hash) + getPokemonEncounter().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward 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 POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward 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 POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward 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(POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward 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 POGOProtos.Data.Quests.QuestReward}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:POGOProtos.Data.Quests.QuestReward)
        POGOProtos.Data.Quests.QuestRewardOuterClass.QuestRewardOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return POGOProtos.Data.Quests.QuestRewardOuterClass.internal_static_POGOProtos_Data_Quests_QuestReward_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return POGOProtos.Data.Quests.QuestRewardOuterClass.internal_static_POGOProtos_Data_Quests_QuestReward_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.class, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.Builder.class);
      }

      // Construct using POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        rewardCase_ = 0;
        reward_ = null;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return POGOProtos.Data.Quests.QuestRewardOuterClass.internal_static_POGOProtos_Data_Quests_QuestReward_descriptor;
      }

      @java.lang.Override
      public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward getDefaultInstanceForType() {
        return POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.getDefaultInstance();
      }

      @java.lang.Override
      public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward build() {
        POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward buildPartial() {
        POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward result = new POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward(this);
        result.type_ = type_;
        if (rewardCase_ == 2) {
          result.reward_ = reward_;
        }
        if (rewardCase_ == 3) {
          if (itemBuilder_ == null) {
            result.reward_ = reward_;
          } else {
            result.reward_ = itemBuilder_.build();
          }
        }
        if (rewardCase_ == 4) {
          result.reward_ = reward_;
        }
        if (rewardCase_ == 5) {
          if (candyBuilder_ == null) {
            result.reward_ = reward_;
          } else {
            result.reward_ = candyBuilder_.build();
          }
        }
        if (rewardCase_ == 6) {
          result.reward_ = reward_;
        }
        if (rewardCase_ == 7) {
          result.reward_ = reward_;
        }
        if (rewardCase_ == 8) {
          if (pokemonEncounterBuilder_ == null) {
            result.reward_ = reward_;
          } else {
            result.reward_ = pokemonEncounterBuilder_.build();
          }
        }
        result.rewardCase_ = rewardCase_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward other) {
        if (other == POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.getDefaultInstance()) return this;
        if (other.type_ != 0) {
          setTypeValue(other.getTypeValue());
        }
        switch (other.getRewardCase()) {
          case EXP: {
            setExp(other.getExp());
            break;
          }
          case ITEM: {
            mergeItem(other.getItem());
            break;
          }
          case STARDUST: {
            setStardust(other.getStardust());
            break;
          }
          case CANDY: {
            mergeCandy(other.getCandy());
            break;
          }
          case AVATAR_TEMPLATE_ID: {
            rewardCase_ = 6;
            reward_ = other.reward_;
            onChanged();
            break;
          }
          case QUEST_TEMPLATE_ID: {
            rewardCase_ = 7;
            reward_ = other.reward_;
            onChanged();
            break;
          }
          case POKEMON_ENCOUNTER: {
            mergePokemonEncounter(other.getPokemonEncounter());
            break;
          }
          case REWARD_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 {
        POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int rewardCase_ = 0;
      private java.lang.Object reward_;
      public RewardCase
          getRewardCase() {
        return RewardCase.forNumber(
            rewardCase_);
      }

      public Builder clearReward() {
        rewardCase_ = 0;
        reward_ = null;
        onChanged();
        return this;
      }


      private int type_ = 0;
      /**
       * .POGOProtos.Data.Quests.QuestReward.Type type = 1;
       */
      public int getTypeValue() {
        return type_;
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.Type type = 1;
       */
      public Builder setTypeValue(int value) {
        type_ = value;
        onChanged();
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.Type type = 1;
       */
      public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.Type getType() {
        @SuppressWarnings("deprecation")
        POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.Type result = POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.Type.valueOf(type_);
        return result == null ? POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.Type.UNRECOGNIZED : result;
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.Type type = 1;
       */
      public Builder setType(POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.Type value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        type_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.Type type = 1;
       */
      public Builder clearType() {
        
        type_ = 0;
        onChanged();
        return this;
      }

      /**
       * int32 exp = 2;
       */
      public int getExp() {
        if (rewardCase_ == 2) {
          return (java.lang.Integer) reward_;
        }
        return 0;
      }
      /**
       * int32 exp = 2;
       */
      public Builder setExp(int value) {
        rewardCase_ = 2;
        reward_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 exp = 2;
       */
      public Builder clearExp() {
        if (rewardCase_ == 2) {
          rewardCase_ = 0;
          reward_ = null;
          onChanged();
        }
        return this;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward.Builder, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemRewardOrBuilder> itemBuilder_;
      /**
       * .POGOProtos.Data.Quests.QuestReward.ItemReward item = 3;
       */
      public boolean hasItem() {
        return rewardCase_ == 3;
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.ItemReward item = 3;
       */
      public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward getItem() {
        if (itemBuilder_ == null) {
          if (rewardCase_ == 3) {
            return (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward) reward_;
          }
          return POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward.getDefaultInstance();
        } else {
          if (rewardCase_ == 3) {
            return itemBuilder_.getMessage();
          }
          return POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward.getDefaultInstance();
        }
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.ItemReward item = 3;
       */
      public Builder setItem(POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward value) {
        if (itemBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          reward_ = value;
          onChanged();
        } else {
          itemBuilder_.setMessage(value);
        }
        rewardCase_ = 3;
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.ItemReward item = 3;
       */
      public Builder setItem(
          POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward.Builder builderForValue) {
        if (itemBuilder_ == null) {
          reward_ = builderForValue.build();
          onChanged();
        } else {
          itemBuilder_.setMessage(builderForValue.build());
        }
        rewardCase_ = 3;
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.ItemReward item = 3;
       */
      public Builder mergeItem(POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward value) {
        if (itemBuilder_ == null) {
          if (rewardCase_ == 3 &&
              reward_ != POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward.getDefaultInstance()) {
            reward_ = POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward.newBuilder((POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward) reward_)
                .mergeFrom(value).buildPartial();
          } else {
            reward_ = value;
          }
          onChanged();
        } else {
          if (rewardCase_ == 3) {
            itemBuilder_.mergeFrom(value);
          }
          itemBuilder_.setMessage(value);
        }
        rewardCase_ = 3;
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.ItemReward item = 3;
       */
      public Builder clearItem() {
        if (itemBuilder_ == null) {
          if (rewardCase_ == 3) {
            rewardCase_ = 0;
            reward_ = null;
            onChanged();
          }
        } else {
          if (rewardCase_ == 3) {
            rewardCase_ = 0;
            reward_ = null;
          }
          itemBuilder_.clear();
        }
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.ItemReward item = 3;
       */
      public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward.Builder getItemBuilder() {
        return getItemFieldBuilder().getBuilder();
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.ItemReward item = 3;
       */
      public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemRewardOrBuilder getItemOrBuilder() {
        if ((rewardCase_ == 3) && (itemBuilder_ != null)) {
          return itemBuilder_.getMessageOrBuilder();
        } else {
          if (rewardCase_ == 3) {
            return (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward) reward_;
          }
          return POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward.getDefaultInstance();
        }
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.ItemReward item = 3;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward.Builder, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemRewardOrBuilder> 
          getItemFieldBuilder() {
        if (itemBuilder_ == null) {
          if (!(rewardCase_ == 3)) {
            reward_ = POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward.getDefaultInstance();
          }
          itemBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward.Builder, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemRewardOrBuilder>(
                  (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.ItemReward) reward_,
                  getParentForChildren(),
                  isClean());
          reward_ = null;
        }
        rewardCase_ = 3;
        onChanged();;
        return itemBuilder_;
      }

      /**
       * int32 stardust = 4;
       */
      public int getStardust() {
        if (rewardCase_ == 4) {
          return (java.lang.Integer) reward_;
        }
        return 0;
      }
      /**
       * int32 stardust = 4;
       */
      public Builder setStardust(int value) {
        rewardCase_ = 4;
        reward_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 stardust = 4;
       */
      public Builder clearStardust() {
        if (rewardCase_ == 4) {
          rewardCase_ = 0;
          reward_ = null;
          onChanged();
        }
        return this;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward.Builder, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyRewardOrBuilder> candyBuilder_;
      /**
       * .POGOProtos.Data.Quests.QuestReward.PokemonCandyReward candy = 5;
       */
      public boolean hasCandy() {
        return rewardCase_ == 5;
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.PokemonCandyReward candy = 5;
       */
      public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward getCandy() {
        if (candyBuilder_ == null) {
          if (rewardCase_ == 5) {
            return (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward) reward_;
          }
          return POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward.getDefaultInstance();
        } else {
          if (rewardCase_ == 5) {
            return candyBuilder_.getMessage();
          }
          return POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward.getDefaultInstance();
        }
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.PokemonCandyReward candy = 5;
       */
      public Builder setCandy(POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward value) {
        if (candyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          reward_ = value;
          onChanged();
        } else {
          candyBuilder_.setMessage(value);
        }
        rewardCase_ = 5;
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.PokemonCandyReward candy = 5;
       */
      public Builder setCandy(
          POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward.Builder builderForValue) {
        if (candyBuilder_ == null) {
          reward_ = builderForValue.build();
          onChanged();
        } else {
          candyBuilder_.setMessage(builderForValue.build());
        }
        rewardCase_ = 5;
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.PokemonCandyReward candy = 5;
       */
      public Builder mergeCandy(POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward value) {
        if (candyBuilder_ == null) {
          if (rewardCase_ == 5 &&
              reward_ != POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward.getDefaultInstance()) {
            reward_ = POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward.newBuilder((POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward) reward_)
                .mergeFrom(value).buildPartial();
          } else {
            reward_ = value;
          }
          onChanged();
        } else {
          if (rewardCase_ == 5) {
            candyBuilder_.mergeFrom(value);
          }
          candyBuilder_.setMessage(value);
        }
        rewardCase_ = 5;
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.PokemonCandyReward candy = 5;
       */
      public Builder clearCandy() {
        if (candyBuilder_ == null) {
          if (rewardCase_ == 5) {
            rewardCase_ = 0;
            reward_ = null;
            onChanged();
          }
        } else {
          if (rewardCase_ == 5) {
            rewardCase_ = 0;
            reward_ = null;
          }
          candyBuilder_.clear();
        }
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.PokemonCandyReward candy = 5;
       */
      public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward.Builder getCandyBuilder() {
        return getCandyFieldBuilder().getBuilder();
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.PokemonCandyReward candy = 5;
       */
      public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyRewardOrBuilder getCandyOrBuilder() {
        if ((rewardCase_ == 5) && (candyBuilder_ != null)) {
          return candyBuilder_.getMessageOrBuilder();
        } else {
          if (rewardCase_ == 5) {
            return (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward) reward_;
          }
          return POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward.getDefaultInstance();
        }
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.PokemonCandyReward candy = 5;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward.Builder, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyRewardOrBuilder> 
          getCandyFieldBuilder() {
        if (candyBuilder_ == null) {
          if (!(rewardCase_ == 5)) {
            reward_ = POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward.getDefaultInstance();
          }
          candyBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward.Builder, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyRewardOrBuilder>(
                  (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonCandyReward) reward_,
                  getParentForChildren(),
                  isClean());
          reward_ = null;
        }
        rewardCase_ = 5;
        onChanged();;
        return candyBuilder_;
      }

      /**
       * string avatar_template_id = 6;
       */
      public java.lang.String getAvatarTemplateId() {
        java.lang.Object ref = "";
        if (rewardCase_ == 6) {
          ref = reward_;
        }
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (rewardCase_ == 6) {
            reward_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string avatar_template_id = 6;
       */
      public com.google.protobuf.ByteString
          getAvatarTemplateIdBytes() {
        java.lang.Object ref = "";
        if (rewardCase_ == 6) {
          ref = reward_;
        }
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          if (rewardCase_ == 6) {
            reward_ = b;
          }
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string avatar_template_id = 6;
       */
      public Builder setAvatarTemplateId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  rewardCase_ = 6;
        reward_ = value;
        onChanged();
        return this;
      }
      /**
       * string avatar_template_id = 6;
       */
      public Builder clearAvatarTemplateId() {
        if (rewardCase_ == 6) {
          rewardCase_ = 0;
          reward_ = null;
          onChanged();
        }
        return this;
      }
      /**
       * string avatar_template_id = 6;
       */
      public Builder setAvatarTemplateIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        rewardCase_ = 6;
        reward_ = value;
        onChanged();
        return this;
      }

      /**
       * string quest_template_id = 7;
       */
      public java.lang.String getQuestTemplateId() {
        java.lang.Object ref = "";
        if (rewardCase_ == 7) {
          ref = reward_;
        }
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (rewardCase_ == 7) {
            reward_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string quest_template_id = 7;
       */
      public com.google.protobuf.ByteString
          getQuestTemplateIdBytes() {
        java.lang.Object ref = "";
        if (rewardCase_ == 7) {
          ref = reward_;
        }
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          if (rewardCase_ == 7) {
            reward_ = b;
          }
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string quest_template_id = 7;
       */
      public Builder setQuestTemplateId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  rewardCase_ = 7;
        reward_ = value;
        onChanged();
        return this;
      }
      /**
       * string quest_template_id = 7;
       */
      public Builder clearQuestTemplateId() {
        if (rewardCase_ == 7) {
          rewardCase_ = 0;
          reward_ = null;
          onChanged();
        }
        return this;
      }
      /**
       * string quest_template_id = 7;
       */
      public Builder setQuestTemplateIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        rewardCase_ = 7;
        reward_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward.Builder, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterRewardOrBuilder> pokemonEncounterBuilder_;
      /**
       * .POGOProtos.Data.Quests.QuestReward.PokemonEncounterReward pokemon_encounter = 8;
       */
      public boolean hasPokemonEncounter() {
        return rewardCase_ == 8;
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.PokemonEncounterReward pokemon_encounter = 8;
       */
      public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward getPokemonEncounter() {
        if (pokemonEncounterBuilder_ == null) {
          if (rewardCase_ == 8) {
            return (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward) reward_;
          }
          return POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward.getDefaultInstance();
        } else {
          if (rewardCase_ == 8) {
            return pokemonEncounterBuilder_.getMessage();
          }
          return POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward.getDefaultInstance();
        }
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.PokemonEncounterReward pokemon_encounter = 8;
       */
      public Builder setPokemonEncounter(POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward value) {
        if (pokemonEncounterBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          reward_ = value;
          onChanged();
        } else {
          pokemonEncounterBuilder_.setMessage(value);
        }
        rewardCase_ = 8;
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.PokemonEncounterReward pokemon_encounter = 8;
       */
      public Builder setPokemonEncounter(
          POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward.Builder builderForValue) {
        if (pokemonEncounterBuilder_ == null) {
          reward_ = builderForValue.build();
          onChanged();
        } else {
          pokemonEncounterBuilder_.setMessage(builderForValue.build());
        }
        rewardCase_ = 8;
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.PokemonEncounterReward pokemon_encounter = 8;
       */
      public Builder mergePokemonEncounter(POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward value) {
        if (pokemonEncounterBuilder_ == null) {
          if (rewardCase_ == 8 &&
              reward_ != POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward.getDefaultInstance()) {
            reward_ = POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward.newBuilder((POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward) reward_)
                .mergeFrom(value).buildPartial();
          } else {
            reward_ = value;
          }
          onChanged();
        } else {
          if (rewardCase_ == 8) {
            pokemonEncounterBuilder_.mergeFrom(value);
          }
          pokemonEncounterBuilder_.setMessage(value);
        }
        rewardCase_ = 8;
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.PokemonEncounterReward pokemon_encounter = 8;
       */
      public Builder clearPokemonEncounter() {
        if (pokemonEncounterBuilder_ == null) {
          if (rewardCase_ == 8) {
            rewardCase_ = 0;
            reward_ = null;
            onChanged();
          }
        } else {
          if (rewardCase_ == 8) {
            rewardCase_ = 0;
            reward_ = null;
          }
          pokemonEncounterBuilder_.clear();
        }
        return this;
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.PokemonEncounterReward pokemon_encounter = 8;
       */
      public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward.Builder getPokemonEncounterBuilder() {
        return getPokemonEncounterFieldBuilder().getBuilder();
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.PokemonEncounterReward pokemon_encounter = 8;
       */
      public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterRewardOrBuilder getPokemonEncounterOrBuilder() {
        if ((rewardCase_ == 8) && (pokemonEncounterBuilder_ != null)) {
          return pokemonEncounterBuilder_.getMessageOrBuilder();
        } else {
          if (rewardCase_ == 8) {
            return (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward) reward_;
          }
          return POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward.getDefaultInstance();
        }
      }
      /**
       * .POGOProtos.Data.Quests.QuestReward.PokemonEncounterReward pokemon_encounter = 8;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward.Builder, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterRewardOrBuilder> 
          getPokemonEncounterFieldBuilder() {
        if (pokemonEncounterBuilder_ == null) {
          if (!(rewardCase_ == 8)) {
            reward_ = POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward.getDefaultInstance();
          }
          pokemonEncounterBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward.Builder, POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterRewardOrBuilder>(
                  (POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward.PokemonEncounterReward) reward_,
                  getParentForChildren(),
                  isClean());
          reward_ = null;
        }
        rewardCase_ = 8;
        onChanged();;
        return pokemonEncounterBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFieldsProto3(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:POGOProtos.Data.Quests.QuestReward)
    }

    // @@protoc_insertion_point(class_scope:POGOProtos.Data.Quests.QuestReward)
    private static final POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward();
    }

    public static POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public POGOProtos.Data.Quests.QuestRewardOuterClass.QuestReward getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_POGOProtos_Data_Quests_QuestReward_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_POGOProtos_Data_Quests_QuestReward_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_POGOProtos_Data_Quests_QuestReward_ItemReward_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_POGOProtos_Data_Quests_QuestReward_ItemReward_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_POGOProtos_Data_Quests_QuestReward_PokemonCandyReward_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_POGOProtos_Data_Quests_QuestReward_PokemonCandyReward_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_POGOProtos_Data_Quests_QuestReward_PokemonEncounterReward_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_POGOProtos_Data_Quests_QuestReward_PokemonEncounterReward_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(POGOProtos/Data/Quests/QuestReward.pro" +
      "to\022\026POGOProtos.Data.Quests\032$POGOProtos/D" +
      "ata/PokemonDisplay.proto\032 POGOProtos/Enu" +
      "ms/PokemonId.proto\032&POGOProtos/Inventory" +
      "/Item/ItemId.proto\"\310\007\n\013QuestReward\0226\n\004ty" +
      "pe\030\001 \001(\0162(.POGOProtos.Data.Quests.QuestR" +
      "eward.Type\022\r\n\003exp\030\002 \001(\005H\000\022>\n\004item\030\003 \001(\0132" +
      "..POGOProtos.Data.Quests.QuestReward.Ite" +
      "mRewardH\000\022\022\n\010stardust\030\004 \001(\005H\000\022G\n\005candy\030\005" +
      " \001(\01326.POGOProtos.Data.Quests.QuestRewar" +
      "d.PokemonCandyRewardH\000\022\034\n\022avatar_templat" +
      "e_id\030\006 \001(\tH\000\022\033\n\021quest_template_id\030\007 \001(\tH" +
      "\000\022W\n\021pokemon_encounter\030\010 \001(\0132:.POGOProto" +
      "s.Data.Quests.QuestReward.PokemonEncount" +
      "erRewardH\000\032M\n\nItemReward\022/\n\004item\030\001 \001(\0162!" +
      ".POGOProtos.Inventory.Item.ItemId\022\016\n\006amo" +
      "unt\030\002 \001(\005\032U\n\022PokemonCandyReward\022/\n\npokem" +
      "on_id\030\001 \001(\0162\033.POGOProtos.Enums.PokemonId" +
      "\022\016\n\006amount\030\002 \001(\005\032\223\002\n\026PokemonEncounterRew" +
      "ard\0221\n\npokemon_id\030\001 \001(\0162\033.POGOProtos.Enu" +
      "ms.PokemonIdH\000\0223\n)use_quest_pokemon_enco" +
      "unter_distribuition\030\002 \001(\010H\000\0228\n\017pokemon_d" +
      "isplay\030\003 \001(\0132\037.POGOProtos.Data.PokemonDi" +
      "splay\022\027\n\017is_hidden_ditto\030\004 \001(\010\0226\n\rditto_" +
      "display\030\005 \001(\0132\037.POGOProtos.Data.PokemonD" +
      "isplayB\006\n\004Type\"{\n\004Type\022\t\n\005UNSET\020\000\022\016\n\nEXP" +
      "ERIENCE\020\001\022\010\n\004ITEM\020\002\022\014\n\010STARDUST\020\003\022\t\n\005CAN" +
      "DY\020\004\022\023\n\017AVATAR_CLOTHING\020\005\022\t\n\005QUEST\020\006\022\025\n\021" +
      "POKEMON_ENCOUNTER\020\007B\010\n\006Rewardb\006proto3"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            return null;
          }
        };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          POGOProtos.Data.PokemonDisplayOuterClass.getDescriptor(),
          POGOProtos.Enums.PokemonIdOuterClass.getDescriptor(),
          POGOProtos.Inventory.Item.ItemIdOuterClass.getDescriptor(),
        }, assigner);
    internal_static_POGOProtos_Data_Quests_QuestReward_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_POGOProtos_Data_Quests_QuestReward_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_POGOProtos_Data_Quests_QuestReward_descriptor,
        new java.lang.String[] { "Type", "Exp", "Item", "Stardust", "Candy", "AvatarTemplateId", "QuestTemplateId", "PokemonEncounter", "Reward", });
    internal_static_POGOProtos_Data_Quests_QuestReward_ItemReward_descriptor =
      internal_static_POGOProtos_Data_Quests_QuestReward_descriptor.getNestedTypes().get(0);
    internal_static_POGOProtos_Data_Quests_QuestReward_ItemReward_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_POGOProtos_Data_Quests_QuestReward_ItemReward_descriptor,
        new java.lang.String[] { "Item", "Amount", });
    internal_static_POGOProtos_Data_Quests_QuestReward_PokemonCandyReward_descriptor =
      internal_static_POGOProtos_Data_Quests_QuestReward_descriptor.getNestedTypes().get(1);
    internal_static_POGOProtos_Data_Quests_QuestReward_PokemonCandyReward_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_POGOProtos_Data_Quests_QuestReward_PokemonCandyReward_descriptor,
        new java.lang.String[] { "PokemonId", "Amount", });
    internal_static_POGOProtos_Data_Quests_QuestReward_PokemonEncounterReward_descriptor =
      internal_static_POGOProtos_Data_Quests_QuestReward_descriptor.getNestedTypes().get(2);
    internal_static_POGOProtos_Data_Quests_QuestReward_PokemonEncounterReward_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_POGOProtos_Data_Quests_QuestReward_PokemonEncounterReward_descriptor,
        new java.lang.String[] { "PokemonId", "UseQuestPokemonEncounterDistribuition", "PokemonDisplay", "IsHiddenDitto", "DittoDisplay", "Type", });
    POGOProtos.Data.PokemonDisplayOuterClass.getDescriptor();
    POGOProtos.Enums.PokemonIdOuterClass.getDescriptor();
    POGOProtos.Inventory.Item.ItemIdOuterClass.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy