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

POGOProtos.Settings.Master.PokemonSettingsOuterClass Maven / Gradle / Ivy

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: POGOProtos/Settings/Master/PokemonSettings.proto

package POGOProtos.Settings.Master;

public final class PokemonSettingsOuterClass {
  private PokemonSettingsOuterClass() {}
  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 PokemonSettingsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:POGOProtos.Settings.Master.PokemonSettings)
      com.google.protobuf.MessageOrBuilder {

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

    /**
     * float model_scale = 3;
     */
    float getModelScale();

    /**
     * .POGOProtos.Enums.PokemonType type = 4;
     */
    int getTypeValue();
    /**
     * .POGOProtos.Enums.PokemonType type = 4;
     */
    POGOProtos.Enums.PokemonTypeOuterClass.PokemonType getType();

    /**
     * .POGOProtos.Enums.PokemonType type_2 = 5;
     */
    int getType2Value();
    /**
     * .POGOProtos.Enums.PokemonType type_2 = 5;
     */
    POGOProtos.Enums.PokemonTypeOuterClass.PokemonType getType2();

    /**
     * .POGOProtos.Settings.Master.Pokemon.CameraAttributes camera = 6;
     */
    boolean hasCamera();
    /**
     * .POGOProtos.Settings.Master.Pokemon.CameraAttributes camera = 6;
     */
    POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributes getCamera();
    /**
     * .POGOProtos.Settings.Master.Pokemon.CameraAttributes camera = 6;
     */
    POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributesOrBuilder getCameraOrBuilder();

    /**
     * .POGOProtos.Settings.Master.Pokemon.EncounterAttributes encounter = 7;
     */
    boolean hasEncounter();
    /**
     * .POGOProtos.Settings.Master.Pokemon.EncounterAttributes encounter = 7;
     */
    POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributes getEncounter();
    /**
     * .POGOProtos.Settings.Master.Pokemon.EncounterAttributes encounter = 7;
     */
    POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributesOrBuilder getEncounterOrBuilder();

    /**
     * .POGOProtos.Settings.Master.Pokemon.StatsAttributes stats = 8;
     */
    boolean hasStats();
    /**
     * .POGOProtos.Settings.Master.Pokemon.StatsAttributes stats = 8;
     */
    POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributes getStats();
    /**
     * .POGOProtos.Settings.Master.Pokemon.StatsAttributes stats = 8;
     */
    POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributesOrBuilder getStatsOrBuilder();

    /**
     * repeated .POGOProtos.Enums.PokemonMove quick_moves = 9;
     */
    java.util.List getQuickMovesList();
    /**
     * repeated .POGOProtos.Enums.PokemonMove quick_moves = 9;
     */
    int getQuickMovesCount();
    /**
     * repeated .POGOProtos.Enums.PokemonMove quick_moves = 9;
     */
    POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove getQuickMoves(int index);
    /**
     * repeated .POGOProtos.Enums.PokemonMove quick_moves = 9;
     */
    java.util.List
    getQuickMovesValueList();
    /**
     * repeated .POGOProtos.Enums.PokemonMove quick_moves = 9;
     */
    int getQuickMovesValue(int index);

    /**
     * repeated .POGOProtos.Enums.PokemonMove cinematic_moves = 10;
     */
    java.util.List getCinematicMovesList();
    /**
     * repeated .POGOProtos.Enums.PokemonMove cinematic_moves = 10;
     */
    int getCinematicMovesCount();
    /**
     * repeated .POGOProtos.Enums.PokemonMove cinematic_moves = 10;
     */
    POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove getCinematicMoves(int index);
    /**
     * repeated .POGOProtos.Enums.PokemonMove cinematic_moves = 10;
     */
    java.util.List
    getCinematicMovesValueList();
    /**
     * repeated .POGOProtos.Enums.PokemonMove cinematic_moves = 10;
     */
    int getCinematicMovesValue(int index);

    /**
     * repeated float animation_time = 11;
     */
    java.util.List getAnimationTimeList();
    /**
     * repeated float animation_time = 11;
     */
    int getAnimationTimeCount();
    /**
     * repeated float animation_time = 11;
     */
    float getAnimationTime(int index);

    /**
     * repeated .POGOProtos.Enums.PokemonId evolution_ids = 12;
     */
    java.util.List getEvolutionIdsList();
    /**
     * repeated .POGOProtos.Enums.PokemonId evolution_ids = 12;
     */
    int getEvolutionIdsCount();
    /**
     * repeated .POGOProtos.Enums.PokemonId evolution_ids = 12;
     */
    POGOProtos.Enums.PokemonIdOuterClass.PokemonId getEvolutionIds(int index);
    /**
     * repeated .POGOProtos.Enums.PokemonId evolution_ids = 12;
     */
    java.util.List
    getEvolutionIdsValueList();
    /**
     * repeated .POGOProtos.Enums.PokemonId evolution_ids = 12;
     */
    int getEvolutionIdsValue(int index);

    /**
     * int32 evolution_pips = 13;
     */
    int getEvolutionPips();

    /**
     * .POGOProtos.Enums.PokemonRarity rarity = 14;
     */
    int getRarityValue();
    /**
     * .POGOProtos.Enums.PokemonRarity rarity = 14;
     */
    POGOProtos.Enums.PokemonRarityOuterClass.PokemonRarity getRarity();

    /**
     * float pokedex_height_m = 15;
     */
    float getPokedexHeightM();

    /**
     * float pokedex_weight_kg = 16;
     */
    float getPokedexWeightKg();

    /**
     * .POGOProtos.Enums.PokemonId parent_pokemon_id = 17;
     */
    int getParentPokemonIdValue();
    /**
     * .POGOProtos.Enums.PokemonId parent_pokemon_id = 17;
     */
    POGOProtos.Enums.PokemonIdOuterClass.PokemonId getParentPokemonId();

    /**
     * float height_std_dev = 18;
     */
    float getHeightStdDev();

    /**
     * float weight_std_dev = 19;
     */
    float getWeightStdDev();

    /**
     * float km_distance_to_hatch = 20;
     */
    float getKmDistanceToHatch();

    /**
     * .POGOProtos.Enums.PokemonFamilyId family_id = 21;
     */
    int getFamilyIdValue();
    /**
     * .POGOProtos.Enums.PokemonFamilyId family_id = 21;
     */
    POGOProtos.Enums.PokemonFamilyIdOuterClass.PokemonFamilyId getFamilyId();

    /**
     * int32 candy_to_evolve = 22;
     */
    int getCandyToEvolve();

    /**
     * float km_buddy_distance = 23;
     */
    float getKmBuddyDistance();

    /**
     * .POGOProtos.Enums.BuddySize buddy_size = 24;
     */
    int getBuddySizeValue();
    /**
     * .POGOProtos.Enums.BuddySize buddy_size = 24;
     */
    POGOProtos.Enums.BuddySizeOuterClass.BuddySize getBuddySize();

    /**
     * float model_height = 25;
     */
    float getModelHeight();

    /**
     * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
     */
    java.util.List 
        getEvolutionBranchList();
    /**
     * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
     */
    POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranch getEvolutionBranch(int index);
    /**
     * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
     */
    int getEvolutionBranchCount();
    /**
     * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
     */
    java.util.List 
        getEvolutionBranchOrBuilderList();
    /**
     * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
     */
    POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranchOrBuilder getEvolutionBranchOrBuilder(
        int index);

    /**
     * float model_scale_v2 = 27;
     */
    float getModelScaleV2();

    /**
     * .POGOProtos.Enums.Form form = 28;
     */
    int getFormValue();
    /**
     * .POGOProtos.Enums.Form form = 28;
     */
    POGOProtos.Enums.FormOuterClass.Form getForm();

    /**
     * .POGOProtos.Enums.PokemonMove event_quick_move = 29;
     */
    int getEventQuickMoveValue();
    /**
     * .POGOProtos.Enums.PokemonMove event_quick_move = 29;
     */
    POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove getEventQuickMove();

    /**
     * .POGOProtos.Enums.PokemonMove event_cinematic_move = 30;
     */
    int getEventCinematicMoveValue();
    /**
     * .POGOProtos.Enums.PokemonMove event_cinematic_move = 30;
     */
    POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove getEventCinematicMove();

    /**
     * repeated float buddy_offset_male = 31;
     */
    java.util.List getBuddyOffsetMaleList();
    /**
     * repeated float buddy_offset_male = 31;
     */
    int getBuddyOffsetMaleCount();
    /**
     * repeated float buddy_offset_male = 31;
     */
    float getBuddyOffsetMale(int index);

    /**
     * repeated float buddy_offset_female = 32;
     */
    java.util.List getBuddyOffsetFemaleList();
    /**
     * repeated float buddy_offset_female = 32;
     */
    int getBuddyOffsetFemaleCount();
    /**
     * repeated float buddy_offset_female = 32;
     */
    float getBuddyOffsetFemale(int index);

    /**
     * float buddy_scale = 33;
     */
    float getBuddyScale();

    /**
     * repeated float buddy_portrait_offset = 34;
     */
    java.util.List getBuddyPortraitOffsetList();
    /**
     * repeated float buddy_portrait_offset = 34;
     */
    int getBuddyPortraitOffsetCount();
    /**
     * repeated float buddy_portrait_offset = 34;
     */
    float getBuddyPortraitOffset(int index);

    /**
     * .POGOProtos.Enums.Form parent_form = 35;
     */
    int getParentFormValue();
    /**
     * .POGOProtos.Enums.Form parent_form = 35;
     */
    POGOProtos.Enums.FormOuterClass.Form getParentForm();

    /**
     * .POGOProtos.Settings.Master.PokemonSettings.PokemonThirdMoveAttributes third_move = 36;
     */
    boolean hasThirdMove();
    /**
     * .POGOProtos.Settings.Master.PokemonSettings.PokemonThirdMoveAttributes third_move = 36;
     */
    POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes getThirdMove();
    /**
     * .POGOProtos.Settings.Master.PokemonSettings.PokemonThirdMoveAttributes third_move = 36;
     */
    POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributesOrBuilder getThirdMoveOrBuilder();

    /**
     * bool is_transferable = 37;
     */
    boolean getIsTransferable();

    /**
     * bool is_deployable = 38;
     */
    boolean getIsDeployable();

    /**
     * repeated float combat_shoulder_camera_angle = 39;
     */
    java.util.List getCombatShoulderCameraAngleList();
    /**
     * repeated float combat_shoulder_camera_angle = 39;
     */
    int getCombatShoulderCameraAngleCount();
    /**
     * repeated float combat_shoulder_camera_angle = 39;
     */
    float getCombatShoulderCameraAngle(int index);

    /**
     * bool is_tradable = 40;
     */
    boolean getIsTradable();

    /**
     * repeated float combat_default_camera_angle = 41;
     */
    java.util.List getCombatDefaultCameraAngleList();
    /**
     * repeated float combat_default_camera_angle = 41;
     */
    int getCombatDefaultCameraAngleCount();
    /**
     * repeated float combat_default_camera_angle = 41;
     */
    float getCombatDefaultCameraAngle(int index);

    /**
     * repeated float combat_opponent_focus_camera_angle = 42;
     */
    java.util.List getCombatOpponentFocusCameraAngleList();
    /**
     * repeated float combat_opponent_focus_camera_angle = 42;
     */
    int getCombatOpponentFocusCameraAngleCount();
    /**
     * repeated float combat_opponent_focus_camera_angle = 42;
     */
    float getCombatOpponentFocusCameraAngle(int index);

    /**
     * repeated float combat_player_focus_camera_angle = 43;
     */
    java.util.List getCombatPlayerFocusCameraAngleList();
    /**
     * repeated float combat_player_focus_camera_angle = 43;
     */
    int getCombatPlayerFocusCameraAngleCount();
    /**
     * repeated float combat_player_focus_camera_angle = 43;
     */
    float getCombatPlayerFocusCameraAngle(int index);

    /**
     * repeated float combat_player_pokemon_position_offset = 44;
     */
    java.util.List getCombatPlayerPokemonPositionOffsetList();
    /**
     * repeated float combat_player_pokemon_position_offset = 44;
     */
    int getCombatPlayerPokemonPositionOffsetCount();
    /**
     * repeated float combat_player_pokemon_position_offset = 44;
     */
    float getCombatPlayerPokemonPositionOffset(int index);

    /**
     * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
     */
    java.util.List 
        getPhotobombAnimationOverridesList();
    /**
     * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
     */
    POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverride getPhotobombAnimationOverrides(int index);
    /**
     * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
     */
    int getPhotobombAnimationOverridesCount();
    /**
     * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
     */
    java.util.List 
        getPhotobombAnimationOverridesOrBuilderList();
    /**
     * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
     */
    POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverrideOrBuilder getPhotobombAnimationOverridesOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code POGOProtos.Settings.Master.PokemonSettings}
   */
  public  static final class PokemonSettings extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:POGOProtos.Settings.Master.PokemonSettings)
      PokemonSettingsOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PokemonSettings.newBuilder() to construct.
    private PokemonSettings(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private PokemonSettings() {
      pokemonId_ = 0;
      modelScale_ = 0F;
      type_ = 0;
      type2_ = 0;
      quickMoves_ = java.util.Collections.emptyList();
      cinematicMoves_ = java.util.Collections.emptyList();
      animationTime_ = java.util.Collections.emptyList();
      evolutionIds_ = java.util.Collections.emptyList();
      evolutionPips_ = 0;
      rarity_ = 0;
      pokedexHeightM_ = 0F;
      pokedexWeightKg_ = 0F;
      parentPokemonId_ = 0;
      heightStdDev_ = 0F;
      weightStdDev_ = 0F;
      kmDistanceToHatch_ = 0F;
      familyId_ = 0;
      candyToEvolve_ = 0;
      kmBuddyDistance_ = 0F;
      buddySize_ = 0;
      modelHeight_ = 0F;
      evolutionBranch_ = java.util.Collections.emptyList();
      modelScaleV2_ = 0F;
      form_ = 0;
      eventQuickMove_ = 0;
      eventCinematicMove_ = 0;
      buddyOffsetMale_ = java.util.Collections.emptyList();
      buddyOffsetFemale_ = java.util.Collections.emptyList();
      buddyScale_ = 0F;
      buddyPortraitOffset_ = java.util.Collections.emptyList();
      parentForm_ = 0;
      isTransferable_ = false;
      isDeployable_ = false;
      combatShoulderCameraAngle_ = java.util.Collections.emptyList();
      isTradable_ = false;
      combatDefaultCameraAngle_ = java.util.Collections.emptyList();
      combatOpponentFocusCameraAngle_ = java.util.Collections.emptyList();
      combatPlayerFocusCameraAngle_ = java.util.Collections.emptyList();
      combatPlayerPokemonPositionOffset_ = java.util.Collections.emptyList();
      photobombAnimationOverrides_ = java.util.Collections.emptyList();
    }

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

              modelScale_ = input.readFloat();
              break;
            }
            case 32: {
              int rawValue = input.readEnum();

              type_ = rawValue;
              break;
            }
            case 40: {
              int rawValue = input.readEnum();

              type2_ = rawValue;
              break;
            }
            case 50: {
              POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributes.Builder subBuilder = null;
              if (camera_ != null) {
                subBuilder = camera_.toBuilder();
              }
              camera_ = input.readMessage(POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributes.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(camera_);
                camera_ = subBuilder.buildPartial();
              }

              break;
            }
            case 58: {
              POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributes.Builder subBuilder = null;
              if (encounter_ != null) {
                subBuilder = encounter_.toBuilder();
              }
              encounter_ = input.readMessage(POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributes.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(encounter_);
                encounter_ = subBuilder.buildPartial();
              }

              break;
            }
            case 66: {
              POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributes.Builder subBuilder = null;
              if (stats_ != null) {
                subBuilder = stats_.toBuilder();
              }
              stats_ = input.readMessage(POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributes.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(stats_);
                stats_ = subBuilder.buildPartial();
              }

              break;
            }
            case 72: {
              int rawValue = input.readEnum();
              if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
                quickMoves_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000080;
              }
              quickMoves_.add(rawValue);
              break;
            }
            case 74: {
              int length = input.readRawVarint32();
              int oldLimit = input.pushLimit(length);
              while(input.getBytesUntilLimit() > 0) {
                int rawValue = input.readEnum();
                if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
                  quickMoves_ = new java.util.ArrayList();
                  mutable_bitField0_ |= 0x00000080;
                }
                quickMoves_.add(rawValue);
              }
              input.popLimit(oldLimit);
              break;
            }
            case 80: {
              int rawValue = input.readEnum();
              if (!((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
                cinematicMoves_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000100;
              }
              cinematicMoves_.add(rawValue);
              break;
            }
            case 82: {
              int length = input.readRawVarint32();
              int oldLimit = input.pushLimit(length);
              while(input.getBytesUntilLimit() > 0) {
                int rawValue = input.readEnum();
                if (!((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
                  cinematicMoves_ = new java.util.ArrayList();
                  mutable_bitField0_ |= 0x00000100;
                }
                cinematicMoves_.add(rawValue);
              }
              input.popLimit(oldLimit);
              break;
            }
            case 93: {
              if (!((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
                animationTime_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000200;
              }
              animationTime_.add(input.readFloat());
              break;
            }
            case 90: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000200) == 0x00000200) && input.getBytesUntilLimit() > 0) {
                animationTime_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000200;
              }
              while (input.getBytesUntilLimit() > 0) {
                animationTime_.add(input.readFloat());
              }
              input.popLimit(limit);
              break;
            }
            case 96: {
              int rawValue = input.readEnum();
              if (!((mutable_bitField0_ & 0x00000400) == 0x00000400)) {
                evolutionIds_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000400;
              }
              evolutionIds_.add(rawValue);
              break;
            }
            case 98: {
              int length = input.readRawVarint32();
              int oldLimit = input.pushLimit(length);
              while(input.getBytesUntilLimit() > 0) {
                int rawValue = input.readEnum();
                if (!((mutable_bitField0_ & 0x00000400) == 0x00000400)) {
                  evolutionIds_ = new java.util.ArrayList();
                  mutable_bitField0_ |= 0x00000400;
                }
                evolutionIds_.add(rawValue);
              }
              input.popLimit(oldLimit);
              break;
            }
            case 104: {

              evolutionPips_ = input.readInt32();
              break;
            }
            case 112: {
              int rawValue = input.readEnum();

              rarity_ = rawValue;
              break;
            }
            case 125: {

              pokedexHeightM_ = input.readFloat();
              break;
            }
            case 133: {

              pokedexWeightKg_ = input.readFloat();
              break;
            }
            case 136: {
              int rawValue = input.readEnum();

              parentPokemonId_ = rawValue;
              break;
            }
            case 149: {

              heightStdDev_ = input.readFloat();
              break;
            }
            case 157: {

              weightStdDev_ = input.readFloat();
              break;
            }
            case 165: {

              kmDistanceToHatch_ = input.readFloat();
              break;
            }
            case 168: {
              int rawValue = input.readEnum();

              familyId_ = rawValue;
              break;
            }
            case 176: {

              candyToEvolve_ = input.readInt32();
              break;
            }
            case 189: {

              kmBuddyDistance_ = input.readFloat();
              break;
            }
            case 192: {
              int rawValue = input.readEnum();

              buddySize_ = rawValue;
              break;
            }
            case 205: {

              modelHeight_ = input.readFloat();
              break;
            }
            case 210: {
              if (!((mutable_bitField0_ & 0x01000000) == 0x01000000)) {
                evolutionBranch_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x01000000;
              }
              evolutionBranch_.add(
                  input.readMessage(POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranch.parser(), extensionRegistry));
              break;
            }
            case 221: {

              modelScaleV2_ = input.readFloat();
              break;
            }
            case 224: {
              int rawValue = input.readEnum();

              form_ = rawValue;
              break;
            }
            case 232: {
              int rawValue = input.readEnum();

              eventQuickMove_ = rawValue;
              break;
            }
            case 240: {
              int rawValue = input.readEnum();

              eventCinematicMove_ = rawValue;
              break;
            }
            case 253: {
              if (!((mutable_bitField0_ & 0x20000000) == 0x20000000)) {
                buddyOffsetMale_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x20000000;
              }
              buddyOffsetMale_.add(input.readFloat());
              break;
            }
            case 250: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x20000000) == 0x20000000) && input.getBytesUntilLimit() > 0) {
                buddyOffsetMale_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x20000000;
              }
              while (input.getBytesUntilLimit() > 0) {
                buddyOffsetMale_.add(input.readFloat());
              }
              input.popLimit(limit);
              break;
            }
            case 261: {
              if (!((mutable_bitField0_ & 0x40000000) == 0x40000000)) {
                buddyOffsetFemale_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x40000000;
              }
              buddyOffsetFemale_.add(input.readFloat());
              break;
            }
            case 258: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x40000000) == 0x40000000) && input.getBytesUntilLimit() > 0) {
                buddyOffsetFemale_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x40000000;
              }
              while (input.getBytesUntilLimit() > 0) {
                buddyOffsetFemale_.add(input.readFloat());
              }
              input.popLimit(limit);
              break;
            }
            case 269: {

              buddyScale_ = input.readFloat();
              break;
            }
            case 277: {
              if (!((mutable_bitField1_ & 0x00000001) == 0x00000001)) {
                buddyPortraitOffset_ = new java.util.ArrayList();
                mutable_bitField1_ |= 0x00000001;
              }
              buddyPortraitOffset_.add(input.readFloat());
              break;
            }
            case 274: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField1_ & 0x00000001) == 0x00000001) && input.getBytesUntilLimit() > 0) {
                buddyPortraitOffset_ = new java.util.ArrayList();
                mutable_bitField1_ |= 0x00000001;
              }
              while (input.getBytesUntilLimit() > 0) {
                buddyPortraitOffset_.add(input.readFloat());
              }
              input.popLimit(limit);
              break;
            }
            case 280: {
              int rawValue = input.readEnum();

              parentForm_ = rawValue;
              break;
            }
            case 290: {
              POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes.Builder subBuilder = null;
              if (thirdMove_ != null) {
                subBuilder = thirdMove_.toBuilder();
              }
              thirdMove_ = input.readMessage(POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(thirdMove_);
                thirdMove_ = subBuilder.buildPartial();
              }

              break;
            }
            case 296: {

              isTransferable_ = input.readBool();
              break;
            }
            case 304: {

              isDeployable_ = input.readBool();
              break;
            }
            case 317: {
              if (!((mutable_bitField1_ & 0x00000020) == 0x00000020)) {
                combatShoulderCameraAngle_ = new java.util.ArrayList();
                mutable_bitField1_ |= 0x00000020;
              }
              combatShoulderCameraAngle_.add(input.readFloat());
              break;
            }
            case 314: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField1_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
                combatShoulderCameraAngle_ = new java.util.ArrayList();
                mutable_bitField1_ |= 0x00000020;
              }
              while (input.getBytesUntilLimit() > 0) {
                combatShoulderCameraAngle_.add(input.readFloat());
              }
              input.popLimit(limit);
              break;
            }
            case 320: {

              isTradable_ = input.readBool();
              break;
            }
            case 333: {
              if (!((mutable_bitField1_ & 0x00000080) == 0x00000080)) {
                combatDefaultCameraAngle_ = new java.util.ArrayList();
                mutable_bitField1_ |= 0x00000080;
              }
              combatDefaultCameraAngle_.add(input.readFloat());
              break;
            }
            case 330: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField1_ & 0x00000080) == 0x00000080) && input.getBytesUntilLimit() > 0) {
                combatDefaultCameraAngle_ = new java.util.ArrayList();
                mutable_bitField1_ |= 0x00000080;
              }
              while (input.getBytesUntilLimit() > 0) {
                combatDefaultCameraAngle_.add(input.readFloat());
              }
              input.popLimit(limit);
              break;
            }
            case 341: {
              if (!((mutable_bitField1_ & 0x00000100) == 0x00000100)) {
                combatOpponentFocusCameraAngle_ = new java.util.ArrayList();
                mutable_bitField1_ |= 0x00000100;
              }
              combatOpponentFocusCameraAngle_.add(input.readFloat());
              break;
            }
            case 338: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField1_ & 0x00000100) == 0x00000100) && input.getBytesUntilLimit() > 0) {
                combatOpponentFocusCameraAngle_ = new java.util.ArrayList();
                mutable_bitField1_ |= 0x00000100;
              }
              while (input.getBytesUntilLimit() > 0) {
                combatOpponentFocusCameraAngle_.add(input.readFloat());
              }
              input.popLimit(limit);
              break;
            }
            case 349: {
              if (!((mutable_bitField1_ & 0x00000200) == 0x00000200)) {
                combatPlayerFocusCameraAngle_ = new java.util.ArrayList();
                mutable_bitField1_ |= 0x00000200;
              }
              combatPlayerFocusCameraAngle_.add(input.readFloat());
              break;
            }
            case 346: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField1_ & 0x00000200) == 0x00000200) && input.getBytesUntilLimit() > 0) {
                combatPlayerFocusCameraAngle_ = new java.util.ArrayList();
                mutable_bitField1_ |= 0x00000200;
              }
              while (input.getBytesUntilLimit() > 0) {
                combatPlayerFocusCameraAngle_.add(input.readFloat());
              }
              input.popLimit(limit);
              break;
            }
            case 357: {
              if (!((mutable_bitField1_ & 0x00000400) == 0x00000400)) {
                combatPlayerPokemonPositionOffset_ = new java.util.ArrayList();
                mutable_bitField1_ |= 0x00000400;
              }
              combatPlayerPokemonPositionOffset_.add(input.readFloat());
              break;
            }
            case 354: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField1_ & 0x00000400) == 0x00000400) && input.getBytesUntilLimit() > 0) {
                combatPlayerPokemonPositionOffset_ = new java.util.ArrayList();
                mutable_bitField1_ |= 0x00000400;
              }
              while (input.getBytesUntilLimit() > 0) {
                combatPlayerPokemonPositionOffset_.add(input.readFloat());
              }
              input.popLimit(limit);
              break;
            }
            case 362: {
              if (!((mutable_bitField1_ & 0x00000800) == 0x00000800)) {
                photobombAnimationOverrides_ = new java.util.ArrayList();
                mutable_bitField1_ |= 0x00000800;
              }
              photobombAnimationOverrides_.add(
                  input.readMessage(POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverride.parser(), extensionRegistry));
              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 {
        if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
          quickMoves_ = java.util.Collections.unmodifiableList(quickMoves_);
        }
        if (((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
          cinematicMoves_ = java.util.Collections.unmodifiableList(cinematicMoves_);
        }
        if (((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
          animationTime_ = java.util.Collections.unmodifiableList(animationTime_);
        }
        if (((mutable_bitField0_ & 0x00000400) == 0x00000400)) {
          evolutionIds_ = java.util.Collections.unmodifiableList(evolutionIds_);
        }
        if (((mutable_bitField0_ & 0x01000000) == 0x01000000)) {
          evolutionBranch_ = java.util.Collections.unmodifiableList(evolutionBranch_);
        }
        if (((mutable_bitField0_ & 0x20000000) == 0x20000000)) {
          buddyOffsetMale_ = java.util.Collections.unmodifiableList(buddyOffsetMale_);
        }
        if (((mutable_bitField0_ & 0x40000000) == 0x40000000)) {
          buddyOffsetFemale_ = java.util.Collections.unmodifiableList(buddyOffsetFemale_);
        }
        if (((mutable_bitField1_ & 0x00000001) == 0x00000001)) {
          buddyPortraitOffset_ = java.util.Collections.unmodifiableList(buddyPortraitOffset_);
        }
        if (((mutable_bitField1_ & 0x00000020) == 0x00000020)) {
          combatShoulderCameraAngle_ = java.util.Collections.unmodifiableList(combatShoulderCameraAngle_);
        }
        if (((mutable_bitField1_ & 0x00000080) == 0x00000080)) {
          combatDefaultCameraAngle_ = java.util.Collections.unmodifiableList(combatDefaultCameraAngle_);
        }
        if (((mutable_bitField1_ & 0x00000100) == 0x00000100)) {
          combatOpponentFocusCameraAngle_ = java.util.Collections.unmodifiableList(combatOpponentFocusCameraAngle_);
        }
        if (((mutable_bitField1_ & 0x00000200) == 0x00000200)) {
          combatPlayerFocusCameraAngle_ = java.util.Collections.unmodifiableList(combatPlayerFocusCameraAngle_);
        }
        if (((mutable_bitField1_ & 0x00000400) == 0x00000400)) {
          combatPlayerPokemonPositionOffset_ = java.util.Collections.unmodifiableList(combatPlayerPokemonPositionOffset_);
        }
        if (((mutable_bitField1_ & 0x00000800) == 0x00000800)) {
          photobombAnimationOverrides_ = java.util.Collections.unmodifiableList(photobombAnimationOverrides_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return POGOProtos.Settings.Master.PokemonSettingsOuterClass.internal_static_POGOProtos_Settings_Master_PokemonSettings_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return POGOProtos.Settings.Master.PokemonSettingsOuterClass.internal_static_POGOProtos_Settings_Master_PokemonSettings_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.class, POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.Builder.class);
    }

    public interface PokemonThirdMoveAttributesOrBuilder extends
        // @@protoc_insertion_point(interface_extends:POGOProtos.Settings.Master.PokemonSettings.PokemonThirdMoveAttributes)
        com.google.protobuf.MessageOrBuilder {

      /**
       * int32 stardust_to_unlock = 1;
       */
      int getStardustToUnlock();

      /**
       * int32 candy_to_unlock = 2;
       */
      int getCandyToUnlock();
    }
    /**
     * Protobuf type {@code POGOProtos.Settings.Master.PokemonSettings.PokemonThirdMoveAttributes}
     */
    public  static final class PokemonThirdMoveAttributes extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:POGOProtos.Settings.Master.PokemonSettings.PokemonThirdMoveAttributes)
        PokemonThirdMoveAttributesOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use PokemonThirdMoveAttributes.newBuilder() to construct.
      private PokemonThirdMoveAttributes(com.google.protobuf.GeneratedMessageV3.Builder builder) {
        super(builder);
      }
      private PokemonThirdMoveAttributes() {
        stardustToUnlock_ = 0;
        candyToUnlock_ = 0;
      }

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

                stardustToUnlock_ = input.readInt32();
                break;
              }
              case 16: {

                candyToUnlock_ = 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.Settings.Master.PokemonSettingsOuterClass.internal_static_POGOProtos_Settings_Master_PokemonSettings_PokemonThirdMoveAttributes_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return POGOProtos.Settings.Master.PokemonSettingsOuterClass.internal_static_POGOProtos_Settings_Master_PokemonSettings_PokemonThirdMoveAttributes_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes.class, POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes.Builder.class);
      }

      public static final int STARDUST_TO_UNLOCK_FIELD_NUMBER = 1;
      private int stardustToUnlock_;
      /**
       * int32 stardust_to_unlock = 1;
       */
      public int getStardustToUnlock() {
        return stardustToUnlock_;
      }

      public static final int CANDY_TO_UNLOCK_FIELD_NUMBER = 2;
      private int candyToUnlock_;
      /**
       * int32 candy_to_unlock = 2;
       */
      public int getCandyToUnlock() {
        return candyToUnlock_;
      }

      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 (stardustToUnlock_ != 0) {
          output.writeInt32(1, stardustToUnlock_);
        }
        if (candyToUnlock_ != 0) {
          output.writeInt32(2, candyToUnlock_);
        }
        unknownFields.writeTo(output);
      }

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

        size = 0;
        if (stardustToUnlock_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(1, stardustToUnlock_);
        }
        if (candyToUnlock_ != 0) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(2, candyToUnlock_);
        }
        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.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes)) {
          return super.equals(obj);
        }
        POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes other = (POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes) obj;

        boolean result = true;
        result = result && (getStardustToUnlock()
            == other.getStardustToUnlock());
        result = result && (getCandyToUnlock()
            == other.getCandyToUnlock());
        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) + STARDUST_TO_UNLOCK_FIELD_NUMBER;
        hash = (53 * hash) + getStardustToUnlock();
        hash = (37 * hash) + CANDY_TO_UNLOCK_FIELD_NUMBER;
        hash = (53 * hash) + getCandyToUnlock();
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

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

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return POGOProtos.Settings.Master.PokemonSettingsOuterClass.internal_static_POGOProtos_Settings_Master_PokemonSettings_PokemonThirdMoveAttributes_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes.class, POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes.Builder.class);
        }

        // Construct using POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes.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();
          stardustToUnlock_ = 0;

          candyToUnlock_ = 0;

          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return POGOProtos.Settings.Master.PokemonSettingsOuterClass.internal_static_POGOProtos_Settings_Master_PokemonSettings_PokemonThirdMoveAttributes_descriptor;
        }

        @java.lang.Override
        public POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes getDefaultInstanceForType() {
          return POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes.getDefaultInstance();
        }

        @java.lang.Override
        public POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes build() {
          POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes buildPartial() {
          POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes result = new POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes(this);
          result.stardustToUnlock_ = stardustToUnlock_;
          result.candyToUnlock_ = candyToUnlock_;
          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.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes) {
            return mergeFrom((POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes other) {
          if (other == POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes.getDefaultInstance()) return this;
          if (other.getStardustToUnlock() != 0) {
            setStardustToUnlock(other.getStardustToUnlock());
          }
          if (other.getCandyToUnlock() != 0) {
            setCandyToUnlock(other.getCandyToUnlock());
          }
          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.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }

        private int stardustToUnlock_ ;
        /**
         * int32 stardust_to_unlock = 1;
         */
        public int getStardustToUnlock() {
          return stardustToUnlock_;
        }
        /**
         * int32 stardust_to_unlock = 1;
         */
        public Builder setStardustToUnlock(int value) {
          
          stardustToUnlock_ = value;
          onChanged();
          return this;
        }
        /**
         * int32 stardust_to_unlock = 1;
         */
        public Builder clearStardustToUnlock() {
          
          stardustToUnlock_ = 0;
          onChanged();
          return this;
        }

        private int candyToUnlock_ ;
        /**
         * int32 candy_to_unlock = 2;
         */
        public int getCandyToUnlock() {
          return candyToUnlock_;
        }
        /**
         * int32 candy_to_unlock = 2;
         */
        public Builder setCandyToUnlock(int value) {
          
          candyToUnlock_ = value;
          onChanged();
          return this;
        }
        /**
         * int32 candy_to_unlock = 2;
         */
        public Builder clearCandyToUnlock() {
          
          candyToUnlock_ = 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.Settings.Master.PokemonSettings.PokemonThirdMoveAttributes)
      }

      // @@protoc_insertion_point(class_scope:POGOProtos.Settings.Master.PokemonSettings.PokemonThirdMoveAttributes)
      private static final POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes();
      }

      public static POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public PokemonThirdMoveAttributes parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new PokemonThirdMoveAttributes(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.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    private int bitField0_;
    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 MODEL_SCALE_FIELD_NUMBER = 3;
    private float modelScale_;
    /**
     * float model_scale = 3;
     */
    public float getModelScale() {
      return modelScale_;
    }

    public static final int TYPE_FIELD_NUMBER = 4;
    private int type_;
    /**
     * .POGOProtos.Enums.PokemonType type = 4;
     */
    public int getTypeValue() {
      return type_;
    }
    /**
     * .POGOProtos.Enums.PokemonType type = 4;
     */
    public POGOProtos.Enums.PokemonTypeOuterClass.PokemonType getType() {
      @SuppressWarnings("deprecation")
      POGOProtos.Enums.PokemonTypeOuterClass.PokemonType result = POGOProtos.Enums.PokemonTypeOuterClass.PokemonType.valueOf(type_);
      return result == null ? POGOProtos.Enums.PokemonTypeOuterClass.PokemonType.UNRECOGNIZED : result;
    }

    public static final int TYPE_2_FIELD_NUMBER = 5;
    private int type2_;
    /**
     * .POGOProtos.Enums.PokemonType type_2 = 5;
     */
    public int getType2Value() {
      return type2_;
    }
    /**
     * .POGOProtos.Enums.PokemonType type_2 = 5;
     */
    public POGOProtos.Enums.PokemonTypeOuterClass.PokemonType getType2() {
      @SuppressWarnings("deprecation")
      POGOProtos.Enums.PokemonTypeOuterClass.PokemonType result = POGOProtos.Enums.PokemonTypeOuterClass.PokemonType.valueOf(type2_);
      return result == null ? POGOProtos.Enums.PokemonTypeOuterClass.PokemonType.UNRECOGNIZED : result;
    }

    public static final int CAMERA_FIELD_NUMBER = 6;
    private POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributes camera_;
    /**
     * .POGOProtos.Settings.Master.Pokemon.CameraAttributes camera = 6;
     */
    public boolean hasCamera() {
      return camera_ != null;
    }
    /**
     * .POGOProtos.Settings.Master.Pokemon.CameraAttributes camera = 6;
     */
    public POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributes getCamera() {
      return camera_ == null ? POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributes.getDefaultInstance() : camera_;
    }
    /**
     * .POGOProtos.Settings.Master.Pokemon.CameraAttributes camera = 6;
     */
    public POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributesOrBuilder getCameraOrBuilder() {
      return getCamera();
    }

    public static final int ENCOUNTER_FIELD_NUMBER = 7;
    private POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributes encounter_;
    /**
     * .POGOProtos.Settings.Master.Pokemon.EncounterAttributes encounter = 7;
     */
    public boolean hasEncounter() {
      return encounter_ != null;
    }
    /**
     * .POGOProtos.Settings.Master.Pokemon.EncounterAttributes encounter = 7;
     */
    public POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributes getEncounter() {
      return encounter_ == null ? POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributes.getDefaultInstance() : encounter_;
    }
    /**
     * .POGOProtos.Settings.Master.Pokemon.EncounterAttributes encounter = 7;
     */
    public POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributesOrBuilder getEncounterOrBuilder() {
      return getEncounter();
    }

    public static final int STATS_FIELD_NUMBER = 8;
    private POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributes stats_;
    /**
     * .POGOProtos.Settings.Master.Pokemon.StatsAttributes stats = 8;
     */
    public boolean hasStats() {
      return stats_ != null;
    }
    /**
     * .POGOProtos.Settings.Master.Pokemon.StatsAttributes stats = 8;
     */
    public POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributes getStats() {
      return stats_ == null ? POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributes.getDefaultInstance() : stats_;
    }
    /**
     * .POGOProtos.Settings.Master.Pokemon.StatsAttributes stats = 8;
     */
    public POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributesOrBuilder getStatsOrBuilder() {
      return getStats();
    }

    public static final int QUICK_MOVES_FIELD_NUMBER = 9;
    private java.util.List quickMoves_;
    private static final com.google.protobuf.Internal.ListAdapter.Converter<
        java.lang.Integer, POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove> quickMoves_converter_ =
            new com.google.protobuf.Internal.ListAdapter.Converter<
                java.lang.Integer, POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove>() {
              public POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove convert(java.lang.Integer from) {
                @SuppressWarnings("deprecation")
                POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove result = POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove.valueOf(from);
                return result == null ? POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove.UNRECOGNIZED : result;
              }
            };
    /**
     * repeated .POGOProtos.Enums.PokemonMove quick_moves = 9;
     */
    public java.util.List getQuickMovesList() {
      return new com.google.protobuf.Internal.ListAdapter<
          java.lang.Integer, POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove>(quickMoves_, quickMoves_converter_);
    }
    /**
     * repeated .POGOProtos.Enums.PokemonMove quick_moves = 9;
     */
    public int getQuickMovesCount() {
      return quickMoves_.size();
    }
    /**
     * repeated .POGOProtos.Enums.PokemonMove quick_moves = 9;
     */
    public POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove getQuickMoves(int index) {
      return quickMoves_converter_.convert(quickMoves_.get(index));
    }
    /**
     * repeated .POGOProtos.Enums.PokemonMove quick_moves = 9;
     */
    public java.util.List
    getQuickMovesValueList() {
      return quickMoves_;
    }
    /**
     * repeated .POGOProtos.Enums.PokemonMove quick_moves = 9;
     */
    public int getQuickMovesValue(int index) {
      return quickMoves_.get(index);
    }
    private int quickMovesMemoizedSerializedSize;

    public static final int CINEMATIC_MOVES_FIELD_NUMBER = 10;
    private java.util.List cinematicMoves_;
    private static final com.google.protobuf.Internal.ListAdapter.Converter<
        java.lang.Integer, POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove> cinematicMoves_converter_ =
            new com.google.protobuf.Internal.ListAdapter.Converter<
                java.lang.Integer, POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove>() {
              public POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove convert(java.lang.Integer from) {
                @SuppressWarnings("deprecation")
                POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove result = POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove.valueOf(from);
                return result == null ? POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove.UNRECOGNIZED : result;
              }
            };
    /**
     * repeated .POGOProtos.Enums.PokemonMove cinematic_moves = 10;
     */
    public java.util.List getCinematicMovesList() {
      return new com.google.protobuf.Internal.ListAdapter<
          java.lang.Integer, POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove>(cinematicMoves_, cinematicMoves_converter_);
    }
    /**
     * repeated .POGOProtos.Enums.PokemonMove cinematic_moves = 10;
     */
    public int getCinematicMovesCount() {
      return cinematicMoves_.size();
    }
    /**
     * repeated .POGOProtos.Enums.PokemonMove cinematic_moves = 10;
     */
    public POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove getCinematicMoves(int index) {
      return cinematicMoves_converter_.convert(cinematicMoves_.get(index));
    }
    /**
     * repeated .POGOProtos.Enums.PokemonMove cinematic_moves = 10;
     */
    public java.util.List
    getCinematicMovesValueList() {
      return cinematicMoves_;
    }
    /**
     * repeated .POGOProtos.Enums.PokemonMove cinematic_moves = 10;
     */
    public int getCinematicMovesValue(int index) {
      return cinematicMoves_.get(index);
    }
    private int cinematicMovesMemoizedSerializedSize;

    public static final int ANIMATION_TIME_FIELD_NUMBER = 11;
    private java.util.List animationTime_;
    /**
     * repeated float animation_time = 11;
     */
    public java.util.List
        getAnimationTimeList() {
      return animationTime_;
    }
    /**
     * repeated float animation_time = 11;
     */
    public int getAnimationTimeCount() {
      return animationTime_.size();
    }
    /**
     * repeated float animation_time = 11;
     */
    public float getAnimationTime(int index) {
      return animationTime_.get(index);
    }
    private int animationTimeMemoizedSerializedSize = -1;

    public static final int EVOLUTION_IDS_FIELD_NUMBER = 12;
    private java.util.List evolutionIds_;
    private static final com.google.protobuf.Internal.ListAdapter.Converter<
        java.lang.Integer, POGOProtos.Enums.PokemonIdOuterClass.PokemonId> evolutionIds_converter_ =
            new com.google.protobuf.Internal.ListAdapter.Converter<
                java.lang.Integer, POGOProtos.Enums.PokemonIdOuterClass.PokemonId>() {
              public POGOProtos.Enums.PokemonIdOuterClass.PokemonId convert(java.lang.Integer from) {
                @SuppressWarnings("deprecation")
                POGOProtos.Enums.PokemonIdOuterClass.PokemonId result = POGOProtos.Enums.PokemonIdOuterClass.PokemonId.valueOf(from);
                return result == null ? POGOProtos.Enums.PokemonIdOuterClass.PokemonId.UNRECOGNIZED : result;
              }
            };
    /**
     * repeated .POGOProtos.Enums.PokemonId evolution_ids = 12;
     */
    public java.util.List getEvolutionIdsList() {
      return new com.google.protobuf.Internal.ListAdapter<
          java.lang.Integer, POGOProtos.Enums.PokemonIdOuterClass.PokemonId>(evolutionIds_, evolutionIds_converter_);
    }
    /**
     * repeated .POGOProtos.Enums.PokemonId evolution_ids = 12;
     */
    public int getEvolutionIdsCount() {
      return evolutionIds_.size();
    }
    /**
     * repeated .POGOProtos.Enums.PokemonId evolution_ids = 12;
     */
    public POGOProtos.Enums.PokemonIdOuterClass.PokemonId getEvolutionIds(int index) {
      return evolutionIds_converter_.convert(evolutionIds_.get(index));
    }
    /**
     * repeated .POGOProtos.Enums.PokemonId evolution_ids = 12;
     */
    public java.util.List
    getEvolutionIdsValueList() {
      return evolutionIds_;
    }
    /**
     * repeated .POGOProtos.Enums.PokemonId evolution_ids = 12;
     */
    public int getEvolutionIdsValue(int index) {
      return evolutionIds_.get(index);
    }
    private int evolutionIdsMemoizedSerializedSize;

    public static final int EVOLUTION_PIPS_FIELD_NUMBER = 13;
    private int evolutionPips_;
    /**
     * int32 evolution_pips = 13;
     */
    public int getEvolutionPips() {
      return evolutionPips_;
    }

    public static final int RARITY_FIELD_NUMBER = 14;
    private int rarity_;
    /**
     * .POGOProtos.Enums.PokemonRarity rarity = 14;
     */
    public int getRarityValue() {
      return rarity_;
    }
    /**
     * .POGOProtos.Enums.PokemonRarity rarity = 14;
     */
    public POGOProtos.Enums.PokemonRarityOuterClass.PokemonRarity getRarity() {
      @SuppressWarnings("deprecation")
      POGOProtos.Enums.PokemonRarityOuterClass.PokemonRarity result = POGOProtos.Enums.PokemonRarityOuterClass.PokemonRarity.valueOf(rarity_);
      return result == null ? POGOProtos.Enums.PokemonRarityOuterClass.PokemonRarity.UNRECOGNIZED : result;
    }

    public static final int POKEDEX_HEIGHT_M_FIELD_NUMBER = 15;
    private float pokedexHeightM_;
    /**
     * float pokedex_height_m = 15;
     */
    public float getPokedexHeightM() {
      return pokedexHeightM_;
    }

    public static final int POKEDEX_WEIGHT_KG_FIELD_NUMBER = 16;
    private float pokedexWeightKg_;
    /**
     * float pokedex_weight_kg = 16;
     */
    public float getPokedexWeightKg() {
      return pokedexWeightKg_;
    }

    public static final int PARENT_POKEMON_ID_FIELD_NUMBER = 17;
    private int parentPokemonId_;
    /**
     * .POGOProtos.Enums.PokemonId parent_pokemon_id = 17;
     */
    public int getParentPokemonIdValue() {
      return parentPokemonId_;
    }
    /**
     * .POGOProtos.Enums.PokemonId parent_pokemon_id = 17;
     */
    public POGOProtos.Enums.PokemonIdOuterClass.PokemonId getParentPokemonId() {
      @SuppressWarnings("deprecation")
      POGOProtos.Enums.PokemonIdOuterClass.PokemonId result = POGOProtos.Enums.PokemonIdOuterClass.PokemonId.valueOf(parentPokemonId_);
      return result == null ? POGOProtos.Enums.PokemonIdOuterClass.PokemonId.UNRECOGNIZED : result;
    }

    public static final int HEIGHT_STD_DEV_FIELD_NUMBER = 18;
    private float heightStdDev_;
    /**
     * float height_std_dev = 18;
     */
    public float getHeightStdDev() {
      return heightStdDev_;
    }

    public static final int WEIGHT_STD_DEV_FIELD_NUMBER = 19;
    private float weightStdDev_;
    /**
     * float weight_std_dev = 19;
     */
    public float getWeightStdDev() {
      return weightStdDev_;
    }

    public static final int KM_DISTANCE_TO_HATCH_FIELD_NUMBER = 20;
    private float kmDistanceToHatch_;
    /**
     * float km_distance_to_hatch = 20;
     */
    public float getKmDistanceToHatch() {
      return kmDistanceToHatch_;
    }

    public static final int FAMILY_ID_FIELD_NUMBER = 21;
    private int familyId_;
    /**
     * .POGOProtos.Enums.PokemonFamilyId family_id = 21;
     */
    public int getFamilyIdValue() {
      return familyId_;
    }
    /**
     * .POGOProtos.Enums.PokemonFamilyId family_id = 21;
     */
    public POGOProtos.Enums.PokemonFamilyIdOuterClass.PokemonFamilyId getFamilyId() {
      @SuppressWarnings("deprecation")
      POGOProtos.Enums.PokemonFamilyIdOuterClass.PokemonFamilyId result = POGOProtos.Enums.PokemonFamilyIdOuterClass.PokemonFamilyId.valueOf(familyId_);
      return result == null ? POGOProtos.Enums.PokemonFamilyIdOuterClass.PokemonFamilyId.UNRECOGNIZED : result;
    }

    public static final int CANDY_TO_EVOLVE_FIELD_NUMBER = 22;
    private int candyToEvolve_;
    /**
     * int32 candy_to_evolve = 22;
     */
    public int getCandyToEvolve() {
      return candyToEvolve_;
    }

    public static final int KM_BUDDY_DISTANCE_FIELD_NUMBER = 23;
    private float kmBuddyDistance_;
    /**
     * float km_buddy_distance = 23;
     */
    public float getKmBuddyDistance() {
      return kmBuddyDistance_;
    }

    public static final int BUDDY_SIZE_FIELD_NUMBER = 24;
    private int buddySize_;
    /**
     * .POGOProtos.Enums.BuddySize buddy_size = 24;
     */
    public int getBuddySizeValue() {
      return buddySize_;
    }
    /**
     * .POGOProtos.Enums.BuddySize buddy_size = 24;
     */
    public POGOProtos.Enums.BuddySizeOuterClass.BuddySize getBuddySize() {
      @SuppressWarnings("deprecation")
      POGOProtos.Enums.BuddySizeOuterClass.BuddySize result = POGOProtos.Enums.BuddySizeOuterClass.BuddySize.valueOf(buddySize_);
      return result == null ? POGOProtos.Enums.BuddySizeOuterClass.BuddySize.UNRECOGNIZED : result;
    }

    public static final int MODEL_HEIGHT_FIELD_NUMBER = 25;
    private float modelHeight_;
    /**
     * float model_height = 25;
     */
    public float getModelHeight() {
      return modelHeight_;
    }

    public static final int EVOLUTION_BRANCH_FIELD_NUMBER = 26;
    private java.util.List evolutionBranch_;
    /**
     * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
     */
    public java.util.List getEvolutionBranchList() {
      return evolutionBranch_;
    }
    /**
     * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
     */
    public java.util.List 
        getEvolutionBranchOrBuilderList() {
      return evolutionBranch_;
    }
    /**
     * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
     */
    public int getEvolutionBranchCount() {
      return evolutionBranch_.size();
    }
    /**
     * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
     */
    public POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranch getEvolutionBranch(int index) {
      return evolutionBranch_.get(index);
    }
    /**
     * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
     */
    public POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranchOrBuilder getEvolutionBranchOrBuilder(
        int index) {
      return evolutionBranch_.get(index);
    }

    public static final int MODEL_SCALE_V2_FIELD_NUMBER = 27;
    private float modelScaleV2_;
    /**
     * float model_scale_v2 = 27;
     */
    public float getModelScaleV2() {
      return modelScaleV2_;
    }

    public static final int FORM_FIELD_NUMBER = 28;
    private int form_;
    /**
     * .POGOProtos.Enums.Form form = 28;
     */
    public int getFormValue() {
      return form_;
    }
    /**
     * .POGOProtos.Enums.Form form = 28;
     */
    public POGOProtos.Enums.FormOuterClass.Form getForm() {
      @SuppressWarnings("deprecation")
      POGOProtos.Enums.FormOuterClass.Form result = POGOProtos.Enums.FormOuterClass.Form.valueOf(form_);
      return result == null ? POGOProtos.Enums.FormOuterClass.Form.UNRECOGNIZED : result;
    }

    public static final int EVENT_QUICK_MOVE_FIELD_NUMBER = 29;
    private int eventQuickMove_;
    /**
     * .POGOProtos.Enums.PokemonMove event_quick_move = 29;
     */
    public int getEventQuickMoveValue() {
      return eventQuickMove_;
    }
    /**
     * .POGOProtos.Enums.PokemonMove event_quick_move = 29;
     */
    public POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove getEventQuickMove() {
      @SuppressWarnings("deprecation")
      POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove result = POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove.valueOf(eventQuickMove_);
      return result == null ? POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove.UNRECOGNIZED : result;
    }

    public static final int EVENT_CINEMATIC_MOVE_FIELD_NUMBER = 30;
    private int eventCinematicMove_;
    /**
     * .POGOProtos.Enums.PokemonMove event_cinematic_move = 30;
     */
    public int getEventCinematicMoveValue() {
      return eventCinematicMove_;
    }
    /**
     * .POGOProtos.Enums.PokemonMove event_cinematic_move = 30;
     */
    public POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove getEventCinematicMove() {
      @SuppressWarnings("deprecation")
      POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove result = POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove.valueOf(eventCinematicMove_);
      return result == null ? POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove.UNRECOGNIZED : result;
    }

    public static final int BUDDY_OFFSET_MALE_FIELD_NUMBER = 31;
    private java.util.List buddyOffsetMale_;
    /**
     * repeated float buddy_offset_male = 31;
     */
    public java.util.List
        getBuddyOffsetMaleList() {
      return buddyOffsetMale_;
    }
    /**
     * repeated float buddy_offset_male = 31;
     */
    public int getBuddyOffsetMaleCount() {
      return buddyOffsetMale_.size();
    }
    /**
     * repeated float buddy_offset_male = 31;
     */
    public float getBuddyOffsetMale(int index) {
      return buddyOffsetMale_.get(index);
    }
    private int buddyOffsetMaleMemoizedSerializedSize = -1;

    public static final int BUDDY_OFFSET_FEMALE_FIELD_NUMBER = 32;
    private java.util.List buddyOffsetFemale_;
    /**
     * repeated float buddy_offset_female = 32;
     */
    public java.util.List
        getBuddyOffsetFemaleList() {
      return buddyOffsetFemale_;
    }
    /**
     * repeated float buddy_offset_female = 32;
     */
    public int getBuddyOffsetFemaleCount() {
      return buddyOffsetFemale_.size();
    }
    /**
     * repeated float buddy_offset_female = 32;
     */
    public float getBuddyOffsetFemale(int index) {
      return buddyOffsetFemale_.get(index);
    }
    private int buddyOffsetFemaleMemoizedSerializedSize = -1;

    public static final int BUDDY_SCALE_FIELD_NUMBER = 33;
    private float buddyScale_;
    /**
     * float buddy_scale = 33;
     */
    public float getBuddyScale() {
      return buddyScale_;
    }

    public static final int BUDDY_PORTRAIT_OFFSET_FIELD_NUMBER = 34;
    private java.util.List buddyPortraitOffset_;
    /**
     * repeated float buddy_portrait_offset = 34;
     */
    public java.util.List
        getBuddyPortraitOffsetList() {
      return buddyPortraitOffset_;
    }
    /**
     * repeated float buddy_portrait_offset = 34;
     */
    public int getBuddyPortraitOffsetCount() {
      return buddyPortraitOffset_.size();
    }
    /**
     * repeated float buddy_portrait_offset = 34;
     */
    public float getBuddyPortraitOffset(int index) {
      return buddyPortraitOffset_.get(index);
    }
    private int buddyPortraitOffsetMemoizedSerializedSize = -1;

    public static final int PARENT_FORM_FIELD_NUMBER = 35;
    private int parentForm_;
    /**
     * .POGOProtos.Enums.Form parent_form = 35;
     */
    public int getParentFormValue() {
      return parentForm_;
    }
    /**
     * .POGOProtos.Enums.Form parent_form = 35;
     */
    public POGOProtos.Enums.FormOuterClass.Form getParentForm() {
      @SuppressWarnings("deprecation")
      POGOProtos.Enums.FormOuterClass.Form result = POGOProtos.Enums.FormOuterClass.Form.valueOf(parentForm_);
      return result == null ? POGOProtos.Enums.FormOuterClass.Form.UNRECOGNIZED : result;
    }

    public static final int THIRD_MOVE_FIELD_NUMBER = 36;
    private POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes thirdMove_;
    /**
     * .POGOProtos.Settings.Master.PokemonSettings.PokemonThirdMoveAttributes third_move = 36;
     */
    public boolean hasThirdMove() {
      return thirdMove_ != null;
    }
    /**
     * .POGOProtos.Settings.Master.PokemonSettings.PokemonThirdMoveAttributes third_move = 36;
     */
    public POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes getThirdMove() {
      return thirdMove_ == null ? POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes.getDefaultInstance() : thirdMove_;
    }
    /**
     * .POGOProtos.Settings.Master.PokemonSettings.PokemonThirdMoveAttributes third_move = 36;
     */
    public POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributesOrBuilder getThirdMoveOrBuilder() {
      return getThirdMove();
    }

    public static final int IS_TRANSFERABLE_FIELD_NUMBER = 37;
    private boolean isTransferable_;
    /**
     * bool is_transferable = 37;
     */
    public boolean getIsTransferable() {
      return isTransferable_;
    }

    public static final int IS_DEPLOYABLE_FIELD_NUMBER = 38;
    private boolean isDeployable_;
    /**
     * bool is_deployable = 38;
     */
    public boolean getIsDeployable() {
      return isDeployable_;
    }

    public static final int COMBAT_SHOULDER_CAMERA_ANGLE_FIELD_NUMBER = 39;
    private java.util.List combatShoulderCameraAngle_;
    /**
     * repeated float combat_shoulder_camera_angle = 39;
     */
    public java.util.List
        getCombatShoulderCameraAngleList() {
      return combatShoulderCameraAngle_;
    }
    /**
     * repeated float combat_shoulder_camera_angle = 39;
     */
    public int getCombatShoulderCameraAngleCount() {
      return combatShoulderCameraAngle_.size();
    }
    /**
     * repeated float combat_shoulder_camera_angle = 39;
     */
    public float getCombatShoulderCameraAngle(int index) {
      return combatShoulderCameraAngle_.get(index);
    }
    private int combatShoulderCameraAngleMemoizedSerializedSize = -1;

    public static final int IS_TRADABLE_FIELD_NUMBER = 40;
    private boolean isTradable_;
    /**
     * bool is_tradable = 40;
     */
    public boolean getIsTradable() {
      return isTradable_;
    }

    public static final int COMBAT_DEFAULT_CAMERA_ANGLE_FIELD_NUMBER = 41;
    private java.util.List combatDefaultCameraAngle_;
    /**
     * repeated float combat_default_camera_angle = 41;
     */
    public java.util.List
        getCombatDefaultCameraAngleList() {
      return combatDefaultCameraAngle_;
    }
    /**
     * repeated float combat_default_camera_angle = 41;
     */
    public int getCombatDefaultCameraAngleCount() {
      return combatDefaultCameraAngle_.size();
    }
    /**
     * repeated float combat_default_camera_angle = 41;
     */
    public float getCombatDefaultCameraAngle(int index) {
      return combatDefaultCameraAngle_.get(index);
    }
    private int combatDefaultCameraAngleMemoizedSerializedSize = -1;

    public static final int COMBAT_OPPONENT_FOCUS_CAMERA_ANGLE_FIELD_NUMBER = 42;
    private java.util.List combatOpponentFocusCameraAngle_;
    /**
     * repeated float combat_opponent_focus_camera_angle = 42;
     */
    public java.util.List
        getCombatOpponentFocusCameraAngleList() {
      return combatOpponentFocusCameraAngle_;
    }
    /**
     * repeated float combat_opponent_focus_camera_angle = 42;
     */
    public int getCombatOpponentFocusCameraAngleCount() {
      return combatOpponentFocusCameraAngle_.size();
    }
    /**
     * repeated float combat_opponent_focus_camera_angle = 42;
     */
    public float getCombatOpponentFocusCameraAngle(int index) {
      return combatOpponentFocusCameraAngle_.get(index);
    }
    private int combatOpponentFocusCameraAngleMemoizedSerializedSize = -1;

    public static final int COMBAT_PLAYER_FOCUS_CAMERA_ANGLE_FIELD_NUMBER = 43;
    private java.util.List combatPlayerFocusCameraAngle_;
    /**
     * repeated float combat_player_focus_camera_angle = 43;
     */
    public java.util.List
        getCombatPlayerFocusCameraAngleList() {
      return combatPlayerFocusCameraAngle_;
    }
    /**
     * repeated float combat_player_focus_camera_angle = 43;
     */
    public int getCombatPlayerFocusCameraAngleCount() {
      return combatPlayerFocusCameraAngle_.size();
    }
    /**
     * repeated float combat_player_focus_camera_angle = 43;
     */
    public float getCombatPlayerFocusCameraAngle(int index) {
      return combatPlayerFocusCameraAngle_.get(index);
    }
    private int combatPlayerFocusCameraAngleMemoizedSerializedSize = -1;

    public static final int COMBAT_PLAYER_POKEMON_POSITION_OFFSET_FIELD_NUMBER = 44;
    private java.util.List combatPlayerPokemonPositionOffset_;
    /**
     * repeated float combat_player_pokemon_position_offset = 44;
     */
    public java.util.List
        getCombatPlayerPokemonPositionOffsetList() {
      return combatPlayerPokemonPositionOffset_;
    }
    /**
     * repeated float combat_player_pokemon_position_offset = 44;
     */
    public int getCombatPlayerPokemonPositionOffsetCount() {
      return combatPlayerPokemonPositionOffset_.size();
    }
    /**
     * repeated float combat_player_pokemon_position_offset = 44;
     */
    public float getCombatPlayerPokemonPositionOffset(int index) {
      return combatPlayerPokemonPositionOffset_.get(index);
    }
    private int combatPlayerPokemonPositionOffsetMemoizedSerializedSize = -1;

    public static final int PHOTOBOMB_ANIMATION_OVERRIDES_FIELD_NUMBER = 45;
    private java.util.List photobombAnimationOverrides_;
    /**
     * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
     */
    public java.util.List getPhotobombAnimationOverridesList() {
      return photobombAnimationOverrides_;
    }
    /**
     * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
     */
    public java.util.List 
        getPhotobombAnimationOverridesOrBuilderList() {
      return photobombAnimationOverrides_;
    }
    /**
     * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
     */
    public int getPhotobombAnimationOverridesCount() {
      return photobombAnimationOverrides_.size();
    }
    /**
     * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
     */
    public POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverride getPhotobombAnimationOverrides(int index) {
      return photobombAnimationOverrides_.get(index);
    }
    /**
     * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
     */
    public POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverrideOrBuilder getPhotobombAnimationOverridesOrBuilder(
        int index) {
      return photobombAnimationOverrides_.get(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (pokemonId_ != POGOProtos.Enums.PokemonIdOuterClass.PokemonId.MISSINGNO.getNumber()) {
        output.writeEnum(1, pokemonId_);
      }
      if (modelScale_ != 0F) {
        output.writeFloat(3, modelScale_);
      }
      if (type_ != POGOProtos.Enums.PokemonTypeOuterClass.PokemonType.POKEMON_TYPE_NONE.getNumber()) {
        output.writeEnum(4, type_);
      }
      if (type2_ != POGOProtos.Enums.PokemonTypeOuterClass.PokemonType.POKEMON_TYPE_NONE.getNumber()) {
        output.writeEnum(5, type2_);
      }
      if (camera_ != null) {
        output.writeMessage(6, getCamera());
      }
      if (encounter_ != null) {
        output.writeMessage(7, getEncounter());
      }
      if (stats_ != null) {
        output.writeMessage(8, getStats());
      }
      if (getQuickMovesList().size() > 0) {
        output.writeUInt32NoTag(74);
        output.writeUInt32NoTag(quickMovesMemoizedSerializedSize);
      }
      for (int i = 0; i < quickMoves_.size(); i++) {
        output.writeEnumNoTag(quickMoves_.get(i));
      }
      if (getCinematicMovesList().size() > 0) {
        output.writeUInt32NoTag(82);
        output.writeUInt32NoTag(cinematicMovesMemoizedSerializedSize);
      }
      for (int i = 0; i < cinematicMoves_.size(); i++) {
        output.writeEnumNoTag(cinematicMoves_.get(i));
      }
      if (getAnimationTimeList().size() > 0) {
        output.writeUInt32NoTag(90);
        output.writeUInt32NoTag(animationTimeMemoizedSerializedSize);
      }
      for (int i = 0; i < animationTime_.size(); i++) {
        output.writeFloatNoTag(animationTime_.get(i));
      }
      if (getEvolutionIdsList().size() > 0) {
        output.writeUInt32NoTag(98);
        output.writeUInt32NoTag(evolutionIdsMemoizedSerializedSize);
      }
      for (int i = 0; i < evolutionIds_.size(); i++) {
        output.writeEnumNoTag(evolutionIds_.get(i));
      }
      if (evolutionPips_ != 0) {
        output.writeInt32(13, evolutionPips_);
      }
      if (rarity_ != POGOProtos.Enums.PokemonRarityOuterClass.PokemonRarity.POKEMON_RARITY_NORMAL.getNumber()) {
        output.writeEnum(14, rarity_);
      }
      if (pokedexHeightM_ != 0F) {
        output.writeFloat(15, pokedexHeightM_);
      }
      if (pokedexWeightKg_ != 0F) {
        output.writeFloat(16, pokedexWeightKg_);
      }
      if (parentPokemonId_ != POGOProtos.Enums.PokemonIdOuterClass.PokemonId.MISSINGNO.getNumber()) {
        output.writeEnum(17, parentPokemonId_);
      }
      if (heightStdDev_ != 0F) {
        output.writeFloat(18, heightStdDev_);
      }
      if (weightStdDev_ != 0F) {
        output.writeFloat(19, weightStdDev_);
      }
      if (kmDistanceToHatch_ != 0F) {
        output.writeFloat(20, kmDistanceToHatch_);
      }
      if (familyId_ != POGOProtos.Enums.PokemonFamilyIdOuterClass.PokemonFamilyId.FAMILY_UNSET.getNumber()) {
        output.writeEnum(21, familyId_);
      }
      if (candyToEvolve_ != 0) {
        output.writeInt32(22, candyToEvolve_);
      }
      if (kmBuddyDistance_ != 0F) {
        output.writeFloat(23, kmBuddyDistance_);
      }
      if (buddySize_ != POGOProtos.Enums.BuddySizeOuterClass.BuddySize.BUDDY_MEDIUM.getNumber()) {
        output.writeEnum(24, buddySize_);
      }
      if (modelHeight_ != 0F) {
        output.writeFloat(25, modelHeight_);
      }
      for (int i = 0; i < evolutionBranch_.size(); i++) {
        output.writeMessage(26, evolutionBranch_.get(i));
      }
      if (modelScaleV2_ != 0F) {
        output.writeFloat(27, modelScaleV2_);
      }
      if (form_ != POGOProtos.Enums.FormOuterClass.Form.FORM_UNSET.getNumber()) {
        output.writeEnum(28, form_);
      }
      if (eventQuickMove_ != POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove.MOVE_UNSET.getNumber()) {
        output.writeEnum(29, eventQuickMove_);
      }
      if (eventCinematicMove_ != POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove.MOVE_UNSET.getNumber()) {
        output.writeEnum(30, eventCinematicMove_);
      }
      if (getBuddyOffsetMaleList().size() > 0) {
        output.writeUInt32NoTag(250);
        output.writeUInt32NoTag(buddyOffsetMaleMemoizedSerializedSize);
      }
      for (int i = 0; i < buddyOffsetMale_.size(); i++) {
        output.writeFloatNoTag(buddyOffsetMale_.get(i));
      }
      if (getBuddyOffsetFemaleList().size() > 0) {
        output.writeUInt32NoTag(258);
        output.writeUInt32NoTag(buddyOffsetFemaleMemoizedSerializedSize);
      }
      for (int i = 0; i < buddyOffsetFemale_.size(); i++) {
        output.writeFloatNoTag(buddyOffsetFemale_.get(i));
      }
      if (buddyScale_ != 0F) {
        output.writeFloat(33, buddyScale_);
      }
      if (getBuddyPortraitOffsetList().size() > 0) {
        output.writeUInt32NoTag(274);
        output.writeUInt32NoTag(buddyPortraitOffsetMemoizedSerializedSize);
      }
      for (int i = 0; i < buddyPortraitOffset_.size(); i++) {
        output.writeFloatNoTag(buddyPortraitOffset_.get(i));
      }
      if (parentForm_ != POGOProtos.Enums.FormOuterClass.Form.FORM_UNSET.getNumber()) {
        output.writeEnum(35, parentForm_);
      }
      if (thirdMove_ != null) {
        output.writeMessage(36, getThirdMove());
      }
      if (isTransferable_ != false) {
        output.writeBool(37, isTransferable_);
      }
      if (isDeployable_ != false) {
        output.writeBool(38, isDeployable_);
      }
      if (getCombatShoulderCameraAngleList().size() > 0) {
        output.writeUInt32NoTag(314);
        output.writeUInt32NoTag(combatShoulderCameraAngleMemoizedSerializedSize);
      }
      for (int i = 0; i < combatShoulderCameraAngle_.size(); i++) {
        output.writeFloatNoTag(combatShoulderCameraAngle_.get(i));
      }
      if (isTradable_ != false) {
        output.writeBool(40, isTradable_);
      }
      if (getCombatDefaultCameraAngleList().size() > 0) {
        output.writeUInt32NoTag(330);
        output.writeUInt32NoTag(combatDefaultCameraAngleMemoizedSerializedSize);
      }
      for (int i = 0; i < combatDefaultCameraAngle_.size(); i++) {
        output.writeFloatNoTag(combatDefaultCameraAngle_.get(i));
      }
      if (getCombatOpponentFocusCameraAngleList().size() > 0) {
        output.writeUInt32NoTag(338);
        output.writeUInt32NoTag(combatOpponentFocusCameraAngleMemoizedSerializedSize);
      }
      for (int i = 0; i < combatOpponentFocusCameraAngle_.size(); i++) {
        output.writeFloatNoTag(combatOpponentFocusCameraAngle_.get(i));
      }
      if (getCombatPlayerFocusCameraAngleList().size() > 0) {
        output.writeUInt32NoTag(346);
        output.writeUInt32NoTag(combatPlayerFocusCameraAngleMemoizedSerializedSize);
      }
      for (int i = 0; i < combatPlayerFocusCameraAngle_.size(); i++) {
        output.writeFloatNoTag(combatPlayerFocusCameraAngle_.get(i));
      }
      if (getCombatPlayerPokemonPositionOffsetList().size() > 0) {
        output.writeUInt32NoTag(354);
        output.writeUInt32NoTag(combatPlayerPokemonPositionOffsetMemoizedSerializedSize);
      }
      for (int i = 0; i < combatPlayerPokemonPositionOffset_.size(); i++) {
        output.writeFloatNoTag(combatPlayerPokemonPositionOffset_.get(i));
      }
      for (int i = 0; i < photobombAnimationOverrides_.size(); i++) {
        output.writeMessage(45, photobombAnimationOverrides_.get(i));
      }
      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 (modelScale_ != 0F) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(3, modelScale_);
      }
      if (type_ != POGOProtos.Enums.PokemonTypeOuterClass.PokemonType.POKEMON_TYPE_NONE.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(4, type_);
      }
      if (type2_ != POGOProtos.Enums.PokemonTypeOuterClass.PokemonType.POKEMON_TYPE_NONE.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(5, type2_);
      }
      if (camera_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, getCamera());
      }
      if (encounter_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, getEncounter());
      }
      if (stats_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, getStats());
      }
      {
        int dataSize = 0;
        for (int i = 0; i < quickMoves_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeEnumSizeNoTag(quickMoves_.get(i));
        }
        size += dataSize;
        if (!getQuickMovesList().isEmpty()) {  size += 1;
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(dataSize);
        }quickMovesMemoizedSerializedSize = dataSize;
      }
      {
        int dataSize = 0;
        for (int i = 0; i < cinematicMoves_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeEnumSizeNoTag(cinematicMoves_.get(i));
        }
        size += dataSize;
        if (!getCinematicMovesList().isEmpty()) {  size += 1;
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(dataSize);
        }cinematicMovesMemoizedSerializedSize = dataSize;
      }
      {
        int dataSize = 0;
        dataSize = 4 * getAnimationTimeList().size();
        size += dataSize;
        if (!getAnimationTimeList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        animationTimeMemoizedSerializedSize = dataSize;
      }
      {
        int dataSize = 0;
        for (int i = 0; i < evolutionIds_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeEnumSizeNoTag(evolutionIds_.get(i));
        }
        size += dataSize;
        if (!getEvolutionIdsList().isEmpty()) {  size += 1;
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(dataSize);
        }evolutionIdsMemoizedSerializedSize = dataSize;
      }
      if (evolutionPips_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(13, evolutionPips_);
      }
      if (rarity_ != POGOProtos.Enums.PokemonRarityOuterClass.PokemonRarity.POKEMON_RARITY_NORMAL.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(14, rarity_);
      }
      if (pokedexHeightM_ != 0F) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(15, pokedexHeightM_);
      }
      if (pokedexWeightKg_ != 0F) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(16, pokedexWeightKg_);
      }
      if (parentPokemonId_ != POGOProtos.Enums.PokemonIdOuterClass.PokemonId.MISSINGNO.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(17, parentPokemonId_);
      }
      if (heightStdDev_ != 0F) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(18, heightStdDev_);
      }
      if (weightStdDev_ != 0F) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(19, weightStdDev_);
      }
      if (kmDistanceToHatch_ != 0F) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(20, kmDistanceToHatch_);
      }
      if (familyId_ != POGOProtos.Enums.PokemonFamilyIdOuterClass.PokemonFamilyId.FAMILY_UNSET.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(21, familyId_);
      }
      if (candyToEvolve_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(22, candyToEvolve_);
      }
      if (kmBuddyDistance_ != 0F) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(23, kmBuddyDistance_);
      }
      if (buddySize_ != POGOProtos.Enums.BuddySizeOuterClass.BuddySize.BUDDY_MEDIUM.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(24, buddySize_);
      }
      if (modelHeight_ != 0F) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(25, modelHeight_);
      }
      for (int i = 0; i < evolutionBranch_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(26, evolutionBranch_.get(i));
      }
      if (modelScaleV2_ != 0F) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(27, modelScaleV2_);
      }
      if (form_ != POGOProtos.Enums.FormOuterClass.Form.FORM_UNSET.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(28, form_);
      }
      if (eventQuickMove_ != POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove.MOVE_UNSET.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(29, eventQuickMove_);
      }
      if (eventCinematicMove_ != POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove.MOVE_UNSET.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(30, eventCinematicMove_);
      }
      {
        int dataSize = 0;
        dataSize = 4 * getBuddyOffsetMaleList().size();
        size += dataSize;
        if (!getBuddyOffsetMaleList().isEmpty()) {
          size += 2;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        buddyOffsetMaleMemoizedSerializedSize = dataSize;
      }
      {
        int dataSize = 0;
        dataSize = 4 * getBuddyOffsetFemaleList().size();
        size += dataSize;
        if (!getBuddyOffsetFemaleList().isEmpty()) {
          size += 2;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        buddyOffsetFemaleMemoizedSerializedSize = dataSize;
      }
      if (buddyScale_ != 0F) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(33, buddyScale_);
      }
      {
        int dataSize = 0;
        dataSize = 4 * getBuddyPortraitOffsetList().size();
        size += dataSize;
        if (!getBuddyPortraitOffsetList().isEmpty()) {
          size += 2;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        buddyPortraitOffsetMemoizedSerializedSize = dataSize;
      }
      if (parentForm_ != POGOProtos.Enums.FormOuterClass.Form.FORM_UNSET.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(35, parentForm_);
      }
      if (thirdMove_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(36, getThirdMove());
      }
      if (isTransferable_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(37, isTransferable_);
      }
      if (isDeployable_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(38, isDeployable_);
      }
      {
        int dataSize = 0;
        dataSize = 4 * getCombatShoulderCameraAngleList().size();
        size += dataSize;
        if (!getCombatShoulderCameraAngleList().isEmpty()) {
          size += 2;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        combatShoulderCameraAngleMemoizedSerializedSize = dataSize;
      }
      if (isTradable_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(40, isTradable_);
      }
      {
        int dataSize = 0;
        dataSize = 4 * getCombatDefaultCameraAngleList().size();
        size += dataSize;
        if (!getCombatDefaultCameraAngleList().isEmpty()) {
          size += 2;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        combatDefaultCameraAngleMemoizedSerializedSize = dataSize;
      }
      {
        int dataSize = 0;
        dataSize = 4 * getCombatOpponentFocusCameraAngleList().size();
        size += dataSize;
        if (!getCombatOpponentFocusCameraAngleList().isEmpty()) {
          size += 2;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        combatOpponentFocusCameraAngleMemoizedSerializedSize = dataSize;
      }
      {
        int dataSize = 0;
        dataSize = 4 * getCombatPlayerFocusCameraAngleList().size();
        size += dataSize;
        if (!getCombatPlayerFocusCameraAngleList().isEmpty()) {
          size += 2;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        combatPlayerFocusCameraAngleMemoizedSerializedSize = dataSize;
      }
      {
        int dataSize = 0;
        dataSize = 4 * getCombatPlayerPokemonPositionOffsetList().size();
        size += dataSize;
        if (!getCombatPlayerPokemonPositionOffsetList().isEmpty()) {
          size += 2;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        combatPlayerPokemonPositionOffsetMemoizedSerializedSize = dataSize;
      }
      for (int i = 0; i < photobombAnimationOverrides_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(45, photobombAnimationOverrides_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings)) {
        return super.equals(obj);
      }
      POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings other = (POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings) obj;

      boolean result = true;
      result = result && pokemonId_ == other.pokemonId_;
      result = result && (
          java.lang.Float.floatToIntBits(getModelScale())
          == java.lang.Float.floatToIntBits(
              other.getModelScale()));
      result = result && type_ == other.type_;
      result = result && type2_ == other.type2_;
      result = result && (hasCamera() == other.hasCamera());
      if (hasCamera()) {
        result = result && getCamera()
            .equals(other.getCamera());
      }
      result = result && (hasEncounter() == other.hasEncounter());
      if (hasEncounter()) {
        result = result && getEncounter()
            .equals(other.getEncounter());
      }
      result = result && (hasStats() == other.hasStats());
      if (hasStats()) {
        result = result && getStats()
            .equals(other.getStats());
      }
      result = result && quickMoves_.equals(other.quickMoves_);
      result = result && cinematicMoves_.equals(other.cinematicMoves_);
      result = result && getAnimationTimeList()
          .equals(other.getAnimationTimeList());
      result = result && evolutionIds_.equals(other.evolutionIds_);
      result = result && (getEvolutionPips()
          == other.getEvolutionPips());
      result = result && rarity_ == other.rarity_;
      result = result && (
          java.lang.Float.floatToIntBits(getPokedexHeightM())
          == java.lang.Float.floatToIntBits(
              other.getPokedexHeightM()));
      result = result && (
          java.lang.Float.floatToIntBits(getPokedexWeightKg())
          == java.lang.Float.floatToIntBits(
              other.getPokedexWeightKg()));
      result = result && parentPokemonId_ == other.parentPokemonId_;
      result = result && (
          java.lang.Float.floatToIntBits(getHeightStdDev())
          == java.lang.Float.floatToIntBits(
              other.getHeightStdDev()));
      result = result && (
          java.lang.Float.floatToIntBits(getWeightStdDev())
          == java.lang.Float.floatToIntBits(
              other.getWeightStdDev()));
      result = result && (
          java.lang.Float.floatToIntBits(getKmDistanceToHatch())
          == java.lang.Float.floatToIntBits(
              other.getKmDistanceToHatch()));
      result = result && familyId_ == other.familyId_;
      result = result && (getCandyToEvolve()
          == other.getCandyToEvolve());
      result = result && (
          java.lang.Float.floatToIntBits(getKmBuddyDistance())
          == java.lang.Float.floatToIntBits(
              other.getKmBuddyDistance()));
      result = result && buddySize_ == other.buddySize_;
      result = result && (
          java.lang.Float.floatToIntBits(getModelHeight())
          == java.lang.Float.floatToIntBits(
              other.getModelHeight()));
      result = result && getEvolutionBranchList()
          .equals(other.getEvolutionBranchList());
      result = result && (
          java.lang.Float.floatToIntBits(getModelScaleV2())
          == java.lang.Float.floatToIntBits(
              other.getModelScaleV2()));
      result = result && form_ == other.form_;
      result = result && eventQuickMove_ == other.eventQuickMove_;
      result = result && eventCinematicMove_ == other.eventCinematicMove_;
      result = result && getBuddyOffsetMaleList()
          .equals(other.getBuddyOffsetMaleList());
      result = result && getBuddyOffsetFemaleList()
          .equals(other.getBuddyOffsetFemaleList());
      result = result && (
          java.lang.Float.floatToIntBits(getBuddyScale())
          == java.lang.Float.floatToIntBits(
              other.getBuddyScale()));
      result = result && getBuddyPortraitOffsetList()
          .equals(other.getBuddyPortraitOffsetList());
      result = result && parentForm_ == other.parentForm_;
      result = result && (hasThirdMove() == other.hasThirdMove());
      if (hasThirdMove()) {
        result = result && getThirdMove()
            .equals(other.getThirdMove());
      }
      result = result && (getIsTransferable()
          == other.getIsTransferable());
      result = result && (getIsDeployable()
          == other.getIsDeployable());
      result = result && getCombatShoulderCameraAngleList()
          .equals(other.getCombatShoulderCameraAngleList());
      result = result && (getIsTradable()
          == other.getIsTradable());
      result = result && getCombatDefaultCameraAngleList()
          .equals(other.getCombatDefaultCameraAngleList());
      result = result && getCombatOpponentFocusCameraAngleList()
          .equals(other.getCombatOpponentFocusCameraAngleList());
      result = result && getCombatPlayerFocusCameraAngleList()
          .equals(other.getCombatPlayerFocusCameraAngleList());
      result = result && getCombatPlayerPokemonPositionOffsetList()
          .equals(other.getCombatPlayerPokemonPositionOffsetList());
      result = result && getPhotobombAnimationOverridesList()
          .equals(other.getPhotobombAnimationOverridesList());
      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) + MODEL_SCALE_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(
          getModelScale());
      hash = (37 * hash) + TYPE_FIELD_NUMBER;
      hash = (53 * hash) + type_;
      hash = (37 * hash) + TYPE_2_FIELD_NUMBER;
      hash = (53 * hash) + type2_;
      if (hasCamera()) {
        hash = (37 * hash) + CAMERA_FIELD_NUMBER;
        hash = (53 * hash) + getCamera().hashCode();
      }
      if (hasEncounter()) {
        hash = (37 * hash) + ENCOUNTER_FIELD_NUMBER;
        hash = (53 * hash) + getEncounter().hashCode();
      }
      if (hasStats()) {
        hash = (37 * hash) + STATS_FIELD_NUMBER;
        hash = (53 * hash) + getStats().hashCode();
      }
      if (getQuickMovesCount() > 0) {
        hash = (37 * hash) + QUICK_MOVES_FIELD_NUMBER;
        hash = (53 * hash) + quickMoves_.hashCode();
      }
      if (getCinematicMovesCount() > 0) {
        hash = (37 * hash) + CINEMATIC_MOVES_FIELD_NUMBER;
        hash = (53 * hash) + cinematicMoves_.hashCode();
      }
      if (getAnimationTimeCount() > 0) {
        hash = (37 * hash) + ANIMATION_TIME_FIELD_NUMBER;
        hash = (53 * hash) + getAnimationTimeList().hashCode();
      }
      if (getEvolutionIdsCount() > 0) {
        hash = (37 * hash) + EVOLUTION_IDS_FIELD_NUMBER;
        hash = (53 * hash) + evolutionIds_.hashCode();
      }
      hash = (37 * hash) + EVOLUTION_PIPS_FIELD_NUMBER;
      hash = (53 * hash) + getEvolutionPips();
      hash = (37 * hash) + RARITY_FIELD_NUMBER;
      hash = (53 * hash) + rarity_;
      hash = (37 * hash) + POKEDEX_HEIGHT_M_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(
          getPokedexHeightM());
      hash = (37 * hash) + POKEDEX_WEIGHT_KG_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(
          getPokedexWeightKg());
      hash = (37 * hash) + PARENT_POKEMON_ID_FIELD_NUMBER;
      hash = (53 * hash) + parentPokemonId_;
      hash = (37 * hash) + HEIGHT_STD_DEV_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(
          getHeightStdDev());
      hash = (37 * hash) + WEIGHT_STD_DEV_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(
          getWeightStdDev());
      hash = (37 * hash) + KM_DISTANCE_TO_HATCH_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(
          getKmDistanceToHatch());
      hash = (37 * hash) + FAMILY_ID_FIELD_NUMBER;
      hash = (53 * hash) + familyId_;
      hash = (37 * hash) + CANDY_TO_EVOLVE_FIELD_NUMBER;
      hash = (53 * hash) + getCandyToEvolve();
      hash = (37 * hash) + KM_BUDDY_DISTANCE_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(
          getKmBuddyDistance());
      hash = (37 * hash) + BUDDY_SIZE_FIELD_NUMBER;
      hash = (53 * hash) + buddySize_;
      hash = (37 * hash) + MODEL_HEIGHT_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(
          getModelHeight());
      if (getEvolutionBranchCount() > 0) {
        hash = (37 * hash) + EVOLUTION_BRANCH_FIELD_NUMBER;
        hash = (53 * hash) + getEvolutionBranchList().hashCode();
      }
      hash = (37 * hash) + MODEL_SCALE_V2_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(
          getModelScaleV2());
      hash = (37 * hash) + FORM_FIELD_NUMBER;
      hash = (53 * hash) + form_;
      hash = (37 * hash) + EVENT_QUICK_MOVE_FIELD_NUMBER;
      hash = (53 * hash) + eventQuickMove_;
      hash = (37 * hash) + EVENT_CINEMATIC_MOVE_FIELD_NUMBER;
      hash = (53 * hash) + eventCinematicMove_;
      if (getBuddyOffsetMaleCount() > 0) {
        hash = (37 * hash) + BUDDY_OFFSET_MALE_FIELD_NUMBER;
        hash = (53 * hash) + getBuddyOffsetMaleList().hashCode();
      }
      if (getBuddyOffsetFemaleCount() > 0) {
        hash = (37 * hash) + BUDDY_OFFSET_FEMALE_FIELD_NUMBER;
        hash = (53 * hash) + getBuddyOffsetFemaleList().hashCode();
      }
      hash = (37 * hash) + BUDDY_SCALE_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(
          getBuddyScale());
      if (getBuddyPortraitOffsetCount() > 0) {
        hash = (37 * hash) + BUDDY_PORTRAIT_OFFSET_FIELD_NUMBER;
        hash = (53 * hash) + getBuddyPortraitOffsetList().hashCode();
      }
      hash = (37 * hash) + PARENT_FORM_FIELD_NUMBER;
      hash = (53 * hash) + parentForm_;
      if (hasThirdMove()) {
        hash = (37 * hash) + THIRD_MOVE_FIELD_NUMBER;
        hash = (53 * hash) + getThirdMove().hashCode();
      }
      hash = (37 * hash) + IS_TRANSFERABLE_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getIsTransferable());
      hash = (37 * hash) + IS_DEPLOYABLE_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getIsDeployable());
      if (getCombatShoulderCameraAngleCount() > 0) {
        hash = (37 * hash) + COMBAT_SHOULDER_CAMERA_ANGLE_FIELD_NUMBER;
        hash = (53 * hash) + getCombatShoulderCameraAngleList().hashCode();
      }
      hash = (37 * hash) + IS_TRADABLE_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getIsTradable());
      if (getCombatDefaultCameraAngleCount() > 0) {
        hash = (37 * hash) + COMBAT_DEFAULT_CAMERA_ANGLE_FIELD_NUMBER;
        hash = (53 * hash) + getCombatDefaultCameraAngleList().hashCode();
      }
      if (getCombatOpponentFocusCameraAngleCount() > 0) {
        hash = (37 * hash) + COMBAT_OPPONENT_FOCUS_CAMERA_ANGLE_FIELD_NUMBER;
        hash = (53 * hash) + getCombatOpponentFocusCameraAngleList().hashCode();
      }
      if (getCombatPlayerFocusCameraAngleCount() > 0) {
        hash = (37 * hash) + COMBAT_PLAYER_FOCUS_CAMERA_ANGLE_FIELD_NUMBER;
        hash = (53 * hash) + getCombatPlayerFocusCameraAngleList().hashCode();
      }
      if (getCombatPlayerPokemonPositionOffsetCount() > 0) {
        hash = (37 * hash) + COMBAT_PLAYER_POKEMON_POSITION_OFFSET_FIELD_NUMBER;
        hash = (53 * hash) + getCombatPlayerPokemonPositionOffsetList().hashCode();
      }
      if (getPhotobombAnimationOverridesCount() > 0) {
        hash = (37 * hash) + PHOTOBOMB_ANIMATION_OVERRIDES_FIELD_NUMBER;
        hash = (53 * hash) + getPhotobombAnimationOverridesList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return POGOProtos.Settings.Master.PokemonSettingsOuterClass.internal_static_POGOProtos_Settings_Master_PokemonSettings_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.class, POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.Builder.class);
      }

      // Construct using POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        modelScale_ = 0F;

        type_ = 0;

        type2_ = 0;

        if (cameraBuilder_ == null) {
          camera_ = null;
        } else {
          camera_ = null;
          cameraBuilder_ = null;
        }
        if (encounterBuilder_ == null) {
          encounter_ = null;
        } else {
          encounter_ = null;
          encounterBuilder_ = null;
        }
        if (statsBuilder_ == null) {
          stats_ = null;
        } else {
          stats_ = null;
          statsBuilder_ = null;
        }
        quickMoves_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000080);
        cinematicMoves_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000100);
        animationTime_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000200);
        evolutionIds_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000400);
        evolutionPips_ = 0;

        rarity_ = 0;

        pokedexHeightM_ = 0F;

        pokedexWeightKg_ = 0F;

        parentPokemonId_ = 0;

        heightStdDev_ = 0F;

        weightStdDev_ = 0F;

        kmDistanceToHatch_ = 0F;

        familyId_ = 0;

        candyToEvolve_ = 0;

        kmBuddyDistance_ = 0F;

        buddySize_ = 0;

        modelHeight_ = 0F;

        if (evolutionBranchBuilder_ == null) {
          evolutionBranch_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x01000000);
        } else {
          evolutionBranchBuilder_.clear();
        }
        modelScaleV2_ = 0F;

        form_ = 0;

        eventQuickMove_ = 0;

        eventCinematicMove_ = 0;

        buddyOffsetMale_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x20000000);
        buddyOffsetFemale_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x40000000);
        buddyScale_ = 0F;

        buddyPortraitOffset_ = java.util.Collections.emptyList();
        bitField1_ = (bitField1_ & ~0x00000001);
        parentForm_ = 0;

        if (thirdMoveBuilder_ == null) {
          thirdMove_ = null;
        } else {
          thirdMove_ = null;
          thirdMoveBuilder_ = null;
        }
        isTransferable_ = false;

        isDeployable_ = false;

        combatShoulderCameraAngle_ = java.util.Collections.emptyList();
        bitField1_ = (bitField1_ & ~0x00000020);
        isTradable_ = false;

        combatDefaultCameraAngle_ = java.util.Collections.emptyList();
        bitField1_ = (bitField1_ & ~0x00000080);
        combatOpponentFocusCameraAngle_ = java.util.Collections.emptyList();
        bitField1_ = (bitField1_ & ~0x00000100);
        combatPlayerFocusCameraAngle_ = java.util.Collections.emptyList();
        bitField1_ = (bitField1_ & ~0x00000200);
        combatPlayerPokemonPositionOffset_ = java.util.Collections.emptyList();
        bitField1_ = (bitField1_ & ~0x00000400);
        if (photobombAnimationOverridesBuilder_ == null) {
          photobombAnimationOverrides_ = java.util.Collections.emptyList();
          bitField1_ = (bitField1_ & ~0x00000800);
        } else {
          photobombAnimationOverridesBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return POGOProtos.Settings.Master.PokemonSettingsOuterClass.internal_static_POGOProtos_Settings_Master_PokemonSettings_descriptor;
      }

      @java.lang.Override
      public POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings getDefaultInstanceForType() {
        return POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.getDefaultInstance();
      }

      @java.lang.Override
      public POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings build() {
        POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings buildPartial() {
        POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings result = new POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings(this);
        int from_bitField0_ = bitField0_;
        int from_bitField1_ = bitField1_;
        int to_bitField0_ = 0;
        result.pokemonId_ = pokemonId_;
        result.modelScale_ = modelScale_;
        result.type_ = type_;
        result.type2_ = type2_;
        if (cameraBuilder_ == null) {
          result.camera_ = camera_;
        } else {
          result.camera_ = cameraBuilder_.build();
        }
        if (encounterBuilder_ == null) {
          result.encounter_ = encounter_;
        } else {
          result.encounter_ = encounterBuilder_.build();
        }
        if (statsBuilder_ == null) {
          result.stats_ = stats_;
        } else {
          result.stats_ = statsBuilder_.build();
        }
        if (((bitField0_ & 0x00000080) == 0x00000080)) {
          quickMoves_ = java.util.Collections.unmodifiableList(quickMoves_);
          bitField0_ = (bitField0_ & ~0x00000080);
        }
        result.quickMoves_ = quickMoves_;
        if (((bitField0_ & 0x00000100) == 0x00000100)) {
          cinematicMoves_ = java.util.Collections.unmodifiableList(cinematicMoves_);
          bitField0_ = (bitField0_ & ~0x00000100);
        }
        result.cinematicMoves_ = cinematicMoves_;
        if (((bitField0_ & 0x00000200) == 0x00000200)) {
          animationTime_ = java.util.Collections.unmodifiableList(animationTime_);
          bitField0_ = (bitField0_ & ~0x00000200);
        }
        result.animationTime_ = animationTime_;
        if (((bitField0_ & 0x00000400) == 0x00000400)) {
          evolutionIds_ = java.util.Collections.unmodifiableList(evolutionIds_);
          bitField0_ = (bitField0_ & ~0x00000400);
        }
        result.evolutionIds_ = evolutionIds_;
        result.evolutionPips_ = evolutionPips_;
        result.rarity_ = rarity_;
        result.pokedexHeightM_ = pokedexHeightM_;
        result.pokedexWeightKg_ = pokedexWeightKg_;
        result.parentPokemonId_ = parentPokemonId_;
        result.heightStdDev_ = heightStdDev_;
        result.weightStdDev_ = weightStdDev_;
        result.kmDistanceToHatch_ = kmDistanceToHatch_;
        result.familyId_ = familyId_;
        result.candyToEvolve_ = candyToEvolve_;
        result.kmBuddyDistance_ = kmBuddyDistance_;
        result.buddySize_ = buddySize_;
        result.modelHeight_ = modelHeight_;
        if (evolutionBranchBuilder_ == null) {
          if (((bitField0_ & 0x01000000) == 0x01000000)) {
            evolutionBranch_ = java.util.Collections.unmodifiableList(evolutionBranch_);
            bitField0_ = (bitField0_ & ~0x01000000);
          }
          result.evolutionBranch_ = evolutionBranch_;
        } else {
          result.evolutionBranch_ = evolutionBranchBuilder_.build();
        }
        result.modelScaleV2_ = modelScaleV2_;
        result.form_ = form_;
        result.eventQuickMove_ = eventQuickMove_;
        result.eventCinematicMove_ = eventCinematicMove_;
        if (((bitField0_ & 0x20000000) == 0x20000000)) {
          buddyOffsetMale_ = java.util.Collections.unmodifiableList(buddyOffsetMale_);
          bitField0_ = (bitField0_ & ~0x20000000);
        }
        result.buddyOffsetMale_ = buddyOffsetMale_;
        if (((bitField0_ & 0x40000000) == 0x40000000)) {
          buddyOffsetFemale_ = java.util.Collections.unmodifiableList(buddyOffsetFemale_);
          bitField0_ = (bitField0_ & ~0x40000000);
        }
        result.buddyOffsetFemale_ = buddyOffsetFemale_;
        result.buddyScale_ = buddyScale_;
        if (((bitField1_ & 0x00000001) == 0x00000001)) {
          buddyPortraitOffset_ = java.util.Collections.unmodifiableList(buddyPortraitOffset_);
          bitField1_ = (bitField1_ & ~0x00000001);
        }
        result.buddyPortraitOffset_ = buddyPortraitOffset_;
        result.parentForm_ = parentForm_;
        if (thirdMoveBuilder_ == null) {
          result.thirdMove_ = thirdMove_;
        } else {
          result.thirdMove_ = thirdMoveBuilder_.build();
        }
        result.isTransferable_ = isTransferable_;
        result.isDeployable_ = isDeployable_;
        if (((bitField1_ & 0x00000020) == 0x00000020)) {
          combatShoulderCameraAngle_ = java.util.Collections.unmodifiableList(combatShoulderCameraAngle_);
          bitField1_ = (bitField1_ & ~0x00000020);
        }
        result.combatShoulderCameraAngle_ = combatShoulderCameraAngle_;
        result.isTradable_ = isTradable_;
        if (((bitField1_ & 0x00000080) == 0x00000080)) {
          combatDefaultCameraAngle_ = java.util.Collections.unmodifiableList(combatDefaultCameraAngle_);
          bitField1_ = (bitField1_ & ~0x00000080);
        }
        result.combatDefaultCameraAngle_ = combatDefaultCameraAngle_;
        if (((bitField1_ & 0x00000100) == 0x00000100)) {
          combatOpponentFocusCameraAngle_ = java.util.Collections.unmodifiableList(combatOpponentFocusCameraAngle_);
          bitField1_ = (bitField1_ & ~0x00000100);
        }
        result.combatOpponentFocusCameraAngle_ = combatOpponentFocusCameraAngle_;
        if (((bitField1_ & 0x00000200) == 0x00000200)) {
          combatPlayerFocusCameraAngle_ = java.util.Collections.unmodifiableList(combatPlayerFocusCameraAngle_);
          bitField1_ = (bitField1_ & ~0x00000200);
        }
        result.combatPlayerFocusCameraAngle_ = combatPlayerFocusCameraAngle_;
        if (((bitField1_ & 0x00000400) == 0x00000400)) {
          combatPlayerPokemonPositionOffset_ = java.util.Collections.unmodifiableList(combatPlayerPokemonPositionOffset_);
          bitField1_ = (bitField1_ & ~0x00000400);
        }
        result.combatPlayerPokemonPositionOffset_ = combatPlayerPokemonPositionOffset_;
        if (photobombAnimationOverridesBuilder_ == null) {
          if (((bitField1_ & 0x00000800) == 0x00000800)) {
            photobombAnimationOverrides_ = java.util.Collections.unmodifiableList(photobombAnimationOverrides_);
            bitField1_ = (bitField1_ & ~0x00000800);
          }
          result.photobombAnimationOverrides_ = photobombAnimationOverrides_;
        } else {
          result.photobombAnimationOverrides_ = photobombAnimationOverridesBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        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.Settings.Master.PokemonSettingsOuterClass.PokemonSettings) {
          return mergeFrom((POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings other) {
        if (other == POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.getDefaultInstance()) return this;
        if (other.pokemonId_ != 0) {
          setPokemonIdValue(other.getPokemonIdValue());
        }
        if (other.getModelScale() != 0F) {
          setModelScale(other.getModelScale());
        }
        if (other.type_ != 0) {
          setTypeValue(other.getTypeValue());
        }
        if (other.type2_ != 0) {
          setType2Value(other.getType2Value());
        }
        if (other.hasCamera()) {
          mergeCamera(other.getCamera());
        }
        if (other.hasEncounter()) {
          mergeEncounter(other.getEncounter());
        }
        if (other.hasStats()) {
          mergeStats(other.getStats());
        }
        if (!other.quickMoves_.isEmpty()) {
          if (quickMoves_.isEmpty()) {
            quickMoves_ = other.quickMoves_;
            bitField0_ = (bitField0_ & ~0x00000080);
          } else {
            ensureQuickMovesIsMutable();
            quickMoves_.addAll(other.quickMoves_);
          }
          onChanged();
        }
        if (!other.cinematicMoves_.isEmpty()) {
          if (cinematicMoves_.isEmpty()) {
            cinematicMoves_ = other.cinematicMoves_;
            bitField0_ = (bitField0_ & ~0x00000100);
          } else {
            ensureCinematicMovesIsMutable();
            cinematicMoves_.addAll(other.cinematicMoves_);
          }
          onChanged();
        }
        if (!other.animationTime_.isEmpty()) {
          if (animationTime_.isEmpty()) {
            animationTime_ = other.animationTime_;
            bitField0_ = (bitField0_ & ~0x00000200);
          } else {
            ensureAnimationTimeIsMutable();
            animationTime_.addAll(other.animationTime_);
          }
          onChanged();
        }
        if (!other.evolutionIds_.isEmpty()) {
          if (evolutionIds_.isEmpty()) {
            evolutionIds_ = other.evolutionIds_;
            bitField0_ = (bitField0_ & ~0x00000400);
          } else {
            ensureEvolutionIdsIsMutable();
            evolutionIds_.addAll(other.evolutionIds_);
          }
          onChanged();
        }
        if (other.getEvolutionPips() != 0) {
          setEvolutionPips(other.getEvolutionPips());
        }
        if (other.rarity_ != 0) {
          setRarityValue(other.getRarityValue());
        }
        if (other.getPokedexHeightM() != 0F) {
          setPokedexHeightM(other.getPokedexHeightM());
        }
        if (other.getPokedexWeightKg() != 0F) {
          setPokedexWeightKg(other.getPokedexWeightKg());
        }
        if (other.parentPokemonId_ != 0) {
          setParentPokemonIdValue(other.getParentPokemonIdValue());
        }
        if (other.getHeightStdDev() != 0F) {
          setHeightStdDev(other.getHeightStdDev());
        }
        if (other.getWeightStdDev() != 0F) {
          setWeightStdDev(other.getWeightStdDev());
        }
        if (other.getKmDistanceToHatch() != 0F) {
          setKmDistanceToHatch(other.getKmDistanceToHatch());
        }
        if (other.familyId_ != 0) {
          setFamilyIdValue(other.getFamilyIdValue());
        }
        if (other.getCandyToEvolve() != 0) {
          setCandyToEvolve(other.getCandyToEvolve());
        }
        if (other.getKmBuddyDistance() != 0F) {
          setKmBuddyDistance(other.getKmBuddyDistance());
        }
        if (other.buddySize_ != 0) {
          setBuddySizeValue(other.getBuddySizeValue());
        }
        if (other.getModelHeight() != 0F) {
          setModelHeight(other.getModelHeight());
        }
        if (evolutionBranchBuilder_ == null) {
          if (!other.evolutionBranch_.isEmpty()) {
            if (evolutionBranch_.isEmpty()) {
              evolutionBranch_ = other.evolutionBranch_;
              bitField0_ = (bitField0_ & ~0x01000000);
            } else {
              ensureEvolutionBranchIsMutable();
              evolutionBranch_.addAll(other.evolutionBranch_);
            }
            onChanged();
          }
        } else {
          if (!other.evolutionBranch_.isEmpty()) {
            if (evolutionBranchBuilder_.isEmpty()) {
              evolutionBranchBuilder_.dispose();
              evolutionBranchBuilder_ = null;
              evolutionBranch_ = other.evolutionBranch_;
              bitField0_ = (bitField0_ & ~0x01000000);
              evolutionBranchBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getEvolutionBranchFieldBuilder() : null;
            } else {
              evolutionBranchBuilder_.addAllMessages(other.evolutionBranch_);
            }
          }
        }
        if (other.getModelScaleV2() != 0F) {
          setModelScaleV2(other.getModelScaleV2());
        }
        if (other.form_ != 0) {
          setFormValue(other.getFormValue());
        }
        if (other.eventQuickMove_ != 0) {
          setEventQuickMoveValue(other.getEventQuickMoveValue());
        }
        if (other.eventCinematicMove_ != 0) {
          setEventCinematicMoveValue(other.getEventCinematicMoveValue());
        }
        if (!other.buddyOffsetMale_.isEmpty()) {
          if (buddyOffsetMale_.isEmpty()) {
            buddyOffsetMale_ = other.buddyOffsetMale_;
            bitField0_ = (bitField0_ & ~0x20000000);
          } else {
            ensureBuddyOffsetMaleIsMutable();
            buddyOffsetMale_.addAll(other.buddyOffsetMale_);
          }
          onChanged();
        }
        if (!other.buddyOffsetFemale_.isEmpty()) {
          if (buddyOffsetFemale_.isEmpty()) {
            buddyOffsetFemale_ = other.buddyOffsetFemale_;
            bitField0_ = (bitField0_ & ~0x40000000);
          } else {
            ensureBuddyOffsetFemaleIsMutable();
            buddyOffsetFemale_.addAll(other.buddyOffsetFemale_);
          }
          onChanged();
        }
        if (other.getBuddyScale() != 0F) {
          setBuddyScale(other.getBuddyScale());
        }
        if (!other.buddyPortraitOffset_.isEmpty()) {
          if (buddyPortraitOffset_.isEmpty()) {
            buddyPortraitOffset_ = other.buddyPortraitOffset_;
            bitField1_ = (bitField1_ & ~0x00000001);
          } else {
            ensureBuddyPortraitOffsetIsMutable();
            buddyPortraitOffset_.addAll(other.buddyPortraitOffset_);
          }
          onChanged();
        }
        if (other.parentForm_ != 0) {
          setParentFormValue(other.getParentFormValue());
        }
        if (other.hasThirdMove()) {
          mergeThirdMove(other.getThirdMove());
        }
        if (other.getIsTransferable() != false) {
          setIsTransferable(other.getIsTransferable());
        }
        if (other.getIsDeployable() != false) {
          setIsDeployable(other.getIsDeployable());
        }
        if (!other.combatShoulderCameraAngle_.isEmpty()) {
          if (combatShoulderCameraAngle_.isEmpty()) {
            combatShoulderCameraAngle_ = other.combatShoulderCameraAngle_;
            bitField1_ = (bitField1_ & ~0x00000020);
          } else {
            ensureCombatShoulderCameraAngleIsMutable();
            combatShoulderCameraAngle_.addAll(other.combatShoulderCameraAngle_);
          }
          onChanged();
        }
        if (other.getIsTradable() != false) {
          setIsTradable(other.getIsTradable());
        }
        if (!other.combatDefaultCameraAngle_.isEmpty()) {
          if (combatDefaultCameraAngle_.isEmpty()) {
            combatDefaultCameraAngle_ = other.combatDefaultCameraAngle_;
            bitField1_ = (bitField1_ & ~0x00000080);
          } else {
            ensureCombatDefaultCameraAngleIsMutable();
            combatDefaultCameraAngle_.addAll(other.combatDefaultCameraAngle_);
          }
          onChanged();
        }
        if (!other.combatOpponentFocusCameraAngle_.isEmpty()) {
          if (combatOpponentFocusCameraAngle_.isEmpty()) {
            combatOpponentFocusCameraAngle_ = other.combatOpponentFocusCameraAngle_;
            bitField1_ = (bitField1_ & ~0x00000100);
          } else {
            ensureCombatOpponentFocusCameraAngleIsMutable();
            combatOpponentFocusCameraAngle_.addAll(other.combatOpponentFocusCameraAngle_);
          }
          onChanged();
        }
        if (!other.combatPlayerFocusCameraAngle_.isEmpty()) {
          if (combatPlayerFocusCameraAngle_.isEmpty()) {
            combatPlayerFocusCameraAngle_ = other.combatPlayerFocusCameraAngle_;
            bitField1_ = (bitField1_ & ~0x00000200);
          } else {
            ensureCombatPlayerFocusCameraAngleIsMutable();
            combatPlayerFocusCameraAngle_.addAll(other.combatPlayerFocusCameraAngle_);
          }
          onChanged();
        }
        if (!other.combatPlayerPokemonPositionOffset_.isEmpty()) {
          if (combatPlayerPokemonPositionOffset_.isEmpty()) {
            combatPlayerPokemonPositionOffset_ = other.combatPlayerPokemonPositionOffset_;
            bitField1_ = (bitField1_ & ~0x00000400);
          } else {
            ensureCombatPlayerPokemonPositionOffsetIsMutable();
            combatPlayerPokemonPositionOffset_.addAll(other.combatPlayerPokemonPositionOffset_);
          }
          onChanged();
        }
        if (photobombAnimationOverridesBuilder_ == null) {
          if (!other.photobombAnimationOverrides_.isEmpty()) {
            if (photobombAnimationOverrides_.isEmpty()) {
              photobombAnimationOverrides_ = other.photobombAnimationOverrides_;
              bitField1_ = (bitField1_ & ~0x00000800);
            } else {
              ensurePhotobombAnimationOverridesIsMutable();
              photobombAnimationOverrides_.addAll(other.photobombAnimationOverrides_);
            }
            onChanged();
          }
        } else {
          if (!other.photobombAnimationOverrides_.isEmpty()) {
            if (photobombAnimationOverridesBuilder_.isEmpty()) {
              photobombAnimationOverridesBuilder_.dispose();
              photobombAnimationOverridesBuilder_ = null;
              photobombAnimationOverrides_ = other.photobombAnimationOverrides_;
              bitField1_ = (bitField1_ & ~0x00000800);
              photobombAnimationOverridesBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getPhotobombAnimationOverridesFieldBuilder() : null;
            } else {
              photobombAnimationOverridesBuilder_.addAllMessages(other.photobombAnimationOverrides_);
            }
          }
        }
        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.Settings.Master.PokemonSettingsOuterClass.PokemonSettings parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      private int bitField1_;

      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 float modelScale_ ;
      /**
       * float model_scale = 3;
       */
      public float getModelScale() {
        return modelScale_;
      }
      /**
       * float model_scale = 3;
       */
      public Builder setModelScale(float value) {
        
        modelScale_ = value;
        onChanged();
        return this;
      }
      /**
       * float model_scale = 3;
       */
      public Builder clearModelScale() {
        
        modelScale_ = 0F;
        onChanged();
        return this;
      }

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

      private int type2_ = 0;
      /**
       * .POGOProtos.Enums.PokemonType type_2 = 5;
       */
      public int getType2Value() {
        return type2_;
      }
      /**
       * .POGOProtos.Enums.PokemonType type_2 = 5;
       */
      public Builder setType2Value(int value) {
        type2_ = value;
        onChanged();
        return this;
      }
      /**
       * .POGOProtos.Enums.PokemonType type_2 = 5;
       */
      public POGOProtos.Enums.PokemonTypeOuterClass.PokemonType getType2() {
        @SuppressWarnings("deprecation")
        POGOProtos.Enums.PokemonTypeOuterClass.PokemonType result = POGOProtos.Enums.PokemonTypeOuterClass.PokemonType.valueOf(type2_);
        return result == null ? POGOProtos.Enums.PokemonTypeOuterClass.PokemonType.UNRECOGNIZED : result;
      }
      /**
       * .POGOProtos.Enums.PokemonType type_2 = 5;
       */
      public Builder setType2(POGOProtos.Enums.PokemonTypeOuterClass.PokemonType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        type2_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * .POGOProtos.Enums.PokemonType type_2 = 5;
       */
      public Builder clearType2() {
        
        type2_ = 0;
        onChanged();
        return this;
      }

      private POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributes camera_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributes, POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributes.Builder, POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributesOrBuilder> cameraBuilder_;
      /**
       * .POGOProtos.Settings.Master.Pokemon.CameraAttributes camera = 6;
       */
      public boolean hasCamera() {
        return cameraBuilder_ != null || camera_ != null;
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.CameraAttributes camera = 6;
       */
      public POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributes getCamera() {
        if (cameraBuilder_ == null) {
          return camera_ == null ? POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributes.getDefaultInstance() : camera_;
        } else {
          return cameraBuilder_.getMessage();
        }
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.CameraAttributes camera = 6;
       */
      public Builder setCamera(POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributes value) {
        if (cameraBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          camera_ = value;
          onChanged();
        } else {
          cameraBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.CameraAttributes camera = 6;
       */
      public Builder setCamera(
          POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributes.Builder builderForValue) {
        if (cameraBuilder_ == null) {
          camera_ = builderForValue.build();
          onChanged();
        } else {
          cameraBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.CameraAttributes camera = 6;
       */
      public Builder mergeCamera(POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributes value) {
        if (cameraBuilder_ == null) {
          if (camera_ != null) {
            camera_ =
              POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributes.newBuilder(camera_).mergeFrom(value).buildPartial();
          } else {
            camera_ = value;
          }
          onChanged();
        } else {
          cameraBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.CameraAttributes camera = 6;
       */
      public Builder clearCamera() {
        if (cameraBuilder_ == null) {
          camera_ = null;
          onChanged();
        } else {
          camera_ = null;
          cameraBuilder_ = null;
        }

        return this;
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.CameraAttributes camera = 6;
       */
      public POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributes.Builder getCameraBuilder() {
        
        onChanged();
        return getCameraFieldBuilder().getBuilder();
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.CameraAttributes camera = 6;
       */
      public POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributesOrBuilder getCameraOrBuilder() {
        if (cameraBuilder_ != null) {
          return cameraBuilder_.getMessageOrBuilder();
        } else {
          return camera_ == null ?
              POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributes.getDefaultInstance() : camera_;
        }
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.CameraAttributes camera = 6;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributes, POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributes.Builder, POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributesOrBuilder> 
          getCameraFieldBuilder() {
        if (cameraBuilder_ == null) {
          cameraBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributes, POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributes.Builder, POGOProtos.Settings.Master.Pokemon.CameraAttributesOuterClass.CameraAttributesOrBuilder>(
                  getCamera(),
                  getParentForChildren(),
                  isClean());
          camera_ = null;
        }
        return cameraBuilder_;
      }

      private POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributes encounter_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributes, POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributes.Builder, POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributesOrBuilder> encounterBuilder_;
      /**
       * .POGOProtos.Settings.Master.Pokemon.EncounterAttributes encounter = 7;
       */
      public boolean hasEncounter() {
        return encounterBuilder_ != null || encounter_ != null;
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.EncounterAttributes encounter = 7;
       */
      public POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributes getEncounter() {
        if (encounterBuilder_ == null) {
          return encounter_ == null ? POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributes.getDefaultInstance() : encounter_;
        } else {
          return encounterBuilder_.getMessage();
        }
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.EncounterAttributes encounter = 7;
       */
      public Builder setEncounter(POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributes value) {
        if (encounterBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          encounter_ = value;
          onChanged();
        } else {
          encounterBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.EncounterAttributes encounter = 7;
       */
      public Builder setEncounter(
          POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributes.Builder builderForValue) {
        if (encounterBuilder_ == null) {
          encounter_ = builderForValue.build();
          onChanged();
        } else {
          encounterBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.EncounterAttributes encounter = 7;
       */
      public Builder mergeEncounter(POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributes value) {
        if (encounterBuilder_ == null) {
          if (encounter_ != null) {
            encounter_ =
              POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributes.newBuilder(encounter_).mergeFrom(value).buildPartial();
          } else {
            encounter_ = value;
          }
          onChanged();
        } else {
          encounterBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.EncounterAttributes encounter = 7;
       */
      public Builder clearEncounter() {
        if (encounterBuilder_ == null) {
          encounter_ = null;
          onChanged();
        } else {
          encounter_ = null;
          encounterBuilder_ = null;
        }

        return this;
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.EncounterAttributes encounter = 7;
       */
      public POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributes.Builder getEncounterBuilder() {
        
        onChanged();
        return getEncounterFieldBuilder().getBuilder();
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.EncounterAttributes encounter = 7;
       */
      public POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributesOrBuilder getEncounterOrBuilder() {
        if (encounterBuilder_ != null) {
          return encounterBuilder_.getMessageOrBuilder();
        } else {
          return encounter_ == null ?
              POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributes.getDefaultInstance() : encounter_;
        }
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.EncounterAttributes encounter = 7;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributes, POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributes.Builder, POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributesOrBuilder> 
          getEncounterFieldBuilder() {
        if (encounterBuilder_ == null) {
          encounterBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributes, POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributes.Builder, POGOProtos.Settings.Master.Pokemon.EncounterAttributesOuterClass.EncounterAttributesOrBuilder>(
                  getEncounter(),
                  getParentForChildren(),
                  isClean());
          encounter_ = null;
        }
        return encounterBuilder_;
      }

      private POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributes stats_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributes, POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributes.Builder, POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributesOrBuilder> statsBuilder_;
      /**
       * .POGOProtos.Settings.Master.Pokemon.StatsAttributes stats = 8;
       */
      public boolean hasStats() {
        return statsBuilder_ != null || stats_ != null;
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.StatsAttributes stats = 8;
       */
      public POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributes getStats() {
        if (statsBuilder_ == null) {
          return stats_ == null ? POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributes.getDefaultInstance() : stats_;
        } else {
          return statsBuilder_.getMessage();
        }
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.StatsAttributes stats = 8;
       */
      public Builder setStats(POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributes value) {
        if (statsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          stats_ = value;
          onChanged();
        } else {
          statsBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.StatsAttributes stats = 8;
       */
      public Builder setStats(
          POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributes.Builder builderForValue) {
        if (statsBuilder_ == null) {
          stats_ = builderForValue.build();
          onChanged();
        } else {
          statsBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.StatsAttributes stats = 8;
       */
      public Builder mergeStats(POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributes value) {
        if (statsBuilder_ == null) {
          if (stats_ != null) {
            stats_ =
              POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributes.newBuilder(stats_).mergeFrom(value).buildPartial();
          } else {
            stats_ = value;
          }
          onChanged();
        } else {
          statsBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.StatsAttributes stats = 8;
       */
      public Builder clearStats() {
        if (statsBuilder_ == null) {
          stats_ = null;
          onChanged();
        } else {
          stats_ = null;
          statsBuilder_ = null;
        }

        return this;
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.StatsAttributes stats = 8;
       */
      public POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributes.Builder getStatsBuilder() {
        
        onChanged();
        return getStatsFieldBuilder().getBuilder();
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.StatsAttributes stats = 8;
       */
      public POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributesOrBuilder getStatsOrBuilder() {
        if (statsBuilder_ != null) {
          return statsBuilder_.getMessageOrBuilder();
        } else {
          return stats_ == null ?
              POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributes.getDefaultInstance() : stats_;
        }
      }
      /**
       * .POGOProtos.Settings.Master.Pokemon.StatsAttributes stats = 8;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributes, POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributes.Builder, POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributesOrBuilder> 
          getStatsFieldBuilder() {
        if (statsBuilder_ == null) {
          statsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributes, POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributes.Builder, POGOProtos.Settings.Master.Pokemon.StatsAttributesOuterClass.StatsAttributesOrBuilder>(
                  getStats(),
                  getParentForChildren(),
                  isClean());
          stats_ = null;
        }
        return statsBuilder_;
      }

      private java.util.List quickMoves_ =
        java.util.Collections.emptyList();
      private void ensureQuickMovesIsMutable() {
        if (!((bitField0_ & 0x00000080) == 0x00000080)) {
          quickMoves_ = new java.util.ArrayList(quickMoves_);
          bitField0_ |= 0x00000080;
        }
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove quick_moves = 9;
       */
      public java.util.List getQuickMovesList() {
        return new com.google.protobuf.Internal.ListAdapter<
            java.lang.Integer, POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove>(quickMoves_, quickMoves_converter_);
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove quick_moves = 9;
       */
      public int getQuickMovesCount() {
        return quickMoves_.size();
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove quick_moves = 9;
       */
      public POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove getQuickMoves(int index) {
        return quickMoves_converter_.convert(quickMoves_.get(index));
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove quick_moves = 9;
       */
      public Builder setQuickMoves(
          int index, POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureQuickMovesIsMutable();
        quickMoves_.set(index, value.getNumber());
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove quick_moves = 9;
       */
      public Builder addQuickMoves(POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureQuickMovesIsMutable();
        quickMoves_.add(value.getNumber());
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove quick_moves = 9;
       */
      public Builder addAllQuickMoves(
          java.lang.Iterable values) {
        ensureQuickMovesIsMutable();
        for (POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove value : values) {
          quickMoves_.add(value.getNumber());
        }
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove quick_moves = 9;
       */
      public Builder clearQuickMoves() {
        quickMoves_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000080);
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove quick_moves = 9;
       */
      public java.util.List
      getQuickMovesValueList() {
        return java.util.Collections.unmodifiableList(quickMoves_);
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove quick_moves = 9;
       */
      public int getQuickMovesValue(int index) {
        return quickMoves_.get(index);
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove quick_moves = 9;
       */
      public Builder setQuickMovesValue(
          int index, int value) {
        ensureQuickMovesIsMutable();
        quickMoves_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove quick_moves = 9;
       */
      public Builder addQuickMovesValue(int value) {
        ensureQuickMovesIsMutable();
        quickMoves_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove quick_moves = 9;
       */
      public Builder addAllQuickMovesValue(
          java.lang.Iterable values) {
        ensureQuickMovesIsMutable();
        for (int value : values) {
          quickMoves_.add(value);
        }
        onChanged();
        return this;
      }

      private java.util.List cinematicMoves_ =
        java.util.Collections.emptyList();
      private void ensureCinematicMovesIsMutable() {
        if (!((bitField0_ & 0x00000100) == 0x00000100)) {
          cinematicMoves_ = new java.util.ArrayList(cinematicMoves_);
          bitField0_ |= 0x00000100;
        }
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove cinematic_moves = 10;
       */
      public java.util.List getCinematicMovesList() {
        return new com.google.protobuf.Internal.ListAdapter<
            java.lang.Integer, POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove>(cinematicMoves_, cinematicMoves_converter_);
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove cinematic_moves = 10;
       */
      public int getCinematicMovesCount() {
        return cinematicMoves_.size();
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove cinematic_moves = 10;
       */
      public POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove getCinematicMoves(int index) {
        return cinematicMoves_converter_.convert(cinematicMoves_.get(index));
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove cinematic_moves = 10;
       */
      public Builder setCinematicMoves(
          int index, POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureCinematicMovesIsMutable();
        cinematicMoves_.set(index, value.getNumber());
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove cinematic_moves = 10;
       */
      public Builder addCinematicMoves(POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureCinematicMovesIsMutable();
        cinematicMoves_.add(value.getNumber());
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove cinematic_moves = 10;
       */
      public Builder addAllCinematicMoves(
          java.lang.Iterable values) {
        ensureCinematicMovesIsMutable();
        for (POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove value : values) {
          cinematicMoves_.add(value.getNumber());
        }
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove cinematic_moves = 10;
       */
      public Builder clearCinematicMoves() {
        cinematicMoves_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000100);
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove cinematic_moves = 10;
       */
      public java.util.List
      getCinematicMovesValueList() {
        return java.util.Collections.unmodifiableList(cinematicMoves_);
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove cinematic_moves = 10;
       */
      public int getCinematicMovesValue(int index) {
        return cinematicMoves_.get(index);
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove cinematic_moves = 10;
       */
      public Builder setCinematicMovesValue(
          int index, int value) {
        ensureCinematicMovesIsMutable();
        cinematicMoves_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove cinematic_moves = 10;
       */
      public Builder addCinematicMovesValue(int value) {
        ensureCinematicMovesIsMutable();
        cinematicMoves_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.PokemonMove cinematic_moves = 10;
       */
      public Builder addAllCinematicMovesValue(
          java.lang.Iterable values) {
        ensureCinematicMovesIsMutable();
        for (int value : values) {
          cinematicMoves_.add(value);
        }
        onChanged();
        return this;
      }

      private java.util.List animationTime_ = java.util.Collections.emptyList();
      private void ensureAnimationTimeIsMutable() {
        if (!((bitField0_ & 0x00000200) == 0x00000200)) {
          animationTime_ = new java.util.ArrayList(animationTime_);
          bitField0_ |= 0x00000200;
         }
      }
      /**
       * repeated float animation_time = 11;
       */
      public java.util.List
          getAnimationTimeList() {
        return java.util.Collections.unmodifiableList(animationTime_);
      }
      /**
       * repeated float animation_time = 11;
       */
      public int getAnimationTimeCount() {
        return animationTime_.size();
      }
      /**
       * repeated float animation_time = 11;
       */
      public float getAnimationTime(int index) {
        return animationTime_.get(index);
      }
      /**
       * repeated float animation_time = 11;
       */
      public Builder setAnimationTime(
          int index, float value) {
        ensureAnimationTimeIsMutable();
        animationTime_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated float animation_time = 11;
       */
      public Builder addAnimationTime(float value) {
        ensureAnimationTimeIsMutable();
        animationTime_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated float animation_time = 11;
       */
      public Builder addAllAnimationTime(
          java.lang.Iterable values) {
        ensureAnimationTimeIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, animationTime_);
        onChanged();
        return this;
      }
      /**
       * repeated float animation_time = 11;
       */
      public Builder clearAnimationTime() {
        animationTime_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000200);
        onChanged();
        return this;
      }

      private java.util.List evolutionIds_ =
        java.util.Collections.emptyList();
      private void ensureEvolutionIdsIsMutable() {
        if (!((bitField0_ & 0x00000400) == 0x00000400)) {
          evolutionIds_ = new java.util.ArrayList(evolutionIds_);
          bitField0_ |= 0x00000400;
        }
      }
      /**
       * repeated .POGOProtos.Enums.PokemonId evolution_ids = 12;
       */
      public java.util.List getEvolutionIdsList() {
        return new com.google.protobuf.Internal.ListAdapter<
            java.lang.Integer, POGOProtos.Enums.PokemonIdOuterClass.PokemonId>(evolutionIds_, evolutionIds_converter_);
      }
      /**
       * repeated .POGOProtos.Enums.PokemonId evolution_ids = 12;
       */
      public int getEvolutionIdsCount() {
        return evolutionIds_.size();
      }
      /**
       * repeated .POGOProtos.Enums.PokemonId evolution_ids = 12;
       */
      public POGOProtos.Enums.PokemonIdOuterClass.PokemonId getEvolutionIds(int index) {
        return evolutionIds_converter_.convert(evolutionIds_.get(index));
      }
      /**
       * repeated .POGOProtos.Enums.PokemonId evolution_ids = 12;
       */
      public Builder setEvolutionIds(
          int index, POGOProtos.Enums.PokemonIdOuterClass.PokemonId value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureEvolutionIdsIsMutable();
        evolutionIds_.set(index, value.getNumber());
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.PokemonId evolution_ids = 12;
       */
      public Builder addEvolutionIds(POGOProtos.Enums.PokemonIdOuterClass.PokemonId value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureEvolutionIdsIsMutable();
        evolutionIds_.add(value.getNumber());
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.PokemonId evolution_ids = 12;
       */
      public Builder addAllEvolutionIds(
          java.lang.Iterable values) {
        ensureEvolutionIdsIsMutable();
        for (POGOProtos.Enums.PokemonIdOuterClass.PokemonId value : values) {
          evolutionIds_.add(value.getNumber());
        }
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.PokemonId evolution_ids = 12;
       */
      public Builder clearEvolutionIds() {
        evolutionIds_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000400);
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.PokemonId evolution_ids = 12;
       */
      public java.util.List
      getEvolutionIdsValueList() {
        return java.util.Collections.unmodifiableList(evolutionIds_);
      }
      /**
       * repeated .POGOProtos.Enums.PokemonId evolution_ids = 12;
       */
      public int getEvolutionIdsValue(int index) {
        return evolutionIds_.get(index);
      }
      /**
       * repeated .POGOProtos.Enums.PokemonId evolution_ids = 12;
       */
      public Builder setEvolutionIdsValue(
          int index, int value) {
        ensureEvolutionIdsIsMutable();
        evolutionIds_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.PokemonId evolution_ids = 12;
       */
      public Builder addEvolutionIdsValue(int value) {
        ensureEvolutionIdsIsMutable();
        evolutionIds_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated .POGOProtos.Enums.PokemonId evolution_ids = 12;
       */
      public Builder addAllEvolutionIdsValue(
          java.lang.Iterable values) {
        ensureEvolutionIdsIsMutable();
        for (int value : values) {
          evolutionIds_.add(value);
        }
        onChanged();
        return this;
      }

      private int evolutionPips_ ;
      /**
       * int32 evolution_pips = 13;
       */
      public int getEvolutionPips() {
        return evolutionPips_;
      }
      /**
       * int32 evolution_pips = 13;
       */
      public Builder setEvolutionPips(int value) {
        
        evolutionPips_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 evolution_pips = 13;
       */
      public Builder clearEvolutionPips() {
        
        evolutionPips_ = 0;
        onChanged();
        return this;
      }

      private int rarity_ = 0;
      /**
       * .POGOProtos.Enums.PokemonRarity rarity = 14;
       */
      public int getRarityValue() {
        return rarity_;
      }
      /**
       * .POGOProtos.Enums.PokemonRarity rarity = 14;
       */
      public Builder setRarityValue(int value) {
        rarity_ = value;
        onChanged();
        return this;
      }
      /**
       * .POGOProtos.Enums.PokemonRarity rarity = 14;
       */
      public POGOProtos.Enums.PokemonRarityOuterClass.PokemonRarity getRarity() {
        @SuppressWarnings("deprecation")
        POGOProtos.Enums.PokemonRarityOuterClass.PokemonRarity result = POGOProtos.Enums.PokemonRarityOuterClass.PokemonRarity.valueOf(rarity_);
        return result == null ? POGOProtos.Enums.PokemonRarityOuterClass.PokemonRarity.UNRECOGNIZED : result;
      }
      /**
       * .POGOProtos.Enums.PokemonRarity rarity = 14;
       */
      public Builder setRarity(POGOProtos.Enums.PokemonRarityOuterClass.PokemonRarity value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        rarity_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * .POGOProtos.Enums.PokemonRarity rarity = 14;
       */
      public Builder clearRarity() {
        
        rarity_ = 0;
        onChanged();
        return this;
      }

      private float pokedexHeightM_ ;
      /**
       * float pokedex_height_m = 15;
       */
      public float getPokedexHeightM() {
        return pokedexHeightM_;
      }
      /**
       * float pokedex_height_m = 15;
       */
      public Builder setPokedexHeightM(float value) {
        
        pokedexHeightM_ = value;
        onChanged();
        return this;
      }
      /**
       * float pokedex_height_m = 15;
       */
      public Builder clearPokedexHeightM() {
        
        pokedexHeightM_ = 0F;
        onChanged();
        return this;
      }

      private float pokedexWeightKg_ ;
      /**
       * float pokedex_weight_kg = 16;
       */
      public float getPokedexWeightKg() {
        return pokedexWeightKg_;
      }
      /**
       * float pokedex_weight_kg = 16;
       */
      public Builder setPokedexWeightKg(float value) {
        
        pokedexWeightKg_ = value;
        onChanged();
        return this;
      }
      /**
       * float pokedex_weight_kg = 16;
       */
      public Builder clearPokedexWeightKg() {
        
        pokedexWeightKg_ = 0F;
        onChanged();
        return this;
      }

      private int parentPokemonId_ = 0;
      /**
       * .POGOProtos.Enums.PokemonId parent_pokemon_id = 17;
       */
      public int getParentPokemonIdValue() {
        return parentPokemonId_;
      }
      /**
       * .POGOProtos.Enums.PokemonId parent_pokemon_id = 17;
       */
      public Builder setParentPokemonIdValue(int value) {
        parentPokemonId_ = value;
        onChanged();
        return this;
      }
      /**
       * .POGOProtos.Enums.PokemonId parent_pokemon_id = 17;
       */
      public POGOProtos.Enums.PokemonIdOuterClass.PokemonId getParentPokemonId() {
        @SuppressWarnings("deprecation")
        POGOProtos.Enums.PokemonIdOuterClass.PokemonId result = POGOProtos.Enums.PokemonIdOuterClass.PokemonId.valueOf(parentPokemonId_);
        return result == null ? POGOProtos.Enums.PokemonIdOuterClass.PokemonId.UNRECOGNIZED : result;
      }
      /**
       * .POGOProtos.Enums.PokemonId parent_pokemon_id = 17;
       */
      public Builder setParentPokemonId(POGOProtos.Enums.PokemonIdOuterClass.PokemonId value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        parentPokemonId_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * .POGOProtos.Enums.PokemonId parent_pokemon_id = 17;
       */
      public Builder clearParentPokemonId() {
        
        parentPokemonId_ = 0;
        onChanged();
        return this;
      }

      private float heightStdDev_ ;
      /**
       * float height_std_dev = 18;
       */
      public float getHeightStdDev() {
        return heightStdDev_;
      }
      /**
       * float height_std_dev = 18;
       */
      public Builder setHeightStdDev(float value) {
        
        heightStdDev_ = value;
        onChanged();
        return this;
      }
      /**
       * float height_std_dev = 18;
       */
      public Builder clearHeightStdDev() {
        
        heightStdDev_ = 0F;
        onChanged();
        return this;
      }

      private float weightStdDev_ ;
      /**
       * float weight_std_dev = 19;
       */
      public float getWeightStdDev() {
        return weightStdDev_;
      }
      /**
       * float weight_std_dev = 19;
       */
      public Builder setWeightStdDev(float value) {
        
        weightStdDev_ = value;
        onChanged();
        return this;
      }
      /**
       * float weight_std_dev = 19;
       */
      public Builder clearWeightStdDev() {
        
        weightStdDev_ = 0F;
        onChanged();
        return this;
      }

      private float kmDistanceToHatch_ ;
      /**
       * float km_distance_to_hatch = 20;
       */
      public float getKmDistanceToHatch() {
        return kmDistanceToHatch_;
      }
      /**
       * float km_distance_to_hatch = 20;
       */
      public Builder setKmDistanceToHatch(float value) {
        
        kmDistanceToHatch_ = value;
        onChanged();
        return this;
      }
      /**
       * float km_distance_to_hatch = 20;
       */
      public Builder clearKmDistanceToHatch() {
        
        kmDistanceToHatch_ = 0F;
        onChanged();
        return this;
      }

      private int familyId_ = 0;
      /**
       * .POGOProtos.Enums.PokemonFamilyId family_id = 21;
       */
      public int getFamilyIdValue() {
        return familyId_;
      }
      /**
       * .POGOProtos.Enums.PokemonFamilyId family_id = 21;
       */
      public Builder setFamilyIdValue(int value) {
        familyId_ = value;
        onChanged();
        return this;
      }
      /**
       * .POGOProtos.Enums.PokemonFamilyId family_id = 21;
       */
      public POGOProtos.Enums.PokemonFamilyIdOuterClass.PokemonFamilyId getFamilyId() {
        @SuppressWarnings("deprecation")
        POGOProtos.Enums.PokemonFamilyIdOuterClass.PokemonFamilyId result = POGOProtos.Enums.PokemonFamilyIdOuterClass.PokemonFamilyId.valueOf(familyId_);
        return result == null ? POGOProtos.Enums.PokemonFamilyIdOuterClass.PokemonFamilyId.UNRECOGNIZED : result;
      }
      /**
       * .POGOProtos.Enums.PokemonFamilyId family_id = 21;
       */
      public Builder setFamilyId(POGOProtos.Enums.PokemonFamilyIdOuterClass.PokemonFamilyId value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        familyId_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * .POGOProtos.Enums.PokemonFamilyId family_id = 21;
       */
      public Builder clearFamilyId() {
        
        familyId_ = 0;
        onChanged();
        return this;
      }

      private int candyToEvolve_ ;
      /**
       * int32 candy_to_evolve = 22;
       */
      public int getCandyToEvolve() {
        return candyToEvolve_;
      }
      /**
       * int32 candy_to_evolve = 22;
       */
      public Builder setCandyToEvolve(int value) {
        
        candyToEvolve_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 candy_to_evolve = 22;
       */
      public Builder clearCandyToEvolve() {
        
        candyToEvolve_ = 0;
        onChanged();
        return this;
      }

      private float kmBuddyDistance_ ;
      /**
       * float km_buddy_distance = 23;
       */
      public float getKmBuddyDistance() {
        return kmBuddyDistance_;
      }
      /**
       * float km_buddy_distance = 23;
       */
      public Builder setKmBuddyDistance(float value) {
        
        kmBuddyDistance_ = value;
        onChanged();
        return this;
      }
      /**
       * float km_buddy_distance = 23;
       */
      public Builder clearKmBuddyDistance() {
        
        kmBuddyDistance_ = 0F;
        onChanged();
        return this;
      }

      private int buddySize_ = 0;
      /**
       * .POGOProtos.Enums.BuddySize buddy_size = 24;
       */
      public int getBuddySizeValue() {
        return buddySize_;
      }
      /**
       * .POGOProtos.Enums.BuddySize buddy_size = 24;
       */
      public Builder setBuddySizeValue(int value) {
        buddySize_ = value;
        onChanged();
        return this;
      }
      /**
       * .POGOProtos.Enums.BuddySize buddy_size = 24;
       */
      public POGOProtos.Enums.BuddySizeOuterClass.BuddySize getBuddySize() {
        @SuppressWarnings("deprecation")
        POGOProtos.Enums.BuddySizeOuterClass.BuddySize result = POGOProtos.Enums.BuddySizeOuterClass.BuddySize.valueOf(buddySize_);
        return result == null ? POGOProtos.Enums.BuddySizeOuterClass.BuddySize.UNRECOGNIZED : result;
      }
      /**
       * .POGOProtos.Enums.BuddySize buddy_size = 24;
       */
      public Builder setBuddySize(POGOProtos.Enums.BuddySizeOuterClass.BuddySize value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        buddySize_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * .POGOProtos.Enums.BuddySize buddy_size = 24;
       */
      public Builder clearBuddySize() {
        
        buddySize_ = 0;
        onChanged();
        return this;
      }

      private float modelHeight_ ;
      /**
       * float model_height = 25;
       */
      public float getModelHeight() {
        return modelHeight_;
      }
      /**
       * float model_height = 25;
       */
      public Builder setModelHeight(float value) {
        
        modelHeight_ = value;
        onChanged();
        return this;
      }
      /**
       * float model_height = 25;
       */
      public Builder clearModelHeight() {
        
        modelHeight_ = 0F;
        onChanged();
        return this;
      }

      private java.util.List evolutionBranch_ =
        java.util.Collections.emptyList();
      private void ensureEvolutionBranchIsMutable() {
        if (!((bitField0_ & 0x01000000) == 0x01000000)) {
          evolutionBranch_ = new java.util.ArrayList(evolutionBranch_);
          bitField0_ |= 0x01000000;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranch, POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranch.Builder, POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranchOrBuilder> evolutionBranchBuilder_;

      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
       */
      public java.util.List getEvolutionBranchList() {
        if (evolutionBranchBuilder_ == null) {
          return java.util.Collections.unmodifiableList(evolutionBranch_);
        } else {
          return evolutionBranchBuilder_.getMessageList();
        }
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
       */
      public int getEvolutionBranchCount() {
        if (evolutionBranchBuilder_ == null) {
          return evolutionBranch_.size();
        } else {
          return evolutionBranchBuilder_.getCount();
        }
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
       */
      public POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranch getEvolutionBranch(int index) {
        if (evolutionBranchBuilder_ == null) {
          return evolutionBranch_.get(index);
        } else {
          return evolutionBranchBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
       */
      public Builder setEvolutionBranch(
          int index, POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranch value) {
        if (evolutionBranchBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEvolutionBranchIsMutable();
          evolutionBranch_.set(index, value);
          onChanged();
        } else {
          evolutionBranchBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
       */
      public Builder setEvolutionBranch(
          int index, POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranch.Builder builderForValue) {
        if (evolutionBranchBuilder_ == null) {
          ensureEvolutionBranchIsMutable();
          evolutionBranch_.set(index, builderForValue.build());
          onChanged();
        } else {
          evolutionBranchBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
       */
      public Builder addEvolutionBranch(POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranch value) {
        if (evolutionBranchBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEvolutionBranchIsMutable();
          evolutionBranch_.add(value);
          onChanged();
        } else {
          evolutionBranchBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
       */
      public Builder addEvolutionBranch(
          int index, POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranch value) {
        if (evolutionBranchBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEvolutionBranchIsMutable();
          evolutionBranch_.add(index, value);
          onChanged();
        } else {
          evolutionBranchBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
       */
      public Builder addEvolutionBranch(
          POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranch.Builder builderForValue) {
        if (evolutionBranchBuilder_ == null) {
          ensureEvolutionBranchIsMutable();
          evolutionBranch_.add(builderForValue.build());
          onChanged();
        } else {
          evolutionBranchBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
       */
      public Builder addEvolutionBranch(
          int index, POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranch.Builder builderForValue) {
        if (evolutionBranchBuilder_ == null) {
          ensureEvolutionBranchIsMutable();
          evolutionBranch_.add(index, builderForValue.build());
          onChanged();
        } else {
          evolutionBranchBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
       */
      public Builder addAllEvolutionBranch(
          java.lang.Iterable values) {
        if (evolutionBranchBuilder_ == null) {
          ensureEvolutionBranchIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, evolutionBranch_);
          onChanged();
        } else {
          evolutionBranchBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
       */
      public Builder clearEvolutionBranch() {
        if (evolutionBranchBuilder_ == null) {
          evolutionBranch_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x01000000);
          onChanged();
        } else {
          evolutionBranchBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
       */
      public Builder removeEvolutionBranch(int index) {
        if (evolutionBranchBuilder_ == null) {
          ensureEvolutionBranchIsMutable();
          evolutionBranch_.remove(index);
          onChanged();
        } else {
          evolutionBranchBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
       */
      public POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranch.Builder getEvolutionBranchBuilder(
          int index) {
        return getEvolutionBranchFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
       */
      public POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranchOrBuilder getEvolutionBranchOrBuilder(
          int index) {
        if (evolutionBranchBuilder_ == null) {
          return evolutionBranch_.get(index);  } else {
          return evolutionBranchBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
       */
      public java.util.List 
           getEvolutionBranchOrBuilderList() {
        if (evolutionBranchBuilder_ != null) {
          return evolutionBranchBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(evolutionBranch_);
        }
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
       */
      public POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranch.Builder addEvolutionBranchBuilder() {
        return getEvolutionBranchFieldBuilder().addBuilder(
            POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranch.getDefaultInstance());
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
       */
      public POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranch.Builder addEvolutionBranchBuilder(
          int index) {
        return getEvolutionBranchFieldBuilder().addBuilder(
            index, POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranch.getDefaultInstance());
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.EvolutionBranch evolution_branch = 26;
       */
      public java.util.List 
           getEvolutionBranchBuilderList() {
        return getEvolutionBranchFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranch, POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranch.Builder, POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranchOrBuilder> 
          getEvolutionBranchFieldBuilder() {
        if (evolutionBranchBuilder_ == null) {
          evolutionBranchBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranch, POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranch.Builder, POGOProtos.Settings.Master.Pokemon.EvolutionBranchOuterClass.EvolutionBranchOrBuilder>(
                  evolutionBranch_,
                  ((bitField0_ & 0x01000000) == 0x01000000),
                  getParentForChildren(),
                  isClean());
          evolutionBranch_ = null;
        }
        return evolutionBranchBuilder_;
      }

      private float modelScaleV2_ ;
      /**
       * float model_scale_v2 = 27;
       */
      public float getModelScaleV2() {
        return modelScaleV2_;
      }
      /**
       * float model_scale_v2 = 27;
       */
      public Builder setModelScaleV2(float value) {
        
        modelScaleV2_ = value;
        onChanged();
        return this;
      }
      /**
       * float model_scale_v2 = 27;
       */
      public Builder clearModelScaleV2() {
        
        modelScaleV2_ = 0F;
        onChanged();
        return this;
      }

      private int form_ = 0;
      /**
       * .POGOProtos.Enums.Form form = 28;
       */
      public int getFormValue() {
        return form_;
      }
      /**
       * .POGOProtos.Enums.Form form = 28;
       */
      public Builder setFormValue(int value) {
        form_ = value;
        onChanged();
        return this;
      }
      /**
       * .POGOProtos.Enums.Form form = 28;
       */
      public POGOProtos.Enums.FormOuterClass.Form getForm() {
        @SuppressWarnings("deprecation")
        POGOProtos.Enums.FormOuterClass.Form result = POGOProtos.Enums.FormOuterClass.Form.valueOf(form_);
        return result == null ? POGOProtos.Enums.FormOuterClass.Form.UNRECOGNIZED : result;
      }
      /**
       * .POGOProtos.Enums.Form form = 28;
       */
      public Builder setForm(POGOProtos.Enums.FormOuterClass.Form value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        form_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * .POGOProtos.Enums.Form form = 28;
       */
      public Builder clearForm() {
        
        form_ = 0;
        onChanged();
        return this;
      }

      private int eventQuickMove_ = 0;
      /**
       * .POGOProtos.Enums.PokemonMove event_quick_move = 29;
       */
      public int getEventQuickMoveValue() {
        return eventQuickMove_;
      }
      /**
       * .POGOProtos.Enums.PokemonMove event_quick_move = 29;
       */
      public Builder setEventQuickMoveValue(int value) {
        eventQuickMove_ = value;
        onChanged();
        return this;
      }
      /**
       * .POGOProtos.Enums.PokemonMove event_quick_move = 29;
       */
      public POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove getEventQuickMove() {
        @SuppressWarnings("deprecation")
        POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove result = POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove.valueOf(eventQuickMove_);
        return result == null ? POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove.UNRECOGNIZED : result;
      }
      /**
       * .POGOProtos.Enums.PokemonMove event_quick_move = 29;
       */
      public Builder setEventQuickMove(POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        eventQuickMove_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * .POGOProtos.Enums.PokemonMove event_quick_move = 29;
       */
      public Builder clearEventQuickMove() {
        
        eventQuickMove_ = 0;
        onChanged();
        return this;
      }

      private int eventCinematicMove_ = 0;
      /**
       * .POGOProtos.Enums.PokemonMove event_cinematic_move = 30;
       */
      public int getEventCinematicMoveValue() {
        return eventCinematicMove_;
      }
      /**
       * .POGOProtos.Enums.PokemonMove event_cinematic_move = 30;
       */
      public Builder setEventCinematicMoveValue(int value) {
        eventCinematicMove_ = value;
        onChanged();
        return this;
      }
      /**
       * .POGOProtos.Enums.PokemonMove event_cinematic_move = 30;
       */
      public POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove getEventCinematicMove() {
        @SuppressWarnings("deprecation")
        POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove result = POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove.valueOf(eventCinematicMove_);
        return result == null ? POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove.UNRECOGNIZED : result;
      }
      /**
       * .POGOProtos.Enums.PokemonMove event_cinematic_move = 30;
       */
      public Builder setEventCinematicMove(POGOProtos.Enums.PokemonMoveOuterClass.PokemonMove value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        eventCinematicMove_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * .POGOProtos.Enums.PokemonMove event_cinematic_move = 30;
       */
      public Builder clearEventCinematicMove() {
        
        eventCinematicMove_ = 0;
        onChanged();
        return this;
      }

      private java.util.List buddyOffsetMale_ = java.util.Collections.emptyList();
      private void ensureBuddyOffsetMaleIsMutable() {
        if (!((bitField0_ & 0x20000000) == 0x20000000)) {
          buddyOffsetMale_ = new java.util.ArrayList(buddyOffsetMale_);
          bitField0_ |= 0x20000000;
         }
      }
      /**
       * repeated float buddy_offset_male = 31;
       */
      public java.util.List
          getBuddyOffsetMaleList() {
        return java.util.Collections.unmodifiableList(buddyOffsetMale_);
      }
      /**
       * repeated float buddy_offset_male = 31;
       */
      public int getBuddyOffsetMaleCount() {
        return buddyOffsetMale_.size();
      }
      /**
       * repeated float buddy_offset_male = 31;
       */
      public float getBuddyOffsetMale(int index) {
        return buddyOffsetMale_.get(index);
      }
      /**
       * repeated float buddy_offset_male = 31;
       */
      public Builder setBuddyOffsetMale(
          int index, float value) {
        ensureBuddyOffsetMaleIsMutable();
        buddyOffsetMale_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated float buddy_offset_male = 31;
       */
      public Builder addBuddyOffsetMale(float value) {
        ensureBuddyOffsetMaleIsMutable();
        buddyOffsetMale_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated float buddy_offset_male = 31;
       */
      public Builder addAllBuddyOffsetMale(
          java.lang.Iterable values) {
        ensureBuddyOffsetMaleIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, buddyOffsetMale_);
        onChanged();
        return this;
      }
      /**
       * repeated float buddy_offset_male = 31;
       */
      public Builder clearBuddyOffsetMale() {
        buddyOffsetMale_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x20000000);
        onChanged();
        return this;
      }

      private java.util.List buddyOffsetFemale_ = java.util.Collections.emptyList();
      private void ensureBuddyOffsetFemaleIsMutable() {
        if (!((bitField0_ & 0x40000000) == 0x40000000)) {
          buddyOffsetFemale_ = new java.util.ArrayList(buddyOffsetFemale_);
          bitField0_ |= 0x40000000;
         }
      }
      /**
       * repeated float buddy_offset_female = 32;
       */
      public java.util.List
          getBuddyOffsetFemaleList() {
        return java.util.Collections.unmodifiableList(buddyOffsetFemale_);
      }
      /**
       * repeated float buddy_offset_female = 32;
       */
      public int getBuddyOffsetFemaleCount() {
        return buddyOffsetFemale_.size();
      }
      /**
       * repeated float buddy_offset_female = 32;
       */
      public float getBuddyOffsetFemale(int index) {
        return buddyOffsetFemale_.get(index);
      }
      /**
       * repeated float buddy_offset_female = 32;
       */
      public Builder setBuddyOffsetFemale(
          int index, float value) {
        ensureBuddyOffsetFemaleIsMutable();
        buddyOffsetFemale_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated float buddy_offset_female = 32;
       */
      public Builder addBuddyOffsetFemale(float value) {
        ensureBuddyOffsetFemaleIsMutable();
        buddyOffsetFemale_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated float buddy_offset_female = 32;
       */
      public Builder addAllBuddyOffsetFemale(
          java.lang.Iterable values) {
        ensureBuddyOffsetFemaleIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, buddyOffsetFemale_);
        onChanged();
        return this;
      }
      /**
       * repeated float buddy_offset_female = 32;
       */
      public Builder clearBuddyOffsetFemale() {
        buddyOffsetFemale_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x40000000);
        onChanged();
        return this;
      }

      private float buddyScale_ ;
      /**
       * float buddy_scale = 33;
       */
      public float getBuddyScale() {
        return buddyScale_;
      }
      /**
       * float buddy_scale = 33;
       */
      public Builder setBuddyScale(float value) {
        
        buddyScale_ = value;
        onChanged();
        return this;
      }
      /**
       * float buddy_scale = 33;
       */
      public Builder clearBuddyScale() {
        
        buddyScale_ = 0F;
        onChanged();
        return this;
      }

      private java.util.List buddyPortraitOffset_ = java.util.Collections.emptyList();
      private void ensureBuddyPortraitOffsetIsMutable() {
        if (!((bitField1_ & 0x00000001) == 0x00000001)) {
          buddyPortraitOffset_ = new java.util.ArrayList(buddyPortraitOffset_);
          bitField1_ |= 0x00000001;
         }
      }
      /**
       * repeated float buddy_portrait_offset = 34;
       */
      public java.util.List
          getBuddyPortraitOffsetList() {
        return java.util.Collections.unmodifiableList(buddyPortraitOffset_);
      }
      /**
       * repeated float buddy_portrait_offset = 34;
       */
      public int getBuddyPortraitOffsetCount() {
        return buddyPortraitOffset_.size();
      }
      /**
       * repeated float buddy_portrait_offset = 34;
       */
      public float getBuddyPortraitOffset(int index) {
        return buddyPortraitOffset_.get(index);
      }
      /**
       * repeated float buddy_portrait_offset = 34;
       */
      public Builder setBuddyPortraitOffset(
          int index, float value) {
        ensureBuddyPortraitOffsetIsMutable();
        buddyPortraitOffset_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated float buddy_portrait_offset = 34;
       */
      public Builder addBuddyPortraitOffset(float value) {
        ensureBuddyPortraitOffsetIsMutable();
        buddyPortraitOffset_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated float buddy_portrait_offset = 34;
       */
      public Builder addAllBuddyPortraitOffset(
          java.lang.Iterable values) {
        ensureBuddyPortraitOffsetIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, buddyPortraitOffset_);
        onChanged();
        return this;
      }
      /**
       * repeated float buddy_portrait_offset = 34;
       */
      public Builder clearBuddyPortraitOffset() {
        buddyPortraitOffset_ = java.util.Collections.emptyList();
        bitField1_ = (bitField1_ & ~0x00000001);
        onChanged();
        return this;
      }

      private int parentForm_ = 0;
      /**
       * .POGOProtos.Enums.Form parent_form = 35;
       */
      public int getParentFormValue() {
        return parentForm_;
      }
      /**
       * .POGOProtos.Enums.Form parent_form = 35;
       */
      public Builder setParentFormValue(int value) {
        parentForm_ = value;
        onChanged();
        return this;
      }
      /**
       * .POGOProtos.Enums.Form parent_form = 35;
       */
      public POGOProtos.Enums.FormOuterClass.Form getParentForm() {
        @SuppressWarnings("deprecation")
        POGOProtos.Enums.FormOuterClass.Form result = POGOProtos.Enums.FormOuterClass.Form.valueOf(parentForm_);
        return result == null ? POGOProtos.Enums.FormOuterClass.Form.UNRECOGNIZED : result;
      }
      /**
       * .POGOProtos.Enums.Form parent_form = 35;
       */
      public Builder setParentForm(POGOProtos.Enums.FormOuterClass.Form value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        parentForm_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * .POGOProtos.Enums.Form parent_form = 35;
       */
      public Builder clearParentForm() {
        
        parentForm_ = 0;
        onChanged();
        return this;
      }

      private POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes thirdMove_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes, POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes.Builder, POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributesOrBuilder> thirdMoveBuilder_;
      /**
       * .POGOProtos.Settings.Master.PokemonSettings.PokemonThirdMoveAttributes third_move = 36;
       */
      public boolean hasThirdMove() {
        return thirdMoveBuilder_ != null || thirdMove_ != null;
      }
      /**
       * .POGOProtos.Settings.Master.PokemonSettings.PokemonThirdMoveAttributes third_move = 36;
       */
      public POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes getThirdMove() {
        if (thirdMoveBuilder_ == null) {
          return thirdMove_ == null ? POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes.getDefaultInstance() : thirdMove_;
        } else {
          return thirdMoveBuilder_.getMessage();
        }
      }
      /**
       * .POGOProtos.Settings.Master.PokemonSettings.PokemonThirdMoveAttributes third_move = 36;
       */
      public Builder setThirdMove(POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes value) {
        if (thirdMoveBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          thirdMove_ = value;
          onChanged();
        } else {
          thirdMoveBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * .POGOProtos.Settings.Master.PokemonSettings.PokemonThirdMoveAttributes third_move = 36;
       */
      public Builder setThirdMove(
          POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes.Builder builderForValue) {
        if (thirdMoveBuilder_ == null) {
          thirdMove_ = builderForValue.build();
          onChanged();
        } else {
          thirdMoveBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * .POGOProtos.Settings.Master.PokemonSettings.PokemonThirdMoveAttributes third_move = 36;
       */
      public Builder mergeThirdMove(POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes value) {
        if (thirdMoveBuilder_ == null) {
          if (thirdMove_ != null) {
            thirdMove_ =
              POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes.newBuilder(thirdMove_).mergeFrom(value).buildPartial();
          } else {
            thirdMove_ = value;
          }
          onChanged();
        } else {
          thirdMoveBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * .POGOProtos.Settings.Master.PokemonSettings.PokemonThirdMoveAttributes third_move = 36;
       */
      public Builder clearThirdMove() {
        if (thirdMoveBuilder_ == null) {
          thirdMove_ = null;
          onChanged();
        } else {
          thirdMove_ = null;
          thirdMoveBuilder_ = null;
        }

        return this;
      }
      /**
       * .POGOProtos.Settings.Master.PokemonSettings.PokemonThirdMoveAttributes third_move = 36;
       */
      public POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes.Builder getThirdMoveBuilder() {
        
        onChanged();
        return getThirdMoveFieldBuilder().getBuilder();
      }
      /**
       * .POGOProtos.Settings.Master.PokemonSettings.PokemonThirdMoveAttributes third_move = 36;
       */
      public POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributesOrBuilder getThirdMoveOrBuilder() {
        if (thirdMoveBuilder_ != null) {
          return thirdMoveBuilder_.getMessageOrBuilder();
        } else {
          return thirdMove_ == null ?
              POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes.getDefaultInstance() : thirdMove_;
        }
      }
      /**
       * .POGOProtos.Settings.Master.PokemonSettings.PokemonThirdMoveAttributes third_move = 36;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes, POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes.Builder, POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributesOrBuilder> 
          getThirdMoveFieldBuilder() {
        if (thirdMoveBuilder_ == null) {
          thirdMoveBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes, POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributes.Builder, POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings.PokemonThirdMoveAttributesOrBuilder>(
                  getThirdMove(),
                  getParentForChildren(),
                  isClean());
          thirdMove_ = null;
        }
        return thirdMoveBuilder_;
      }

      private boolean isTransferable_ ;
      /**
       * bool is_transferable = 37;
       */
      public boolean getIsTransferable() {
        return isTransferable_;
      }
      /**
       * bool is_transferable = 37;
       */
      public Builder setIsTransferable(boolean value) {
        
        isTransferable_ = value;
        onChanged();
        return this;
      }
      /**
       * bool is_transferable = 37;
       */
      public Builder clearIsTransferable() {
        
        isTransferable_ = false;
        onChanged();
        return this;
      }

      private boolean isDeployable_ ;
      /**
       * bool is_deployable = 38;
       */
      public boolean getIsDeployable() {
        return isDeployable_;
      }
      /**
       * bool is_deployable = 38;
       */
      public Builder setIsDeployable(boolean value) {
        
        isDeployable_ = value;
        onChanged();
        return this;
      }
      /**
       * bool is_deployable = 38;
       */
      public Builder clearIsDeployable() {
        
        isDeployable_ = false;
        onChanged();
        return this;
      }

      private java.util.List combatShoulderCameraAngle_ = java.util.Collections.emptyList();
      private void ensureCombatShoulderCameraAngleIsMutable() {
        if (!((bitField1_ & 0x00000020) == 0x00000020)) {
          combatShoulderCameraAngle_ = new java.util.ArrayList(combatShoulderCameraAngle_);
          bitField1_ |= 0x00000020;
         }
      }
      /**
       * repeated float combat_shoulder_camera_angle = 39;
       */
      public java.util.List
          getCombatShoulderCameraAngleList() {
        return java.util.Collections.unmodifiableList(combatShoulderCameraAngle_);
      }
      /**
       * repeated float combat_shoulder_camera_angle = 39;
       */
      public int getCombatShoulderCameraAngleCount() {
        return combatShoulderCameraAngle_.size();
      }
      /**
       * repeated float combat_shoulder_camera_angle = 39;
       */
      public float getCombatShoulderCameraAngle(int index) {
        return combatShoulderCameraAngle_.get(index);
      }
      /**
       * repeated float combat_shoulder_camera_angle = 39;
       */
      public Builder setCombatShoulderCameraAngle(
          int index, float value) {
        ensureCombatShoulderCameraAngleIsMutable();
        combatShoulderCameraAngle_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated float combat_shoulder_camera_angle = 39;
       */
      public Builder addCombatShoulderCameraAngle(float value) {
        ensureCombatShoulderCameraAngleIsMutable();
        combatShoulderCameraAngle_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated float combat_shoulder_camera_angle = 39;
       */
      public Builder addAllCombatShoulderCameraAngle(
          java.lang.Iterable values) {
        ensureCombatShoulderCameraAngleIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, combatShoulderCameraAngle_);
        onChanged();
        return this;
      }
      /**
       * repeated float combat_shoulder_camera_angle = 39;
       */
      public Builder clearCombatShoulderCameraAngle() {
        combatShoulderCameraAngle_ = java.util.Collections.emptyList();
        bitField1_ = (bitField1_ & ~0x00000020);
        onChanged();
        return this;
      }

      private boolean isTradable_ ;
      /**
       * bool is_tradable = 40;
       */
      public boolean getIsTradable() {
        return isTradable_;
      }
      /**
       * bool is_tradable = 40;
       */
      public Builder setIsTradable(boolean value) {
        
        isTradable_ = value;
        onChanged();
        return this;
      }
      /**
       * bool is_tradable = 40;
       */
      public Builder clearIsTradable() {
        
        isTradable_ = false;
        onChanged();
        return this;
      }

      private java.util.List combatDefaultCameraAngle_ = java.util.Collections.emptyList();
      private void ensureCombatDefaultCameraAngleIsMutable() {
        if (!((bitField1_ & 0x00000080) == 0x00000080)) {
          combatDefaultCameraAngle_ = new java.util.ArrayList(combatDefaultCameraAngle_);
          bitField1_ |= 0x00000080;
         }
      }
      /**
       * repeated float combat_default_camera_angle = 41;
       */
      public java.util.List
          getCombatDefaultCameraAngleList() {
        return java.util.Collections.unmodifiableList(combatDefaultCameraAngle_);
      }
      /**
       * repeated float combat_default_camera_angle = 41;
       */
      public int getCombatDefaultCameraAngleCount() {
        return combatDefaultCameraAngle_.size();
      }
      /**
       * repeated float combat_default_camera_angle = 41;
       */
      public float getCombatDefaultCameraAngle(int index) {
        return combatDefaultCameraAngle_.get(index);
      }
      /**
       * repeated float combat_default_camera_angle = 41;
       */
      public Builder setCombatDefaultCameraAngle(
          int index, float value) {
        ensureCombatDefaultCameraAngleIsMutable();
        combatDefaultCameraAngle_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated float combat_default_camera_angle = 41;
       */
      public Builder addCombatDefaultCameraAngle(float value) {
        ensureCombatDefaultCameraAngleIsMutable();
        combatDefaultCameraAngle_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated float combat_default_camera_angle = 41;
       */
      public Builder addAllCombatDefaultCameraAngle(
          java.lang.Iterable values) {
        ensureCombatDefaultCameraAngleIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, combatDefaultCameraAngle_);
        onChanged();
        return this;
      }
      /**
       * repeated float combat_default_camera_angle = 41;
       */
      public Builder clearCombatDefaultCameraAngle() {
        combatDefaultCameraAngle_ = java.util.Collections.emptyList();
        bitField1_ = (bitField1_ & ~0x00000080);
        onChanged();
        return this;
      }

      private java.util.List combatOpponentFocusCameraAngle_ = java.util.Collections.emptyList();
      private void ensureCombatOpponentFocusCameraAngleIsMutable() {
        if (!((bitField1_ & 0x00000100) == 0x00000100)) {
          combatOpponentFocusCameraAngle_ = new java.util.ArrayList(combatOpponentFocusCameraAngle_);
          bitField1_ |= 0x00000100;
         }
      }
      /**
       * repeated float combat_opponent_focus_camera_angle = 42;
       */
      public java.util.List
          getCombatOpponentFocusCameraAngleList() {
        return java.util.Collections.unmodifiableList(combatOpponentFocusCameraAngle_);
      }
      /**
       * repeated float combat_opponent_focus_camera_angle = 42;
       */
      public int getCombatOpponentFocusCameraAngleCount() {
        return combatOpponentFocusCameraAngle_.size();
      }
      /**
       * repeated float combat_opponent_focus_camera_angle = 42;
       */
      public float getCombatOpponentFocusCameraAngle(int index) {
        return combatOpponentFocusCameraAngle_.get(index);
      }
      /**
       * repeated float combat_opponent_focus_camera_angle = 42;
       */
      public Builder setCombatOpponentFocusCameraAngle(
          int index, float value) {
        ensureCombatOpponentFocusCameraAngleIsMutable();
        combatOpponentFocusCameraAngle_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated float combat_opponent_focus_camera_angle = 42;
       */
      public Builder addCombatOpponentFocusCameraAngle(float value) {
        ensureCombatOpponentFocusCameraAngleIsMutable();
        combatOpponentFocusCameraAngle_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated float combat_opponent_focus_camera_angle = 42;
       */
      public Builder addAllCombatOpponentFocusCameraAngle(
          java.lang.Iterable values) {
        ensureCombatOpponentFocusCameraAngleIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, combatOpponentFocusCameraAngle_);
        onChanged();
        return this;
      }
      /**
       * repeated float combat_opponent_focus_camera_angle = 42;
       */
      public Builder clearCombatOpponentFocusCameraAngle() {
        combatOpponentFocusCameraAngle_ = java.util.Collections.emptyList();
        bitField1_ = (bitField1_ & ~0x00000100);
        onChanged();
        return this;
      }

      private java.util.List combatPlayerFocusCameraAngle_ = java.util.Collections.emptyList();
      private void ensureCombatPlayerFocusCameraAngleIsMutable() {
        if (!((bitField1_ & 0x00000200) == 0x00000200)) {
          combatPlayerFocusCameraAngle_ = new java.util.ArrayList(combatPlayerFocusCameraAngle_);
          bitField1_ |= 0x00000200;
         }
      }
      /**
       * repeated float combat_player_focus_camera_angle = 43;
       */
      public java.util.List
          getCombatPlayerFocusCameraAngleList() {
        return java.util.Collections.unmodifiableList(combatPlayerFocusCameraAngle_);
      }
      /**
       * repeated float combat_player_focus_camera_angle = 43;
       */
      public int getCombatPlayerFocusCameraAngleCount() {
        return combatPlayerFocusCameraAngle_.size();
      }
      /**
       * repeated float combat_player_focus_camera_angle = 43;
       */
      public float getCombatPlayerFocusCameraAngle(int index) {
        return combatPlayerFocusCameraAngle_.get(index);
      }
      /**
       * repeated float combat_player_focus_camera_angle = 43;
       */
      public Builder setCombatPlayerFocusCameraAngle(
          int index, float value) {
        ensureCombatPlayerFocusCameraAngleIsMutable();
        combatPlayerFocusCameraAngle_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated float combat_player_focus_camera_angle = 43;
       */
      public Builder addCombatPlayerFocusCameraAngle(float value) {
        ensureCombatPlayerFocusCameraAngleIsMutable();
        combatPlayerFocusCameraAngle_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated float combat_player_focus_camera_angle = 43;
       */
      public Builder addAllCombatPlayerFocusCameraAngle(
          java.lang.Iterable values) {
        ensureCombatPlayerFocusCameraAngleIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, combatPlayerFocusCameraAngle_);
        onChanged();
        return this;
      }
      /**
       * repeated float combat_player_focus_camera_angle = 43;
       */
      public Builder clearCombatPlayerFocusCameraAngle() {
        combatPlayerFocusCameraAngle_ = java.util.Collections.emptyList();
        bitField1_ = (bitField1_ & ~0x00000200);
        onChanged();
        return this;
      }

      private java.util.List combatPlayerPokemonPositionOffset_ = java.util.Collections.emptyList();
      private void ensureCombatPlayerPokemonPositionOffsetIsMutable() {
        if (!((bitField1_ & 0x00000400) == 0x00000400)) {
          combatPlayerPokemonPositionOffset_ = new java.util.ArrayList(combatPlayerPokemonPositionOffset_);
          bitField1_ |= 0x00000400;
         }
      }
      /**
       * repeated float combat_player_pokemon_position_offset = 44;
       */
      public java.util.List
          getCombatPlayerPokemonPositionOffsetList() {
        return java.util.Collections.unmodifiableList(combatPlayerPokemonPositionOffset_);
      }
      /**
       * repeated float combat_player_pokemon_position_offset = 44;
       */
      public int getCombatPlayerPokemonPositionOffsetCount() {
        return combatPlayerPokemonPositionOffset_.size();
      }
      /**
       * repeated float combat_player_pokemon_position_offset = 44;
       */
      public float getCombatPlayerPokemonPositionOffset(int index) {
        return combatPlayerPokemonPositionOffset_.get(index);
      }
      /**
       * repeated float combat_player_pokemon_position_offset = 44;
       */
      public Builder setCombatPlayerPokemonPositionOffset(
          int index, float value) {
        ensureCombatPlayerPokemonPositionOffsetIsMutable();
        combatPlayerPokemonPositionOffset_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated float combat_player_pokemon_position_offset = 44;
       */
      public Builder addCombatPlayerPokemonPositionOffset(float value) {
        ensureCombatPlayerPokemonPositionOffsetIsMutable();
        combatPlayerPokemonPositionOffset_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated float combat_player_pokemon_position_offset = 44;
       */
      public Builder addAllCombatPlayerPokemonPositionOffset(
          java.lang.Iterable values) {
        ensureCombatPlayerPokemonPositionOffsetIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, combatPlayerPokemonPositionOffset_);
        onChanged();
        return this;
      }
      /**
       * repeated float combat_player_pokemon_position_offset = 44;
       */
      public Builder clearCombatPlayerPokemonPositionOffset() {
        combatPlayerPokemonPositionOffset_ = java.util.Collections.emptyList();
        bitField1_ = (bitField1_ & ~0x00000400);
        onChanged();
        return this;
      }

      private java.util.List photobombAnimationOverrides_ =
        java.util.Collections.emptyList();
      private void ensurePhotobombAnimationOverridesIsMutable() {
        if (!((bitField1_ & 0x00000800) == 0x00000800)) {
          photobombAnimationOverrides_ = new java.util.ArrayList(photobombAnimationOverrides_);
          bitField1_ |= 0x00000800;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverride, POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverride.Builder, POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverrideOrBuilder> photobombAnimationOverridesBuilder_;

      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
       */
      public java.util.List getPhotobombAnimationOverridesList() {
        if (photobombAnimationOverridesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(photobombAnimationOverrides_);
        } else {
          return photobombAnimationOverridesBuilder_.getMessageList();
        }
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
       */
      public int getPhotobombAnimationOverridesCount() {
        if (photobombAnimationOverridesBuilder_ == null) {
          return photobombAnimationOverrides_.size();
        } else {
          return photobombAnimationOverridesBuilder_.getCount();
        }
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
       */
      public POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverride getPhotobombAnimationOverrides(int index) {
        if (photobombAnimationOverridesBuilder_ == null) {
          return photobombAnimationOverrides_.get(index);
        } else {
          return photobombAnimationOverridesBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
       */
      public Builder setPhotobombAnimationOverrides(
          int index, POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverride value) {
        if (photobombAnimationOverridesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePhotobombAnimationOverridesIsMutable();
          photobombAnimationOverrides_.set(index, value);
          onChanged();
        } else {
          photobombAnimationOverridesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
       */
      public Builder setPhotobombAnimationOverrides(
          int index, POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverride.Builder builderForValue) {
        if (photobombAnimationOverridesBuilder_ == null) {
          ensurePhotobombAnimationOverridesIsMutable();
          photobombAnimationOverrides_.set(index, builderForValue.build());
          onChanged();
        } else {
          photobombAnimationOverridesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
       */
      public Builder addPhotobombAnimationOverrides(POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverride value) {
        if (photobombAnimationOverridesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePhotobombAnimationOverridesIsMutable();
          photobombAnimationOverrides_.add(value);
          onChanged();
        } else {
          photobombAnimationOverridesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
       */
      public Builder addPhotobombAnimationOverrides(
          int index, POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverride value) {
        if (photobombAnimationOverridesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePhotobombAnimationOverridesIsMutable();
          photobombAnimationOverrides_.add(index, value);
          onChanged();
        } else {
          photobombAnimationOverridesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
       */
      public Builder addPhotobombAnimationOverrides(
          POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverride.Builder builderForValue) {
        if (photobombAnimationOverridesBuilder_ == null) {
          ensurePhotobombAnimationOverridesIsMutable();
          photobombAnimationOverrides_.add(builderForValue.build());
          onChanged();
        } else {
          photobombAnimationOverridesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
       */
      public Builder addPhotobombAnimationOverrides(
          int index, POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverride.Builder builderForValue) {
        if (photobombAnimationOverridesBuilder_ == null) {
          ensurePhotobombAnimationOverridesIsMutable();
          photobombAnimationOverrides_.add(index, builderForValue.build());
          onChanged();
        } else {
          photobombAnimationOverridesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
       */
      public Builder addAllPhotobombAnimationOverrides(
          java.lang.Iterable values) {
        if (photobombAnimationOverridesBuilder_ == null) {
          ensurePhotobombAnimationOverridesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, photobombAnimationOverrides_);
          onChanged();
        } else {
          photobombAnimationOverridesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
       */
      public Builder clearPhotobombAnimationOverrides() {
        if (photobombAnimationOverridesBuilder_ == null) {
          photobombAnimationOverrides_ = java.util.Collections.emptyList();
          bitField1_ = (bitField1_ & ~0x00000800);
          onChanged();
        } else {
          photobombAnimationOverridesBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
       */
      public Builder removePhotobombAnimationOverrides(int index) {
        if (photobombAnimationOverridesBuilder_ == null) {
          ensurePhotobombAnimationOverridesIsMutable();
          photobombAnimationOverrides_.remove(index);
          onChanged();
        } else {
          photobombAnimationOverridesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
       */
      public POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverride.Builder getPhotobombAnimationOverridesBuilder(
          int index) {
        return getPhotobombAnimationOverridesFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
       */
      public POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverrideOrBuilder getPhotobombAnimationOverridesOrBuilder(
          int index) {
        if (photobombAnimationOverridesBuilder_ == null) {
          return photobombAnimationOverrides_.get(index);  } else {
          return photobombAnimationOverridesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
       */
      public java.util.List 
           getPhotobombAnimationOverridesOrBuilderList() {
        if (photobombAnimationOverridesBuilder_ != null) {
          return photobombAnimationOverridesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(photobombAnimationOverrides_);
        }
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
       */
      public POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverride.Builder addPhotobombAnimationOverridesBuilder() {
        return getPhotobombAnimationOverridesFieldBuilder().addBuilder(
            POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverride.getDefaultInstance());
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
       */
      public POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverride.Builder addPhotobombAnimationOverridesBuilder(
          int index) {
        return getPhotobombAnimationOverridesFieldBuilder().addBuilder(
            index, POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverride.getDefaultInstance());
      }
      /**
       * repeated .POGOProtos.Settings.Master.Pokemon.AnimationOverride photobomb_animation_overrides = 45;
       */
      public java.util.List 
           getPhotobombAnimationOverridesBuilderList() {
        return getPhotobombAnimationOverridesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverride, POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverride.Builder, POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverrideOrBuilder> 
          getPhotobombAnimationOverridesFieldBuilder() {
        if (photobombAnimationOverridesBuilder_ == null) {
          photobombAnimationOverridesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverride, POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverride.Builder, POGOProtos.Settings.Master.Pokemon.AnimationOverrideOuterClass.AnimationOverrideOrBuilder>(
                  photobombAnimationOverrides_,
                  ((bitField1_ & 0x00000800) == 0x00000800),
                  getParentForChildren(),
                  isClean());
          photobombAnimationOverrides_ = null;
        }
        return photobombAnimationOverridesBuilder_;
      }
      @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.Settings.Master.PokemonSettings)
    }

    // @@protoc_insertion_point(class_scope:POGOProtos.Settings.Master.PokemonSettings)
    private static final POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings();
    }

    public static POGOProtos.Settings.Master.PokemonSettingsOuterClass.PokemonSettings getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public PokemonSettings parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PokemonSettings(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.Settings.Master.PokemonSettingsOuterClass.PokemonSettings getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_POGOProtos_Settings_Master_PokemonSettings_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_POGOProtos_Settings_Master_PokemonSettings_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_POGOProtos_Settings_Master_PokemonSettings_PokemonThirdMoveAttributes_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_POGOProtos_Settings_Master_PokemonSettings_PokemonThirdMoveAttributes_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n0POGOProtos/Settings/Master/PokemonSett" +
      "ings.proto\022\032POGOProtos.Settings.Master\032 " +
      "POGOProtos/Enums/BuddySize.proto\032\033POGOPr" +
      "otos/Enums/Form.proto\032 POGOProtos/Enums/" +
      "PokemonId.proto\032$POGOProtos/Enums/Pokemo" +
      "nRarity.proto\032\"POGOProtos/Enums/PokemonT" +
      "ype.proto\032\"POGOProtos/Enums/PokemonMove." +
      "proto\032&POGOProtos/Enums/PokemonFamilyId." +
      "proto\0328POGOProtos/Settings/Master/Pokemo" +
      "n/StatsAttributes.proto\0329POGOProtos/Sett" +
      "ings/Master/Pokemon/CameraAttributes.pro" +
      "to\032




© 2015 - 2025 Weber Informatics LLC | Privacy Policy