public void MergeFrom(GlobalSettings other)
 {
     if (other == null)
     {
         return;
     }
     if (other.fortSettings_ != null)
     {
         if (fortSettings_ == null)
         {
             fortSettings_ = new global::POGOProtos.Settings.FortSettings();
         }
         FortSettings.MergeFrom(other.FortSettings);
     }
     if (other.mapSettings_ != null)
     {
         if (mapSettings_ == null)
         {
             mapSettings_ = new global::POGOProtos.Settings.MapSettings();
         }
         MapSettings.MergeFrom(other.MapSettings);
     }
     if (other.levelSettings_ != null)
     {
         if (levelSettings_ == null)
         {
             levelSettings_ = new global::POGOProtos.Settings.LevelSettings();
         }
         LevelSettings.MergeFrom(other.LevelSettings);
     }
     if (other.inventorySettings_ != null)
     {
         if (inventorySettings_ == null)
         {
             inventorySettings_ = new global::POGOProtos.Settings.InventorySettings();
         }
         InventorySettings.MergeFrom(other.InventorySettings);
     }
     if (other.MinimumClientVersion.Length != 0)
     {
         MinimumClientVersion = other.MinimumClientVersion;
     }
     if (other.gpsSettings_ != null)
     {
         if (gpsSettings_ == null)
         {
             gpsSettings_ = new global::POGOProtos.Settings.GpsSettings();
         }
         GpsSettings.MergeFrom(other.GpsSettings);
     }
     if (other.festivalSettings_ != null)
     {
         if (festivalSettings_ == null)
         {
             festivalSettings_ = new global::POGOProtos.Settings.FestivalSettings();
         }
         FestivalSettings.MergeFrom(other.FestivalSettings);
     }
     if (other.eventSettings_ != null)
     {
         if (eventSettings_ == null)
         {
             eventSettings_ = new global::POGOProtos.Settings.EventSettings();
         }
         EventSettings.MergeFrom(other.EventSettings);
     }
     if (other.MaxPokemonTypes != 0)
     {
         MaxPokemonTypes = other.MaxPokemonTypes;
     }
     if (other.sfidaSettings_ != null)
     {
         if (sfidaSettings_ == null)
         {
             sfidaSettings_ = new global::POGOProtos.Settings.SfidaSettings();
         }
         SfidaSettings.MergeFrom(other.SfidaSettings);
     }
     if (other.newsSettings_ != null)
     {
         if (newsSettings_ == null)
         {
             newsSettings_ = new global::POGOProtos.Settings.NewsSettings();
         }
         NewsSettings.MergeFrom(other.NewsSettings);
     }
     if (other.translationSettings_ != null)
     {
         if (translationSettings_ == null)
         {
             translationSettings_ = new global::POGOProtos.Settings.TranslationSettings();
         }
         TranslationSettings.MergeFrom(other.TranslationSettings);
     }
     if (other.passcodeSettings_ != null)
     {
         if (passcodeSettings_ == null)
         {
             passcodeSettings_ = new global::POGOProtos.Settings.PasscodeSettings();
         }
         PasscodeSettings.MergeFrom(other.PasscodeSettings);
     }
     if (other.notificationSettings_ != null)
     {
         if (notificationSettings_ == null)
         {
             notificationSettings_ = new global::POGOProtos.Settings.NotificationSettings();
         }
         NotificationSettings.MergeFrom(other.NotificationSettings);
     }
     clientAppBlacklist_.Add(other.clientAppBlacklist_);
     if (other.clientPerfSettings_ != null)
     {
         if (clientPerfSettings_ == null)
         {
             clientPerfSettings_ = new global::POGOProtos.Settings.ClientPerformanceSettings();
         }
         ClientPerfSettings.MergeFrom(other.ClientPerfSettings);
     }
     if (other.newsGlobalSettings_ != null)
     {
         if (newsGlobalSettings_ == null)
         {
             newsGlobalSettings_ = new global::POGOProtos.Settings.NewsGlobalSettings();
         }
         NewsGlobalSettings.MergeFrom(other.NewsGlobalSettings);
     }
     if (other.telemetryGlobalSettings_ != null)
     {
         if (telemetryGlobalSettings_ == null)
         {
             telemetryGlobalSettings_ = new global::POGOProtos.Settings.TelemetryGlobalSettings();
         }
         TelemetryGlobalSettings.MergeFrom(other.TelemetryGlobalSettings);
     }
     if (other.loginSettings_ != null)
     {
         if (loginSettings_ == null)
         {
             loginSettings_ = new global::POGOProtos.Settings.LoginSettings();
         }
         LoginSettings.MergeFrom(other.LoginSettings);
     }
     if (other.questGlobalSettings_ != null)
     {
         if (questGlobalSettings_ == null)
         {
             questGlobalSettings_ = new global::POGOProtos.Settings.QuestGlobalSettings();
         }
         QuestGlobalSettings.MergeFrom(other.QuestGlobalSettings);
     }
     if (other.socialSettings_ != null)
     {
         if (socialSettings_ == null)
         {
             socialSettings_ = new global::POGOProtos.Settings.SocialClientSettings();
         }
         SocialSettings.MergeFrom(other.SocialSettings);
     }
     if (other.tradingGlobalSettings_ != null)
     {
         if (tradingGlobalSettings_ == null)
         {
             tradingGlobalSettings_ = new global::POGOProtos.Settings.TradingGlobalSettings();
         }
         TradingGlobalSettings.MergeFrom(other.TradingGlobalSettings);
     }
     _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
 }
        public void MergeFrom(pb::CodedInputStream input)
        {
            uint tag;

            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                default:
                    _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
                    break;

                case 18: {
                    if (fortSettings_ == null)
                    {
                        fortSettings_ = new global::POGOProtos.Settings.FortSettings();
                    }
                    input.ReadMessage(fortSettings_);
                    break;
                }

                case 26: {
                    if (mapSettings_ == null)
                    {
                        mapSettings_ = new global::POGOProtos.Settings.MapSettings();
                    }
                    input.ReadMessage(mapSettings_);
                    break;
                }

                case 34: {
                    if (levelSettings_ == null)
                    {
                        levelSettings_ = new global::POGOProtos.Settings.LevelSettings();
                    }
                    input.ReadMessage(levelSettings_);
                    break;
                }

                case 42: {
                    if (inventorySettings_ == null)
                    {
                        inventorySettings_ = new global::POGOProtos.Settings.InventorySettings();
                    }
                    input.ReadMessage(inventorySettings_);
                    break;
                }

                case 50: {
                    MinimumClientVersion = input.ReadString();
                    break;
                }

                case 58: {
                    if (gpsSettings_ == null)
                    {
                        gpsSettings_ = new global::POGOProtos.Settings.GpsSettings();
                    }
                    input.ReadMessage(gpsSettings_);
                    break;
                }

                case 66: {
                    if (festivalSettings_ == null)
                    {
                        festivalSettings_ = new global::POGOProtos.Settings.FestivalSettings();
                    }
                    input.ReadMessage(festivalSettings_);
                    break;
                }

                case 74: {
                    if (eventSettings_ == null)
                    {
                        eventSettings_ = new global::POGOProtos.Settings.EventSettings();
                    }
                    input.ReadMessage(eventSettings_);
                    break;
                }

                case 80: {
                    MaxPokemonTypes = input.ReadInt32();
                    break;
                }

                case 90: {
                    if (sfidaSettings_ == null)
                    {
                        sfidaSettings_ = new global::POGOProtos.Settings.SfidaSettings();
                    }
                    input.ReadMessage(sfidaSettings_);
                    break;
                }

                case 98: {
                    if (newsSettings_ == null)
                    {
                        newsSettings_ = new global::POGOProtos.Settings.NewsSettings();
                    }
                    input.ReadMessage(newsSettings_);
                    break;
                }

                case 106: {
                    if (translationSettings_ == null)
                    {
                        translationSettings_ = new global::POGOProtos.Settings.TranslationSettings();
                    }
                    input.ReadMessage(translationSettings_);
                    break;
                }

                case 114: {
                    if (passcodeSettings_ == null)
                    {
                        passcodeSettings_ = new global::POGOProtos.Settings.PasscodeSettings();
                    }
                    input.ReadMessage(passcodeSettings_);
                    break;
                }

                case 122: {
                    if (notificationSettings_ == null)
                    {
                        notificationSettings_ = new global::POGOProtos.Settings.NotificationSettings();
                    }
                    input.ReadMessage(notificationSettings_);
                    break;
                }

                case 130: {
                    clientAppBlacklist_.AddEntriesFrom(input, _repeated_clientAppBlacklist_codec);
                    break;
                }

                case 138: {
                    if (clientPerfSettings_ == null)
                    {
                        clientPerfSettings_ = new global::POGOProtos.Settings.ClientPerformanceSettings();
                    }
                    input.ReadMessage(clientPerfSettings_);
                    break;
                }

                case 146: {
                    if (newsGlobalSettings_ == null)
                    {
                        newsGlobalSettings_ = new global::POGOProtos.Settings.NewsGlobalSettings();
                    }
                    input.ReadMessage(newsGlobalSettings_);
                    break;
                }

                case 154: {
                    if (questGlobalSettings_ == null)
                    {
                        questGlobalSettings_ = new global::POGOProtos.Settings.QuestGlobalSettings();
                    }
                    input.ReadMessage(questGlobalSettings_);
                    break;
                }

                case 170: {
                    if (telemetryGlobalSettings_ == null)
                    {
                        telemetryGlobalSettings_ = new global::POGOProtos.Settings.TelemetryGlobalSettings();
                    }
                    input.ReadMessage(telemetryGlobalSettings_);
                    break;
                }

                case 178: {
                    if (loginSettings_ == null)
                    {
                        loginSettings_ = new global::POGOProtos.Settings.LoginSettings();
                    }
                    input.ReadMessage(loginSettings_);
                    break;
                }

                case 186: {
                    if (socialSettings_ == null)
                    {
                        socialSettings_ = new global::POGOProtos.Settings.SocialClientSettings();
                    }
                    input.ReadMessage(socialSettings_);
                    break;
                }

                case 194: {
                    if (tradingGlobalSettings_ == null)
                    {
                        tradingGlobalSettings_ = new global::POGOProtos.Settings.TradingGlobalSettings();
                    }
                    input.ReadMessage(tradingGlobalSettings_);
                    break;
                }
                }
            }
        }