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

com.dota2.proto.Netmessages Maven / Gradle / Ivy

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

package com.dota2.proto;

public final class Netmessages {
  private Netmessages() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  /**
   * Protobuf enum {@code CLC_Messages}
   */
  public enum CLC_Messages
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * clc_ClientInfo = 8;
     */
    clc_ClientInfo(0, 8),
    /**
     * clc_Move = 9;
     */
    clc_Move(1, 9),
    /**
     * clc_VoiceData = 10;
     */
    clc_VoiceData(2, 10),
    /**
     * clc_BaselineAck = 11;
     */
    clc_BaselineAck(3, 11),
    /**
     * clc_ListenEvents = 12;
     */
    clc_ListenEvents(4, 12),
    /**
     * clc_RespondCvarValue = 13;
     */
    clc_RespondCvarValue(5, 13),
    /**
     * clc_FileCRCCheck = 14;
     */
    clc_FileCRCCheck(6, 14),
    /**
     * clc_LoadingProgress = 15;
     */
    clc_LoadingProgress(7, 15),
    /**
     * clc_SplitPlayerConnect = 16;
     */
    clc_SplitPlayerConnect(8, 16),
    /**
     * clc_ClientMessage = 17;
     */
    clc_ClientMessage(9, 17),
    ;

    /**
     * clc_ClientInfo = 8;
     */
    public static final int clc_ClientInfo_VALUE = 8;
    /**
     * clc_Move = 9;
     */
    public static final int clc_Move_VALUE = 9;
    /**
     * clc_VoiceData = 10;
     */
    public static final int clc_VoiceData_VALUE = 10;
    /**
     * clc_BaselineAck = 11;
     */
    public static final int clc_BaselineAck_VALUE = 11;
    /**
     * clc_ListenEvents = 12;
     */
    public static final int clc_ListenEvents_VALUE = 12;
    /**
     * clc_RespondCvarValue = 13;
     */
    public static final int clc_RespondCvarValue_VALUE = 13;
    /**
     * clc_FileCRCCheck = 14;
     */
    public static final int clc_FileCRCCheck_VALUE = 14;
    /**
     * clc_LoadingProgress = 15;
     */
    public static final int clc_LoadingProgress_VALUE = 15;
    /**
     * clc_SplitPlayerConnect = 16;
     */
    public static final int clc_SplitPlayerConnect_VALUE = 16;
    /**
     * clc_ClientMessage = 17;
     */
    public static final int clc_ClientMessage_VALUE = 17;


    public final int getNumber() { return value; }

    public static CLC_Messages valueOf(int value) {
      switch (value) {
        case 8: return clc_ClientInfo;
        case 9: return clc_Move;
        case 10: return clc_VoiceData;
        case 11: return clc_BaselineAck;
        case 12: return clc_ListenEvents;
        case 13: return clc_RespondCvarValue;
        case 14: return clc_FileCRCCheck;
        case 15: return clc_LoadingProgress;
        case 16: return clc_SplitPlayerConnect;
        case 17: return clc_ClientMessage;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public CLC_Messages findValueByNumber(int number) {
              return CLC_Messages.valueOf(number);
            }
          };

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.getDescriptor().getEnumTypes().get(0);
    }

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

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

    private final int index;
    private final int value;

    private CLC_Messages(int index, int value) {
      this.index = index;
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:CLC_Messages)
  }

  /**
   * Protobuf enum {@code SVC_Messages}
   */
  public enum SVC_Messages
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * svc_ServerInfo = 8;
     */
    svc_ServerInfo(0, 8),
    /**
     * svc_SendTable = 9;
     */
    svc_SendTable(1, 9),
    /**
     * svc_ClassInfo = 10;
     */
    svc_ClassInfo(2, 10),
    /**
     * svc_SetPause = 11;
     */
    svc_SetPause(3, 11),
    /**
     * svc_CreateStringTable = 12;
     */
    svc_CreateStringTable(4, 12),
    /**
     * svc_UpdateStringTable = 13;
     */
    svc_UpdateStringTable(5, 13),
    /**
     * svc_VoiceInit = 14;
     */
    svc_VoiceInit(6, 14),
    /**
     * svc_VoiceData = 15;
     */
    svc_VoiceData(7, 15),
    /**
     * svc_Print = 16;
     */
    svc_Print(8, 16),
    /**
     * svc_Sounds = 17;
     */
    svc_Sounds(9, 17),
    /**
     * svc_SetView = 18;
     */
    svc_SetView(10, 18),
    /**
     * svc_FixAngle = 19;
     */
    svc_FixAngle(11, 19),
    /**
     * svc_CrosshairAngle = 20;
     */
    svc_CrosshairAngle(12, 20),
    /**
     * svc_BSPDecal = 21;
     */
    svc_BSPDecal(13, 21),
    /**
     * svc_SplitScreen = 22;
     */
    svc_SplitScreen(14, 22),
    /**
     * svc_UserMessage = 23;
     */
    svc_UserMessage(15, 23),
    /**
     * svc_EntityMessage = 24;
     */
    svc_EntityMessage(16, 24),
    /**
     * svc_GameEvent = 25;
     */
    svc_GameEvent(17, 25),
    /**
     * svc_PacketEntities = 26;
     */
    svc_PacketEntities(18, 26),
    /**
     * svc_TempEntities = 27;
     */
    svc_TempEntities(19, 27),
    /**
     * svc_Prefetch = 28;
     */
    svc_Prefetch(20, 28),
    /**
     * svc_Menu = 29;
     */
    svc_Menu(21, 29),
    /**
     * svc_GameEventList = 30;
     */
    svc_GameEventList(22, 30),
    /**
     * svc_GetCvarValue = 31;
     */
    svc_GetCvarValue(23, 31),
    /**
     * svc_PacketReliable = 32;
     */
    svc_PacketReliable(24, 32),
    /**
     * svc_FullFrameSplit = 33;
     */
    svc_FullFrameSplit(25, 33),
    ;

    /**
     * svc_ServerInfo = 8;
     */
    public static final int svc_ServerInfo_VALUE = 8;
    /**
     * svc_SendTable = 9;
     */
    public static final int svc_SendTable_VALUE = 9;
    /**
     * svc_ClassInfo = 10;
     */
    public static final int svc_ClassInfo_VALUE = 10;
    /**
     * svc_SetPause = 11;
     */
    public static final int svc_SetPause_VALUE = 11;
    /**
     * svc_CreateStringTable = 12;
     */
    public static final int svc_CreateStringTable_VALUE = 12;
    /**
     * svc_UpdateStringTable = 13;
     */
    public static final int svc_UpdateStringTable_VALUE = 13;
    /**
     * svc_VoiceInit = 14;
     */
    public static final int svc_VoiceInit_VALUE = 14;
    /**
     * svc_VoiceData = 15;
     */
    public static final int svc_VoiceData_VALUE = 15;
    /**
     * svc_Print = 16;
     */
    public static final int svc_Print_VALUE = 16;
    /**
     * svc_Sounds = 17;
     */
    public static final int svc_Sounds_VALUE = 17;
    /**
     * svc_SetView = 18;
     */
    public static final int svc_SetView_VALUE = 18;
    /**
     * svc_FixAngle = 19;
     */
    public static final int svc_FixAngle_VALUE = 19;
    /**
     * svc_CrosshairAngle = 20;
     */
    public static final int svc_CrosshairAngle_VALUE = 20;
    /**
     * svc_BSPDecal = 21;
     */
    public static final int svc_BSPDecal_VALUE = 21;
    /**
     * svc_SplitScreen = 22;
     */
    public static final int svc_SplitScreen_VALUE = 22;
    /**
     * svc_UserMessage = 23;
     */
    public static final int svc_UserMessage_VALUE = 23;
    /**
     * svc_EntityMessage = 24;
     */
    public static final int svc_EntityMessage_VALUE = 24;
    /**
     * svc_GameEvent = 25;
     */
    public static final int svc_GameEvent_VALUE = 25;
    /**
     * svc_PacketEntities = 26;
     */
    public static final int svc_PacketEntities_VALUE = 26;
    /**
     * svc_TempEntities = 27;
     */
    public static final int svc_TempEntities_VALUE = 27;
    /**
     * svc_Prefetch = 28;
     */
    public static final int svc_Prefetch_VALUE = 28;
    /**
     * svc_Menu = 29;
     */
    public static final int svc_Menu_VALUE = 29;
    /**
     * svc_GameEventList = 30;
     */
    public static final int svc_GameEventList_VALUE = 30;
    /**
     * svc_GetCvarValue = 31;
     */
    public static final int svc_GetCvarValue_VALUE = 31;
    /**
     * svc_PacketReliable = 32;
     */
    public static final int svc_PacketReliable_VALUE = 32;
    /**
     * svc_FullFrameSplit = 33;
     */
    public static final int svc_FullFrameSplit_VALUE = 33;


    public final int getNumber() { return value; }

    public static SVC_Messages valueOf(int value) {
      switch (value) {
        case 8: return svc_ServerInfo;
        case 9: return svc_SendTable;
        case 10: return svc_ClassInfo;
        case 11: return svc_SetPause;
        case 12: return svc_CreateStringTable;
        case 13: return svc_UpdateStringTable;
        case 14: return svc_VoiceInit;
        case 15: return svc_VoiceData;
        case 16: return svc_Print;
        case 17: return svc_Sounds;
        case 18: return svc_SetView;
        case 19: return svc_FixAngle;
        case 20: return svc_CrosshairAngle;
        case 21: return svc_BSPDecal;
        case 22: return svc_SplitScreen;
        case 23: return svc_UserMessage;
        case 24: return svc_EntityMessage;
        case 25: return svc_GameEvent;
        case 26: return svc_PacketEntities;
        case 27: return svc_TempEntities;
        case 28: return svc_Prefetch;
        case 29: return svc_Menu;
        case 30: return svc_GameEventList;
        case 31: return svc_GetCvarValue;
        case 32: return svc_PacketReliable;
        case 33: return svc_FullFrameSplit;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public SVC_Messages findValueByNumber(int number) {
              return SVC_Messages.valueOf(number);
            }
          };

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.getDescriptor().getEnumTypes().get(1);
    }

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

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

    private final int index;
    private final int value;

    private SVC_Messages(int index, int value) {
      this.index = index;
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:SVC_Messages)
  }

  /**
   * Protobuf enum {@code VoiceDataFormat_t}
   */
  public enum VoiceDataFormat_t
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * VOICEDATA_FORMAT_STEAM = 0;
     */
    VOICEDATA_FORMAT_STEAM(0, 0),
    /**
     * VOICEDATA_FORMAT_ENGINE = 1;
     */
    VOICEDATA_FORMAT_ENGINE(1, 1),
    ;

    /**
     * VOICEDATA_FORMAT_STEAM = 0;
     */
    public static final int VOICEDATA_FORMAT_STEAM_VALUE = 0;
    /**
     * VOICEDATA_FORMAT_ENGINE = 1;
     */
    public static final int VOICEDATA_FORMAT_ENGINE_VALUE = 1;


    public final int getNumber() { return value; }

    public static VoiceDataFormat_t valueOf(int value) {
      switch (value) {
        case 0: return VOICEDATA_FORMAT_STEAM;
        case 1: return VOICEDATA_FORMAT_ENGINE;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public VoiceDataFormat_t findValueByNumber(int number) {
              return VoiceDataFormat_t.valueOf(number);
            }
          };

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.getDescriptor().getEnumTypes().get(2);
    }

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

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

    private final int index;
    private final int value;

    private VoiceDataFormat_t(int index, int value) {
      this.index = index;
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:VoiceDataFormat_t)
  }

  /**
   * Protobuf enum {@code ESplitScreenMessageType}
   */
  public enum ESplitScreenMessageType
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * MSG_SPLITSCREEN_ADDUSER = 0;
     */
    MSG_SPLITSCREEN_ADDUSER(0, 0),
    /**
     * MSG_SPLITSCREEN_REMOVEUSER = 1;
     */
    MSG_SPLITSCREEN_REMOVEUSER(1, 1),
    ;

    /**
     * MSG_SPLITSCREEN_ADDUSER = 0;
     */
    public static final int MSG_SPLITSCREEN_ADDUSER_VALUE = 0;
    /**
     * MSG_SPLITSCREEN_REMOVEUSER = 1;
     */
    public static final int MSG_SPLITSCREEN_REMOVEUSER_VALUE = 1;


    public final int getNumber() { return value; }

    public static ESplitScreenMessageType valueOf(int value) {
      switch (value) {
        case 0: return MSG_SPLITSCREEN_ADDUSER;
        case 1: return MSG_SPLITSCREEN_REMOVEUSER;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public ESplitScreenMessageType findValueByNumber(int number) {
              return ESplitScreenMessageType.valueOf(number);
            }
          };

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.getDescriptor().getEnumTypes().get(3);
    }

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

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

    private final int index;
    private final int value;

    private ESplitScreenMessageType(int index, int value) {
      this.index = index;
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:ESplitScreenMessageType)
  }

  public interface CCLCMsg_ClientInfoOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional fixed32 send_table_crc = 1;
    /**
     * optional fixed32 send_table_crc = 1;
     */
    boolean hasSendTableCrc();
    /**
     * optional fixed32 send_table_crc = 1;
     */
    int getSendTableCrc();

    // optional uint32 server_count = 2;
    /**
     * optional uint32 server_count = 2;
     */
    boolean hasServerCount();
    /**
     * optional uint32 server_count = 2;
     */
    int getServerCount();

    // optional bool is_hltv = 3;
    /**
     * optional bool is_hltv = 3;
     */
    boolean hasIsHltv();
    /**
     * optional bool is_hltv = 3;
     */
    boolean getIsHltv();

    // optional bool is_replay = 4;
    /**
     * optional bool is_replay = 4;
     */
    boolean hasIsReplay();
    /**
     * optional bool is_replay = 4;
     */
    boolean getIsReplay();

    // optional uint32 friends_id = 5;
    /**
     * optional uint32 friends_id = 5;
     */
    boolean hasFriendsId();
    /**
     * optional uint32 friends_id = 5;
     */
    int getFriendsId();

    // optional string friends_name = 6;
    /**
     * optional string friends_name = 6;
     */
    boolean hasFriendsName();
    /**
     * optional string friends_name = 6;
     */
    java.lang.String getFriendsName();
    /**
     * optional string friends_name = 6;
     */
    com.google.protobuf.ByteString
        getFriendsNameBytes();

    // repeated fixed32 custom_files = 7;
    /**
     * repeated fixed32 custom_files = 7;
     */
    java.util.List getCustomFilesList();
    /**
     * repeated fixed32 custom_files = 7;
     */
    int getCustomFilesCount();
    /**
     * repeated fixed32 custom_files = 7;
     */
    int getCustomFiles(int index);
  }
  /**
   * Protobuf type {@code CCLCMsg_ClientInfo}
   */
  public static final class CCLCMsg_ClientInfo extends
      com.google.protobuf.GeneratedMessage
      implements CCLCMsg_ClientInfoOrBuilder {
    // Use CCLCMsg_ClientInfo.newBuilder() to construct.
    private CCLCMsg_ClientInfo(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CCLCMsg_ClientInfo(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CCLCMsg_ClientInfo defaultInstance;
    public static CCLCMsg_ClientInfo getDefaultInstance() {
      return defaultInstance;
    }

    public CCLCMsg_ClientInfo getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CCLCMsg_ClientInfo(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 13: {
              bitField0_ |= 0x00000001;
              sendTableCrc_ = input.readFixed32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              serverCount_ = input.readUInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              isHltv_ = input.readBool();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              isReplay_ = input.readBool();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              friendsId_ = input.readUInt32();
              break;
            }
            case 50: {
              bitField0_ |= 0x00000020;
              friendsName_ = input.readBytes();
              break;
            }
            case 61: {
              if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
                customFiles_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000040;
              }
              customFiles_.add(input.readFixed32());
              break;
            }
            case 58: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000040) == 0x00000040) && input.getBytesUntilLimit() > 0) {
                customFiles_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000040;
              }
              while (input.getBytesUntilLimit() > 0) {
                customFiles_.add(input.readFixed32());
              }
              input.popLimit(limit);
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
          customFiles_ = java.util.Collections.unmodifiableList(customFiles_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CCLCMsg_ClientInfo_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CCLCMsg_ClientInfo_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CCLCMsg_ClientInfo.class, com.dota2.proto.Netmessages.CCLCMsg_ClientInfo.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CCLCMsg_ClientInfo parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CCLCMsg_ClientInfo(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional fixed32 send_table_crc = 1;
    public static final int SEND_TABLE_CRC_FIELD_NUMBER = 1;
    private int sendTableCrc_;
    /**
     * optional fixed32 send_table_crc = 1;
     */
    public boolean hasSendTableCrc() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional fixed32 send_table_crc = 1;
     */
    public int getSendTableCrc() {
      return sendTableCrc_;
    }

    // optional uint32 server_count = 2;
    public static final int SERVER_COUNT_FIELD_NUMBER = 2;
    private int serverCount_;
    /**
     * optional uint32 server_count = 2;
     */
    public boolean hasServerCount() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional uint32 server_count = 2;
     */
    public int getServerCount() {
      return serverCount_;
    }

    // optional bool is_hltv = 3;
    public static final int IS_HLTV_FIELD_NUMBER = 3;
    private boolean isHltv_;
    /**
     * optional bool is_hltv = 3;
     */
    public boolean hasIsHltv() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional bool is_hltv = 3;
     */
    public boolean getIsHltv() {
      return isHltv_;
    }

    // optional bool is_replay = 4;
    public static final int IS_REPLAY_FIELD_NUMBER = 4;
    private boolean isReplay_;
    /**
     * optional bool is_replay = 4;
     */
    public boolean hasIsReplay() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional bool is_replay = 4;
     */
    public boolean getIsReplay() {
      return isReplay_;
    }

    // optional uint32 friends_id = 5;
    public static final int FRIENDS_ID_FIELD_NUMBER = 5;
    private int friendsId_;
    /**
     * optional uint32 friends_id = 5;
     */
    public boolean hasFriendsId() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional uint32 friends_id = 5;
     */
    public int getFriendsId() {
      return friendsId_;
    }

    // optional string friends_name = 6;
    public static final int FRIENDS_NAME_FIELD_NUMBER = 6;
    private java.lang.Object friendsName_;
    /**
     * optional string friends_name = 6;
     */
    public boolean hasFriendsName() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional string friends_name = 6;
     */
    public java.lang.String getFriendsName() {
      java.lang.Object ref = friendsName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          friendsName_ = s;
        }
        return s;
      }
    }
    /**
     * optional string friends_name = 6;
     */
    public com.google.protobuf.ByteString
        getFriendsNameBytes() {
      java.lang.Object ref = friendsName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        friendsName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // repeated fixed32 custom_files = 7;
    public static final int CUSTOM_FILES_FIELD_NUMBER = 7;
    private java.util.List customFiles_;
    /**
     * repeated fixed32 custom_files = 7;
     */
    public java.util.List
        getCustomFilesList() {
      return customFiles_;
    }
    /**
     * repeated fixed32 custom_files = 7;
     */
    public int getCustomFilesCount() {
      return customFiles_.size();
    }
    /**
     * repeated fixed32 custom_files = 7;
     */
    public int getCustomFiles(int index) {
      return customFiles_.get(index);
    }

    private void initFields() {
      sendTableCrc_ = 0;
      serverCount_ = 0;
      isHltv_ = false;
      isReplay_ = false;
      friendsId_ = 0;
      friendsName_ = "";
      customFiles_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeFixed32(1, sendTableCrc_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeUInt32(2, serverCount_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBool(3, isHltv_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBool(4, isReplay_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeUInt32(5, friendsId_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeBytes(6, getFriendsNameBytes());
      }
      for (int i = 0; i < customFiles_.size(); i++) {
        output.writeFixed32(7, customFiles_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(1, sendTableCrc_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, serverCount_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, isHltv_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(4, isReplay_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, friendsId_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(6, getFriendsNameBytes());
      }
      {
        int dataSize = 0;
        dataSize = 4 * getCustomFilesList().size();
        size += dataSize;
        size += 1 * getCustomFilesList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CCLCMsg_ClientInfo parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ClientInfo parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ClientInfo parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ClientInfo parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ClientInfo parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ClientInfo parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ClientInfo parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ClientInfo parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ClientInfo parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ClientInfo parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CCLCMsg_ClientInfo prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CCLCMsg_ClientInfo}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CCLCMsg_ClientInfoOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_ClientInfo_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_ClientInfo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CCLCMsg_ClientInfo.class, com.dota2.proto.Netmessages.CCLCMsg_ClientInfo.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CCLCMsg_ClientInfo.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        sendTableCrc_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        serverCount_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        isHltv_ = false;
        bitField0_ = (bitField0_ & ~0x00000004);
        isReplay_ = false;
        bitField0_ = (bitField0_ & ~0x00000008);
        friendsId_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        friendsName_ = "";
        bitField0_ = (bitField0_ & ~0x00000020);
        customFiles_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000040);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_ClientInfo_descriptor;
      }

      public com.dota2.proto.Netmessages.CCLCMsg_ClientInfo getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CCLCMsg_ClientInfo.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CCLCMsg_ClientInfo build() {
        com.dota2.proto.Netmessages.CCLCMsg_ClientInfo result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CCLCMsg_ClientInfo buildPartial() {
        com.dota2.proto.Netmessages.CCLCMsg_ClientInfo result = new com.dota2.proto.Netmessages.CCLCMsg_ClientInfo(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.sendTableCrc_ = sendTableCrc_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.serverCount_ = serverCount_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.isHltv_ = isHltv_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.isReplay_ = isReplay_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.friendsId_ = friendsId_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.friendsName_ = friendsName_;
        if (((bitField0_ & 0x00000040) == 0x00000040)) {
          customFiles_ = java.util.Collections.unmodifiableList(customFiles_);
          bitField0_ = (bitField0_ & ~0x00000040);
        }
        result.customFiles_ = customFiles_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CCLCMsg_ClientInfo) {
          return mergeFrom((com.dota2.proto.Netmessages.CCLCMsg_ClientInfo)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CCLCMsg_ClientInfo other) {
        if (other == com.dota2.proto.Netmessages.CCLCMsg_ClientInfo.getDefaultInstance()) return this;
        if (other.hasSendTableCrc()) {
          setSendTableCrc(other.getSendTableCrc());
        }
        if (other.hasServerCount()) {
          setServerCount(other.getServerCount());
        }
        if (other.hasIsHltv()) {
          setIsHltv(other.getIsHltv());
        }
        if (other.hasIsReplay()) {
          setIsReplay(other.getIsReplay());
        }
        if (other.hasFriendsId()) {
          setFriendsId(other.getFriendsId());
        }
        if (other.hasFriendsName()) {
          bitField0_ |= 0x00000020;
          friendsName_ = other.friendsName_;
          onChanged();
        }
        if (!other.customFiles_.isEmpty()) {
          if (customFiles_.isEmpty()) {
            customFiles_ = other.customFiles_;
            bitField0_ = (bitField0_ & ~0x00000040);
          } else {
            ensureCustomFilesIsMutable();
            customFiles_.addAll(other.customFiles_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CCLCMsg_ClientInfo parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CCLCMsg_ClientInfo) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional fixed32 send_table_crc = 1;
      private int sendTableCrc_ ;
      /**
       * optional fixed32 send_table_crc = 1;
       */
      public boolean hasSendTableCrc() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional fixed32 send_table_crc = 1;
       */
      public int getSendTableCrc() {
        return sendTableCrc_;
      }
      /**
       * optional fixed32 send_table_crc = 1;
       */
      public Builder setSendTableCrc(int value) {
        bitField0_ |= 0x00000001;
        sendTableCrc_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 send_table_crc = 1;
       */
      public Builder clearSendTableCrc() {
        bitField0_ = (bitField0_ & ~0x00000001);
        sendTableCrc_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 server_count = 2;
      private int serverCount_ ;
      /**
       * optional uint32 server_count = 2;
       */
      public boolean hasServerCount() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional uint32 server_count = 2;
       */
      public int getServerCount() {
        return serverCount_;
      }
      /**
       * optional uint32 server_count = 2;
       */
      public Builder setServerCount(int value) {
        bitField0_ |= 0x00000002;
        serverCount_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 server_count = 2;
       */
      public Builder clearServerCount() {
        bitField0_ = (bitField0_ & ~0x00000002);
        serverCount_ = 0;
        onChanged();
        return this;
      }

      // optional bool is_hltv = 3;
      private boolean isHltv_ ;
      /**
       * optional bool is_hltv = 3;
       */
      public boolean hasIsHltv() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional bool is_hltv = 3;
       */
      public boolean getIsHltv() {
        return isHltv_;
      }
      /**
       * optional bool is_hltv = 3;
       */
      public Builder setIsHltv(boolean value) {
        bitField0_ |= 0x00000004;
        isHltv_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool is_hltv = 3;
       */
      public Builder clearIsHltv() {
        bitField0_ = (bitField0_ & ~0x00000004);
        isHltv_ = false;
        onChanged();
        return this;
      }

      // optional bool is_replay = 4;
      private boolean isReplay_ ;
      /**
       * optional bool is_replay = 4;
       */
      public boolean hasIsReplay() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional bool is_replay = 4;
       */
      public boolean getIsReplay() {
        return isReplay_;
      }
      /**
       * optional bool is_replay = 4;
       */
      public Builder setIsReplay(boolean value) {
        bitField0_ |= 0x00000008;
        isReplay_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool is_replay = 4;
       */
      public Builder clearIsReplay() {
        bitField0_ = (bitField0_ & ~0x00000008);
        isReplay_ = false;
        onChanged();
        return this;
      }

      // optional uint32 friends_id = 5;
      private int friendsId_ ;
      /**
       * optional uint32 friends_id = 5;
       */
      public boolean hasFriendsId() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional uint32 friends_id = 5;
       */
      public int getFriendsId() {
        return friendsId_;
      }
      /**
       * optional uint32 friends_id = 5;
       */
      public Builder setFriendsId(int value) {
        bitField0_ |= 0x00000010;
        friendsId_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 friends_id = 5;
       */
      public Builder clearFriendsId() {
        bitField0_ = (bitField0_ & ~0x00000010);
        friendsId_ = 0;
        onChanged();
        return this;
      }

      // optional string friends_name = 6;
      private java.lang.Object friendsName_ = "";
      /**
       * optional string friends_name = 6;
       */
      public boolean hasFriendsName() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional string friends_name = 6;
       */
      public java.lang.String getFriendsName() {
        java.lang.Object ref = friendsName_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          friendsName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string friends_name = 6;
       */
      public com.google.protobuf.ByteString
          getFriendsNameBytes() {
        java.lang.Object ref = friendsName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          friendsName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string friends_name = 6;
       */
      public Builder setFriendsName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        friendsName_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string friends_name = 6;
       */
      public Builder clearFriendsName() {
        bitField0_ = (bitField0_ & ~0x00000020);
        friendsName_ = getDefaultInstance().getFriendsName();
        onChanged();
        return this;
      }
      /**
       * optional string friends_name = 6;
       */
      public Builder setFriendsNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        friendsName_ = value;
        onChanged();
        return this;
      }

      // repeated fixed32 custom_files = 7;
      private java.util.List customFiles_ = java.util.Collections.emptyList();
      private void ensureCustomFilesIsMutable() {
        if (!((bitField0_ & 0x00000040) == 0x00000040)) {
          customFiles_ = new java.util.ArrayList(customFiles_);
          bitField0_ |= 0x00000040;
         }
      }
      /**
       * repeated fixed32 custom_files = 7;
       */
      public java.util.List
          getCustomFilesList() {
        return java.util.Collections.unmodifiableList(customFiles_);
      }
      /**
       * repeated fixed32 custom_files = 7;
       */
      public int getCustomFilesCount() {
        return customFiles_.size();
      }
      /**
       * repeated fixed32 custom_files = 7;
       */
      public int getCustomFiles(int index) {
        return customFiles_.get(index);
      }
      /**
       * repeated fixed32 custom_files = 7;
       */
      public Builder setCustomFiles(
          int index, int value) {
        ensureCustomFilesIsMutable();
        customFiles_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated fixed32 custom_files = 7;
       */
      public Builder addCustomFiles(int value) {
        ensureCustomFilesIsMutable();
        customFiles_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated fixed32 custom_files = 7;
       */
      public Builder addAllCustomFiles(
          java.lang.Iterable values) {
        ensureCustomFilesIsMutable();
        super.addAll(values, customFiles_);
        onChanged();
        return this;
      }
      /**
       * repeated fixed32 custom_files = 7;
       */
      public Builder clearCustomFiles() {
        customFiles_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000040);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CCLCMsg_ClientInfo)
    }

    static {
      defaultInstance = new CCLCMsg_ClientInfo(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CCLCMsg_ClientInfo)
  }

  public interface CCLCMsg_MoveOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional uint32 num_backup_commands = 1;
    /**
     * optional uint32 num_backup_commands = 1;
     */
    boolean hasNumBackupCommands();
    /**
     * optional uint32 num_backup_commands = 1;
     */
    int getNumBackupCommands();

    // optional uint32 num_new_commands = 2;
    /**
     * optional uint32 num_new_commands = 2;
     */
    boolean hasNumNewCommands();
    /**
     * optional uint32 num_new_commands = 2;
     */
    int getNumNewCommands();

    // optional bytes data = 3;
    /**
     * optional bytes data = 3;
     */
    boolean hasData();
    /**
     * optional bytes data = 3;
     */
    com.google.protobuf.ByteString getData();
  }
  /**
   * Protobuf type {@code CCLCMsg_Move}
   */
  public static final class CCLCMsg_Move extends
      com.google.protobuf.GeneratedMessage
      implements CCLCMsg_MoveOrBuilder {
    // Use CCLCMsg_Move.newBuilder() to construct.
    private CCLCMsg_Move(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CCLCMsg_Move(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CCLCMsg_Move defaultInstance;
    public static CCLCMsg_Move getDefaultInstance() {
      return defaultInstance;
    }

    public CCLCMsg_Move getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CCLCMsg_Move(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              numBackupCommands_ = input.readUInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              numNewCommands_ = input.readUInt32();
              break;
            }
            case 26: {
              bitField0_ |= 0x00000004;
              data_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CCLCMsg_Move_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CCLCMsg_Move_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CCLCMsg_Move.class, com.dota2.proto.Netmessages.CCLCMsg_Move.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CCLCMsg_Move parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CCLCMsg_Move(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional uint32 num_backup_commands = 1;
    public static final int NUM_BACKUP_COMMANDS_FIELD_NUMBER = 1;
    private int numBackupCommands_;
    /**
     * optional uint32 num_backup_commands = 1;
     */
    public boolean hasNumBackupCommands() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 num_backup_commands = 1;
     */
    public int getNumBackupCommands() {
      return numBackupCommands_;
    }

    // optional uint32 num_new_commands = 2;
    public static final int NUM_NEW_COMMANDS_FIELD_NUMBER = 2;
    private int numNewCommands_;
    /**
     * optional uint32 num_new_commands = 2;
     */
    public boolean hasNumNewCommands() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional uint32 num_new_commands = 2;
     */
    public int getNumNewCommands() {
      return numNewCommands_;
    }

    // optional bytes data = 3;
    public static final int DATA_FIELD_NUMBER = 3;
    private com.google.protobuf.ByteString data_;
    /**
     * optional bytes data = 3;
     */
    public boolean hasData() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional bytes data = 3;
     */
    public com.google.protobuf.ByteString getData() {
      return data_;
    }

    private void initFields() {
      numBackupCommands_ = 0;
      numNewCommands_ = 0;
      data_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, numBackupCommands_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeUInt32(2, numNewCommands_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(3, data_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, numBackupCommands_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, numNewCommands_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, data_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CCLCMsg_Move parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_Move parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_Move parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_Move parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_Move parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_Move parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_Move parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_Move parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_Move parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_Move parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CCLCMsg_Move prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CCLCMsg_Move}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CCLCMsg_MoveOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_Move_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_Move_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CCLCMsg_Move.class, com.dota2.proto.Netmessages.CCLCMsg_Move.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CCLCMsg_Move.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        numBackupCommands_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        numNewCommands_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        data_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_Move_descriptor;
      }

      public com.dota2.proto.Netmessages.CCLCMsg_Move getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CCLCMsg_Move.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CCLCMsg_Move build() {
        com.dota2.proto.Netmessages.CCLCMsg_Move result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CCLCMsg_Move buildPartial() {
        com.dota2.proto.Netmessages.CCLCMsg_Move result = new com.dota2.proto.Netmessages.CCLCMsg_Move(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.numBackupCommands_ = numBackupCommands_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.numNewCommands_ = numNewCommands_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.data_ = data_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CCLCMsg_Move) {
          return mergeFrom((com.dota2.proto.Netmessages.CCLCMsg_Move)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CCLCMsg_Move other) {
        if (other == com.dota2.proto.Netmessages.CCLCMsg_Move.getDefaultInstance()) return this;
        if (other.hasNumBackupCommands()) {
          setNumBackupCommands(other.getNumBackupCommands());
        }
        if (other.hasNumNewCommands()) {
          setNumNewCommands(other.getNumNewCommands());
        }
        if (other.hasData()) {
          setData(other.getData());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CCLCMsg_Move parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CCLCMsg_Move) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional uint32 num_backup_commands = 1;
      private int numBackupCommands_ ;
      /**
       * optional uint32 num_backup_commands = 1;
       */
      public boolean hasNumBackupCommands() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 num_backup_commands = 1;
       */
      public int getNumBackupCommands() {
        return numBackupCommands_;
      }
      /**
       * optional uint32 num_backup_commands = 1;
       */
      public Builder setNumBackupCommands(int value) {
        bitField0_ |= 0x00000001;
        numBackupCommands_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 num_backup_commands = 1;
       */
      public Builder clearNumBackupCommands() {
        bitField0_ = (bitField0_ & ~0x00000001);
        numBackupCommands_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 num_new_commands = 2;
      private int numNewCommands_ ;
      /**
       * optional uint32 num_new_commands = 2;
       */
      public boolean hasNumNewCommands() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional uint32 num_new_commands = 2;
       */
      public int getNumNewCommands() {
        return numNewCommands_;
      }
      /**
       * optional uint32 num_new_commands = 2;
       */
      public Builder setNumNewCommands(int value) {
        bitField0_ |= 0x00000002;
        numNewCommands_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 num_new_commands = 2;
       */
      public Builder clearNumNewCommands() {
        bitField0_ = (bitField0_ & ~0x00000002);
        numNewCommands_ = 0;
        onChanged();
        return this;
      }

      // optional bytes data = 3;
      private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes data = 3;
       */
      public boolean hasData() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional bytes data = 3;
       */
      public com.google.protobuf.ByteString getData() {
        return data_;
      }
      /**
       * optional bytes data = 3;
       */
      public Builder setData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        data_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes data = 3;
       */
      public Builder clearData() {
        bitField0_ = (bitField0_ & ~0x00000004);
        data_ = getDefaultInstance().getData();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CCLCMsg_Move)
    }

    static {
      defaultInstance = new CCLCMsg_Move(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CCLCMsg_Move)
  }

  public interface CCLCMsg_VoiceDataOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional bytes data = 1;
    /**
     * optional bytes data = 1;
     */
    boolean hasData();
    /**
     * optional bytes data = 1;
     */
    com.google.protobuf.ByteString getData();

    // optional fixed64 xuid = 2;
    /**
     * optional fixed64 xuid = 2;
     */
    boolean hasXuid();
    /**
     * optional fixed64 xuid = 2;
     */
    long getXuid();

    // optional .VoiceDataFormat_t format = 3 [default = VOICEDATA_FORMAT_STEAM];
    /**
     * optional .VoiceDataFormat_t format = 3 [default = VOICEDATA_FORMAT_STEAM];
     */
    boolean hasFormat();
    /**
     * optional .VoiceDataFormat_t format = 3 [default = VOICEDATA_FORMAT_STEAM];
     */
    com.dota2.proto.Netmessages.VoiceDataFormat_t getFormat();

    // optional int32 sequence_bytes = 4;
    /**
     * optional int32 sequence_bytes = 4;
     */
    boolean hasSequenceBytes();
    /**
     * optional int32 sequence_bytes = 4;
     */
    int getSequenceBytes();

    // optional uint32 section_number = 5;
    /**
     * optional uint32 section_number = 5;
     */
    boolean hasSectionNumber();
    /**
     * optional uint32 section_number = 5;
     */
    int getSectionNumber();

    // optional uint32 uncompressed_sample_offset = 6;
    /**
     * optional uint32 uncompressed_sample_offset = 6;
     */
    boolean hasUncompressedSampleOffset();
    /**
     * optional uint32 uncompressed_sample_offset = 6;
     */
    int getUncompressedSampleOffset();

    // optional uint32 tick = 7;
    /**
     * optional uint32 tick = 7;
     */
    boolean hasTick();
    /**
     * optional uint32 tick = 7;
     */
    int getTick();
  }
  /**
   * Protobuf type {@code CCLCMsg_VoiceData}
   */
  public static final class CCLCMsg_VoiceData extends
      com.google.protobuf.GeneratedMessage
      implements CCLCMsg_VoiceDataOrBuilder {
    // Use CCLCMsg_VoiceData.newBuilder() to construct.
    private CCLCMsg_VoiceData(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CCLCMsg_VoiceData(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CCLCMsg_VoiceData defaultInstance;
    public static CCLCMsg_VoiceData getDefaultInstance() {
      return defaultInstance;
    }

    public CCLCMsg_VoiceData getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CCLCMsg_VoiceData(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              data_ = input.readBytes();
              break;
            }
            case 17: {
              bitField0_ |= 0x00000002;
              xuid_ = input.readFixed64();
              break;
            }
            case 24: {
              int rawValue = input.readEnum();
              com.dota2.proto.Netmessages.VoiceDataFormat_t value = com.dota2.proto.Netmessages.VoiceDataFormat_t.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(3, rawValue);
              } else {
                bitField0_ |= 0x00000004;
                format_ = value;
              }
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              sequenceBytes_ = input.readInt32();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              sectionNumber_ = input.readUInt32();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              uncompressedSampleOffset_ = input.readUInt32();
              break;
            }
            case 56: {
              bitField0_ |= 0x00000040;
              tick_ = input.readUInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CCLCMsg_VoiceData_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CCLCMsg_VoiceData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CCLCMsg_VoiceData.class, com.dota2.proto.Netmessages.CCLCMsg_VoiceData.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CCLCMsg_VoiceData parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CCLCMsg_VoiceData(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional bytes data = 1;
    public static final int DATA_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString data_;
    /**
     * optional bytes data = 1;
     */
    public boolean hasData() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional bytes data = 1;
     */
    public com.google.protobuf.ByteString getData() {
      return data_;
    }

    // optional fixed64 xuid = 2;
    public static final int XUID_FIELD_NUMBER = 2;
    private long xuid_;
    /**
     * optional fixed64 xuid = 2;
     */
    public boolean hasXuid() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional fixed64 xuid = 2;
     */
    public long getXuid() {
      return xuid_;
    }

    // optional .VoiceDataFormat_t format = 3 [default = VOICEDATA_FORMAT_STEAM];
    public static final int FORMAT_FIELD_NUMBER = 3;
    private com.dota2.proto.Netmessages.VoiceDataFormat_t format_;
    /**
     * optional .VoiceDataFormat_t format = 3 [default = VOICEDATA_FORMAT_STEAM];
     */
    public boolean hasFormat() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional .VoiceDataFormat_t format = 3 [default = VOICEDATA_FORMAT_STEAM];
     */
    public com.dota2.proto.Netmessages.VoiceDataFormat_t getFormat() {
      return format_;
    }

    // optional int32 sequence_bytes = 4;
    public static final int SEQUENCE_BYTES_FIELD_NUMBER = 4;
    private int sequenceBytes_;
    /**
     * optional int32 sequence_bytes = 4;
     */
    public boolean hasSequenceBytes() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional int32 sequence_bytes = 4;
     */
    public int getSequenceBytes() {
      return sequenceBytes_;
    }

    // optional uint32 section_number = 5;
    public static final int SECTION_NUMBER_FIELD_NUMBER = 5;
    private int sectionNumber_;
    /**
     * optional uint32 section_number = 5;
     */
    public boolean hasSectionNumber() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional uint32 section_number = 5;
     */
    public int getSectionNumber() {
      return sectionNumber_;
    }

    // optional uint32 uncompressed_sample_offset = 6;
    public static final int UNCOMPRESSED_SAMPLE_OFFSET_FIELD_NUMBER = 6;
    private int uncompressedSampleOffset_;
    /**
     * optional uint32 uncompressed_sample_offset = 6;
     */
    public boolean hasUncompressedSampleOffset() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional uint32 uncompressed_sample_offset = 6;
     */
    public int getUncompressedSampleOffset() {
      return uncompressedSampleOffset_;
    }

    // optional uint32 tick = 7;
    public static final int TICK_FIELD_NUMBER = 7;
    private int tick_;
    /**
     * optional uint32 tick = 7;
     */
    public boolean hasTick() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * optional uint32 tick = 7;
     */
    public int getTick() {
      return tick_;
    }

    private void initFields() {
      data_ = com.google.protobuf.ByteString.EMPTY;
      xuid_ = 0L;
      format_ = com.dota2.proto.Netmessages.VoiceDataFormat_t.VOICEDATA_FORMAT_STEAM;
      sequenceBytes_ = 0;
      sectionNumber_ = 0;
      uncompressedSampleOffset_ = 0;
      tick_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, data_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeFixed64(2, xuid_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeEnum(3, format_.getNumber());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt32(4, sequenceBytes_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeUInt32(5, sectionNumber_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeUInt32(6, uncompressedSampleOffset_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeUInt32(7, tick_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, data_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed64Size(2, xuid_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(3, format_.getNumber());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, sequenceBytes_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, sectionNumber_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(6, uncompressedSampleOffset_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(7, tick_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CCLCMsg_VoiceData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_VoiceData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_VoiceData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_VoiceData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_VoiceData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_VoiceData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_VoiceData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_VoiceData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_VoiceData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_VoiceData parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CCLCMsg_VoiceData prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CCLCMsg_VoiceData}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CCLCMsg_VoiceDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_VoiceData_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_VoiceData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CCLCMsg_VoiceData.class, com.dota2.proto.Netmessages.CCLCMsg_VoiceData.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CCLCMsg_VoiceData.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        data_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        xuid_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000002);
        format_ = com.dota2.proto.Netmessages.VoiceDataFormat_t.VOICEDATA_FORMAT_STEAM;
        bitField0_ = (bitField0_ & ~0x00000004);
        sequenceBytes_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        sectionNumber_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        uncompressedSampleOffset_ = 0;
        bitField0_ = (bitField0_ & ~0x00000020);
        tick_ = 0;
        bitField0_ = (bitField0_ & ~0x00000040);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_VoiceData_descriptor;
      }

      public com.dota2.proto.Netmessages.CCLCMsg_VoiceData getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CCLCMsg_VoiceData.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CCLCMsg_VoiceData build() {
        com.dota2.proto.Netmessages.CCLCMsg_VoiceData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CCLCMsg_VoiceData buildPartial() {
        com.dota2.proto.Netmessages.CCLCMsg_VoiceData result = new com.dota2.proto.Netmessages.CCLCMsg_VoiceData(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.data_ = data_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.xuid_ = xuid_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.format_ = format_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.sequenceBytes_ = sequenceBytes_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.sectionNumber_ = sectionNumber_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.uncompressedSampleOffset_ = uncompressedSampleOffset_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.tick_ = tick_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CCLCMsg_VoiceData) {
          return mergeFrom((com.dota2.proto.Netmessages.CCLCMsg_VoiceData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CCLCMsg_VoiceData other) {
        if (other == com.dota2.proto.Netmessages.CCLCMsg_VoiceData.getDefaultInstance()) return this;
        if (other.hasData()) {
          setData(other.getData());
        }
        if (other.hasXuid()) {
          setXuid(other.getXuid());
        }
        if (other.hasFormat()) {
          setFormat(other.getFormat());
        }
        if (other.hasSequenceBytes()) {
          setSequenceBytes(other.getSequenceBytes());
        }
        if (other.hasSectionNumber()) {
          setSectionNumber(other.getSectionNumber());
        }
        if (other.hasUncompressedSampleOffset()) {
          setUncompressedSampleOffset(other.getUncompressedSampleOffset());
        }
        if (other.hasTick()) {
          setTick(other.getTick());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CCLCMsg_VoiceData parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CCLCMsg_VoiceData) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional bytes data = 1;
      private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes data = 1;
       */
      public boolean hasData() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional bytes data = 1;
       */
      public com.google.protobuf.ByteString getData() {
        return data_;
      }
      /**
       * optional bytes data = 1;
       */
      public Builder setData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        data_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes data = 1;
       */
      public Builder clearData() {
        bitField0_ = (bitField0_ & ~0x00000001);
        data_ = getDefaultInstance().getData();
        onChanged();
        return this;
      }

      // optional fixed64 xuid = 2;
      private long xuid_ ;
      /**
       * optional fixed64 xuid = 2;
       */
      public boolean hasXuid() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional fixed64 xuid = 2;
       */
      public long getXuid() {
        return xuid_;
      }
      /**
       * optional fixed64 xuid = 2;
       */
      public Builder setXuid(long value) {
        bitField0_ |= 0x00000002;
        xuid_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed64 xuid = 2;
       */
      public Builder clearXuid() {
        bitField0_ = (bitField0_ & ~0x00000002);
        xuid_ = 0L;
        onChanged();
        return this;
      }

      // optional .VoiceDataFormat_t format = 3 [default = VOICEDATA_FORMAT_STEAM];
      private com.dota2.proto.Netmessages.VoiceDataFormat_t format_ = com.dota2.proto.Netmessages.VoiceDataFormat_t.VOICEDATA_FORMAT_STEAM;
      /**
       * optional .VoiceDataFormat_t format = 3 [default = VOICEDATA_FORMAT_STEAM];
       */
      public boolean hasFormat() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional .VoiceDataFormat_t format = 3 [default = VOICEDATA_FORMAT_STEAM];
       */
      public com.dota2.proto.Netmessages.VoiceDataFormat_t getFormat() {
        return format_;
      }
      /**
       * optional .VoiceDataFormat_t format = 3 [default = VOICEDATA_FORMAT_STEAM];
       */
      public Builder setFormat(com.dota2.proto.Netmessages.VoiceDataFormat_t value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000004;
        format_ = value;
        onChanged();
        return this;
      }
      /**
       * optional .VoiceDataFormat_t format = 3 [default = VOICEDATA_FORMAT_STEAM];
       */
      public Builder clearFormat() {
        bitField0_ = (bitField0_ & ~0x00000004);
        format_ = com.dota2.proto.Netmessages.VoiceDataFormat_t.VOICEDATA_FORMAT_STEAM;
        onChanged();
        return this;
      }

      // optional int32 sequence_bytes = 4;
      private int sequenceBytes_ ;
      /**
       * optional int32 sequence_bytes = 4;
       */
      public boolean hasSequenceBytes() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional int32 sequence_bytes = 4;
       */
      public int getSequenceBytes() {
        return sequenceBytes_;
      }
      /**
       * optional int32 sequence_bytes = 4;
       */
      public Builder setSequenceBytes(int value) {
        bitField0_ |= 0x00000008;
        sequenceBytes_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 sequence_bytes = 4;
       */
      public Builder clearSequenceBytes() {
        bitField0_ = (bitField0_ & ~0x00000008);
        sequenceBytes_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 section_number = 5;
      private int sectionNumber_ ;
      /**
       * optional uint32 section_number = 5;
       */
      public boolean hasSectionNumber() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional uint32 section_number = 5;
       */
      public int getSectionNumber() {
        return sectionNumber_;
      }
      /**
       * optional uint32 section_number = 5;
       */
      public Builder setSectionNumber(int value) {
        bitField0_ |= 0x00000010;
        sectionNumber_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 section_number = 5;
       */
      public Builder clearSectionNumber() {
        bitField0_ = (bitField0_ & ~0x00000010);
        sectionNumber_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 uncompressed_sample_offset = 6;
      private int uncompressedSampleOffset_ ;
      /**
       * optional uint32 uncompressed_sample_offset = 6;
       */
      public boolean hasUncompressedSampleOffset() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional uint32 uncompressed_sample_offset = 6;
       */
      public int getUncompressedSampleOffset() {
        return uncompressedSampleOffset_;
      }
      /**
       * optional uint32 uncompressed_sample_offset = 6;
       */
      public Builder setUncompressedSampleOffset(int value) {
        bitField0_ |= 0x00000020;
        uncompressedSampleOffset_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 uncompressed_sample_offset = 6;
       */
      public Builder clearUncompressedSampleOffset() {
        bitField0_ = (bitField0_ & ~0x00000020);
        uncompressedSampleOffset_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 tick = 7;
      private int tick_ ;
      /**
       * optional uint32 tick = 7;
       */
      public boolean hasTick() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * optional uint32 tick = 7;
       */
      public int getTick() {
        return tick_;
      }
      /**
       * optional uint32 tick = 7;
       */
      public Builder setTick(int value) {
        bitField0_ |= 0x00000040;
        tick_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 tick = 7;
       */
      public Builder clearTick() {
        bitField0_ = (bitField0_ & ~0x00000040);
        tick_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CCLCMsg_VoiceData)
    }

    static {
      defaultInstance = new CCLCMsg_VoiceData(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CCLCMsg_VoiceData)
  }

  public interface CCLCMsg_BaselineAckOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 baseline_tick = 1;
    /**
     * optional int32 baseline_tick = 1;
     */
    boolean hasBaselineTick();
    /**
     * optional int32 baseline_tick = 1;
     */
    int getBaselineTick();

    // optional int32 baseline_nr = 2;
    /**
     * optional int32 baseline_nr = 2;
     */
    boolean hasBaselineNr();
    /**
     * optional int32 baseline_nr = 2;
     */
    int getBaselineNr();
  }
  /**
   * Protobuf type {@code CCLCMsg_BaselineAck}
   */
  public static final class CCLCMsg_BaselineAck extends
      com.google.protobuf.GeneratedMessage
      implements CCLCMsg_BaselineAckOrBuilder {
    // Use CCLCMsg_BaselineAck.newBuilder() to construct.
    private CCLCMsg_BaselineAck(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CCLCMsg_BaselineAck(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CCLCMsg_BaselineAck defaultInstance;
    public static CCLCMsg_BaselineAck getDefaultInstance() {
      return defaultInstance;
    }

    public CCLCMsg_BaselineAck getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CCLCMsg_BaselineAck(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              baselineTick_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              baselineNr_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CCLCMsg_BaselineAck_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CCLCMsg_BaselineAck_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CCLCMsg_BaselineAck.class, com.dota2.proto.Netmessages.CCLCMsg_BaselineAck.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CCLCMsg_BaselineAck parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CCLCMsg_BaselineAck(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional int32 baseline_tick = 1;
    public static final int BASELINE_TICK_FIELD_NUMBER = 1;
    private int baselineTick_;
    /**
     * optional int32 baseline_tick = 1;
     */
    public boolean hasBaselineTick() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 baseline_tick = 1;
     */
    public int getBaselineTick() {
      return baselineTick_;
    }

    // optional int32 baseline_nr = 2;
    public static final int BASELINE_NR_FIELD_NUMBER = 2;
    private int baselineNr_;
    /**
     * optional int32 baseline_nr = 2;
     */
    public boolean hasBaselineNr() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 baseline_nr = 2;
     */
    public int getBaselineNr() {
      return baselineNr_;
    }

    private void initFields() {
      baselineTick_ = 0;
      baselineNr_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, baselineTick_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, baselineNr_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, baselineTick_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, baselineNr_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CCLCMsg_BaselineAck parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_BaselineAck parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_BaselineAck parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_BaselineAck parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_BaselineAck parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_BaselineAck parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_BaselineAck parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_BaselineAck parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_BaselineAck parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_BaselineAck parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CCLCMsg_BaselineAck prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CCLCMsg_BaselineAck}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CCLCMsg_BaselineAckOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_BaselineAck_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_BaselineAck_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CCLCMsg_BaselineAck.class, com.dota2.proto.Netmessages.CCLCMsg_BaselineAck.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CCLCMsg_BaselineAck.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        baselineTick_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        baselineNr_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_BaselineAck_descriptor;
      }

      public com.dota2.proto.Netmessages.CCLCMsg_BaselineAck getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CCLCMsg_BaselineAck.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CCLCMsg_BaselineAck build() {
        com.dota2.proto.Netmessages.CCLCMsg_BaselineAck result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CCLCMsg_BaselineAck buildPartial() {
        com.dota2.proto.Netmessages.CCLCMsg_BaselineAck result = new com.dota2.proto.Netmessages.CCLCMsg_BaselineAck(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.baselineTick_ = baselineTick_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.baselineNr_ = baselineNr_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CCLCMsg_BaselineAck) {
          return mergeFrom((com.dota2.proto.Netmessages.CCLCMsg_BaselineAck)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CCLCMsg_BaselineAck other) {
        if (other == com.dota2.proto.Netmessages.CCLCMsg_BaselineAck.getDefaultInstance()) return this;
        if (other.hasBaselineTick()) {
          setBaselineTick(other.getBaselineTick());
        }
        if (other.hasBaselineNr()) {
          setBaselineNr(other.getBaselineNr());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CCLCMsg_BaselineAck parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CCLCMsg_BaselineAck) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 baseline_tick = 1;
      private int baselineTick_ ;
      /**
       * optional int32 baseline_tick = 1;
       */
      public boolean hasBaselineTick() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 baseline_tick = 1;
       */
      public int getBaselineTick() {
        return baselineTick_;
      }
      /**
       * optional int32 baseline_tick = 1;
       */
      public Builder setBaselineTick(int value) {
        bitField0_ |= 0x00000001;
        baselineTick_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 baseline_tick = 1;
       */
      public Builder clearBaselineTick() {
        bitField0_ = (bitField0_ & ~0x00000001);
        baselineTick_ = 0;
        onChanged();
        return this;
      }

      // optional int32 baseline_nr = 2;
      private int baselineNr_ ;
      /**
       * optional int32 baseline_nr = 2;
       */
      public boolean hasBaselineNr() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 baseline_nr = 2;
       */
      public int getBaselineNr() {
        return baselineNr_;
      }
      /**
       * optional int32 baseline_nr = 2;
       */
      public Builder setBaselineNr(int value) {
        bitField0_ |= 0x00000002;
        baselineNr_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 baseline_nr = 2;
       */
      public Builder clearBaselineNr() {
        bitField0_ = (bitField0_ & ~0x00000002);
        baselineNr_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CCLCMsg_BaselineAck)
    }

    static {
      defaultInstance = new CCLCMsg_BaselineAck(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CCLCMsg_BaselineAck)
  }

  public interface CCLCMsg_ListenEventsOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // repeated fixed32 event_mask = 1;
    /**
     * repeated fixed32 event_mask = 1;
     */
    java.util.List getEventMaskList();
    /**
     * repeated fixed32 event_mask = 1;
     */
    int getEventMaskCount();
    /**
     * repeated fixed32 event_mask = 1;
     */
    int getEventMask(int index);
  }
  /**
   * Protobuf type {@code CCLCMsg_ListenEvents}
   */
  public static final class CCLCMsg_ListenEvents extends
      com.google.protobuf.GeneratedMessage
      implements CCLCMsg_ListenEventsOrBuilder {
    // Use CCLCMsg_ListenEvents.newBuilder() to construct.
    private CCLCMsg_ListenEvents(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CCLCMsg_ListenEvents(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CCLCMsg_ListenEvents defaultInstance;
    public static CCLCMsg_ListenEvents getDefaultInstance() {
      return defaultInstance;
    }

    public CCLCMsg_ListenEvents getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CCLCMsg_ListenEvents(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 13: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                eventMask_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              eventMask_.add(input.readFixed32());
              break;
            }
            case 10: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001) && input.getBytesUntilLimit() > 0) {
                eventMask_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              while (input.getBytesUntilLimit() > 0) {
                eventMask_.add(input.readFixed32());
              }
              input.popLimit(limit);
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          eventMask_ = java.util.Collections.unmodifiableList(eventMask_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CCLCMsg_ListenEvents_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CCLCMsg_ListenEvents_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CCLCMsg_ListenEvents.class, com.dota2.proto.Netmessages.CCLCMsg_ListenEvents.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CCLCMsg_ListenEvents parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CCLCMsg_ListenEvents(input, extensionRegistry);
      }
    };

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

    // repeated fixed32 event_mask = 1;
    public static final int EVENT_MASK_FIELD_NUMBER = 1;
    private java.util.List eventMask_;
    /**
     * repeated fixed32 event_mask = 1;
     */
    public java.util.List
        getEventMaskList() {
      return eventMask_;
    }
    /**
     * repeated fixed32 event_mask = 1;
     */
    public int getEventMaskCount() {
      return eventMask_.size();
    }
    /**
     * repeated fixed32 event_mask = 1;
     */
    public int getEventMask(int index) {
      return eventMask_.get(index);
    }

    private void initFields() {
      eventMask_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < eventMask_.size(); i++) {
        output.writeFixed32(1, eventMask_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      {
        int dataSize = 0;
        dataSize = 4 * getEventMaskList().size();
        size += dataSize;
        size += 1 * getEventMaskList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CCLCMsg_ListenEvents parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ListenEvents parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ListenEvents parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ListenEvents parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ListenEvents parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ListenEvents parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ListenEvents parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ListenEvents parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ListenEvents parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ListenEvents parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CCLCMsg_ListenEvents prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CCLCMsg_ListenEvents}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CCLCMsg_ListenEventsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_ListenEvents_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_ListenEvents_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CCLCMsg_ListenEvents.class, com.dota2.proto.Netmessages.CCLCMsg_ListenEvents.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CCLCMsg_ListenEvents.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        eventMask_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_ListenEvents_descriptor;
      }

      public com.dota2.proto.Netmessages.CCLCMsg_ListenEvents getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CCLCMsg_ListenEvents.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CCLCMsg_ListenEvents build() {
        com.dota2.proto.Netmessages.CCLCMsg_ListenEvents result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CCLCMsg_ListenEvents buildPartial() {
        com.dota2.proto.Netmessages.CCLCMsg_ListenEvents result = new com.dota2.proto.Netmessages.CCLCMsg_ListenEvents(this);
        int from_bitField0_ = bitField0_;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          eventMask_ = java.util.Collections.unmodifiableList(eventMask_);
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.eventMask_ = eventMask_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CCLCMsg_ListenEvents) {
          return mergeFrom((com.dota2.proto.Netmessages.CCLCMsg_ListenEvents)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CCLCMsg_ListenEvents other) {
        if (other == com.dota2.proto.Netmessages.CCLCMsg_ListenEvents.getDefaultInstance()) return this;
        if (!other.eventMask_.isEmpty()) {
          if (eventMask_.isEmpty()) {
            eventMask_ = other.eventMask_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureEventMaskIsMutable();
            eventMask_.addAll(other.eventMask_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CCLCMsg_ListenEvents parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CCLCMsg_ListenEvents) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // repeated fixed32 event_mask = 1;
      private java.util.List eventMask_ = java.util.Collections.emptyList();
      private void ensureEventMaskIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          eventMask_ = new java.util.ArrayList(eventMask_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * repeated fixed32 event_mask = 1;
       */
      public java.util.List
          getEventMaskList() {
        return java.util.Collections.unmodifiableList(eventMask_);
      }
      /**
       * repeated fixed32 event_mask = 1;
       */
      public int getEventMaskCount() {
        return eventMask_.size();
      }
      /**
       * repeated fixed32 event_mask = 1;
       */
      public int getEventMask(int index) {
        return eventMask_.get(index);
      }
      /**
       * repeated fixed32 event_mask = 1;
       */
      public Builder setEventMask(
          int index, int value) {
        ensureEventMaskIsMutable();
        eventMask_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated fixed32 event_mask = 1;
       */
      public Builder addEventMask(int value) {
        ensureEventMaskIsMutable();
        eventMask_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated fixed32 event_mask = 1;
       */
      public Builder addAllEventMask(
          java.lang.Iterable values) {
        ensureEventMaskIsMutable();
        super.addAll(values, eventMask_);
        onChanged();
        return this;
      }
      /**
       * repeated fixed32 event_mask = 1;
       */
      public Builder clearEventMask() {
        eventMask_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CCLCMsg_ListenEvents)
    }

    static {
      defaultInstance = new CCLCMsg_ListenEvents(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CCLCMsg_ListenEvents)
  }

  public interface CCLCMsg_RespondCvarValueOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 cookie = 1;
    /**
     * optional int32 cookie = 1;
     */
    boolean hasCookie();
    /**
     * optional int32 cookie = 1;
     */
    int getCookie();

    // optional int32 status_code = 2;
    /**
     * optional int32 status_code = 2;
     */
    boolean hasStatusCode();
    /**
     * optional int32 status_code = 2;
     */
    int getStatusCode();

    // optional string name = 3;
    /**
     * optional string name = 3;
     */
    boolean hasName();
    /**
     * optional string name = 3;
     */
    java.lang.String getName();
    /**
     * optional string name = 3;
     */
    com.google.protobuf.ByteString
        getNameBytes();

    // optional string value = 4;
    /**
     * optional string value = 4;
     */
    boolean hasValue();
    /**
     * optional string value = 4;
     */
    java.lang.String getValue();
    /**
     * optional string value = 4;
     */
    com.google.protobuf.ByteString
        getValueBytes();
  }
  /**
   * Protobuf type {@code CCLCMsg_RespondCvarValue}
   */
  public static final class CCLCMsg_RespondCvarValue extends
      com.google.protobuf.GeneratedMessage
      implements CCLCMsg_RespondCvarValueOrBuilder {
    // Use CCLCMsg_RespondCvarValue.newBuilder() to construct.
    private CCLCMsg_RespondCvarValue(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CCLCMsg_RespondCvarValue(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CCLCMsg_RespondCvarValue defaultInstance;
    public static CCLCMsg_RespondCvarValue getDefaultInstance() {
      return defaultInstance;
    }

    public CCLCMsg_RespondCvarValue getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CCLCMsg_RespondCvarValue(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              cookie_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              statusCode_ = input.readInt32();
              break;
            }
            case 26: {
              bitField0_ |= 0x00000004;
              name_ = input.readBytes();
              break;
            }
            case 34: {
              bitField0_ |= 0x00000008;
              value_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CCLCMsg_RespondCvarValue_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CCLCMsg_RespondCvarValue_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue.class, com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CCLCMsg_RespondCvarValue parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CCLCMsg_RespondCvarValue(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional int32 cookie = 1;
    public static final int COOKIE_FIELD_NUMBER = 1;
    private int cookie_;
    /**
     * optional int32 cookie = 1;
     */
    public boolean hasCookie() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 cookie = 1;
     */
    public int getCookie() {
      return cookie_;
    }

    // optional int32 status_code = 2;
    public static final int STATUS_CODE_FIELD_NUMBER = 2;
    private int statusCode_;
    /**
     * optional int32 status_code = 2;
     */
    public boolean hasStatusCode() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 status_code = 2;
     */
    public int getStatusCode() {
      return statusCode_;
    }

    // optional string name = 3;
    public static final int NAME_FIELD_NUMBER = 3;
    private java.lang.Object name_;
    /**
     * optional string name = 3;
     */
    public boolean hasName() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional string name = 3;
     */
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          name_ = s;
        }
        return s;
      }
    }
    /**
     * optional string name = 3;
     */
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional string value = 4;
    public static final int VALUE_FIELD_NUMBER = 4;
    private java.lang.Object value_;
    /**
     * optional string value = 4;
     */
    public boolean hasValue() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional string value = 4;
     */
    public java.lang.String getValue() {
      java.lang.Object ref = value_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          value_ = s;
        }
        return s;
      }
    }
    /**
     * optional string value = 4;
     */
    public com.google.protobuf.ByteString
        getValueBytes() {
      java.lang.Object ref = value_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        value_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      cookie_ = 0;
      statusCode_ = 0;
      name_ = "";
      value_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, cookie_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, statusCode_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(3, getNameBytes());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBytes(4, getValueBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, cookie_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, statusCode_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, getNameBytes());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(4, getValueBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CCLCMsg_RespondCvarValue}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValueOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_RespondCvarValue_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_RespondCvarValue_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue.class, com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        cookie_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        statusCode_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        name_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        value_ = "";
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_RespondCvarValue_descriptor;
      }

      public com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue build() {
        com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue buildPartial() {
        com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue result = new com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.cookie_ = cookie_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.statusCode_ = statusCode_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.name_ = name_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.value_ = value_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue) {
          return mergeFrom((com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue other) {
        if (other == com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue.getDefaultInstance()) return this;
        if (other.hasCookie()) {
          setCookie(other.getCookie());
        }
        if (other.hasStatusCode()) {
          setStatusCode(other.getStatusCode());
        }
        if (other.hasName()) {
          bitField0_ |= 0x00000004;
          name_ = other.name_;
          onChanged();
        }
        if (other.hasValue()) {
          bitField0_ |= 0x00000008;
          value_ = other.value_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CCLCMsg_RespondCvarValue) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 cookie = 1;
      private int cookie_ ;
      /**
       * optional int32 cookie = 1;
       */
      public boolean hasCookie() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 cookie = 1;
       */
      public int getCookie() {
        return cookie_;
      }
      /**
       * optional int32 cookie = 1;
       */
      public Builder setCookie(int value) {
        bitField0_ |= 0x00000001;
        cookie_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 cookie = 1;
       */
      public Builder clearCookie() {
        bitField0_ = (bitField0_ & ~0x00000001);
        cookie_ = 0;
        onChanged();
        return this;
      }

      // optional int32 status_code = 2;
      private int statusCode_ ;
      /**
       * optional int32 status_code = 2;
       */
      public boolean hasStatusCode() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 status_code = 2;
       */
      public int getStatusCode() {
        return statusCode_;
      }
      /**
       * optional int32 status_code = 2;
       */
      public Builder setStatusCode(int value) {
        bitField0_ |= 0x00000002;
        statusCode_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 status_code = 2;
       */
      public Builder clearStatusCode() {
        bitField0_ = (bitField0_ & ~0x00000002);
        statusCode_ = 0;
        onChanged();
        return this;
      }

      // optional string name = 3;
      private java.lang.Object name_ = "";
      /**
       * optional string name = 3;
       */
      public boolean hasName() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional string name = 3;
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string name = 3;
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string name = 3;
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        name_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string name = 3;
       */
      public Builder clearName() {
        bitField0_ = (bitField0_ & ~0x00000004);
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      /**
       * optional string name = 3;
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        name_ = value;
        onChanged();
        return this;
      }

      // optional string value = 4;
      private java.lang.Object value_ = "";
      /**
       * optional string value = 4;
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional string value = 4;
       */
      public java.lang.String getValue() {
        java.lang.Object ref = value_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          value_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string value = 4;
       */
      public com.google.protobuf.ByteString
          getValueBytes() {
        java.lang.Object ref = value_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          value_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string value = 4;
       */
      public Builder setValue(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        value_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string value = 4;
       */
      public Builder clearValue() {
        bitField0_ = (bitField0_ & ~0x00000008);
        value_ = getDefaultInstance().getValue();
        onChanged();
        return this;
      }
      /**
       * optional string value = 4;
       */
      public Builder setValueBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        value_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CCLCMsg_RespondCvarValue)
    }

    static {
      defaultInstance = new CCLCMsg_RespondCvarValue(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CCLCMsg_RespondCvarValue)
  }

  public interface CCLCMsg_FileCRCCheckOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 code_path = 1;
    /**
     * optional int32 code_path = 1;
     */
    boolean hasCodePath();
    /**
     * optional int32 code_path = 1;
     */
    int getCodePath();

    // optional string path = 2;
    /**
     * optional string path = 2;
     */
    boolean hasPath();
    /**
     * optional string path = 2;
     */
    java.lang.String getPath();
    /**
     * optional string path = 2;
     */
    com.google.protobuf.ByteString
        getPathBytes();

    // optional int32 code_filename = 3;
    /**
     * optional int32 code_filename = 3;
     */
    boolean hasCodeFilename();
    /**
     * optional int32 code_filename = 3;
     */
    int getCodeFilename();

    // optional string filename = 4;
    /**
     * optional string filename = 4;
     */
    boolean hasFilename();
    /**
     * optional string filename = 4;
     */
    java.lang.String getFilename();
    /**
     * optional string filename = 4;
     */
    com.google.protobuf.ByteString
        getFilenameBytes();

    // optional fixed32 crc = 5;
    /**
     * optional fixed32 crc = 5;
     */
    boolean hasCrc();
    /**
     * optional fixed32 crc = 5;
     */
    int getCrc();
  }
  /**
   * Protobuf type {@code CCLCMsg_FileCRCCheck}
   */
  public static final class CCLCMsg_FileCRCCheck extends
      com.google.protobuf.GeneratedMessage
      implements CCLCMsg_FileCRCCheckOrBuilder {
    // Use CCLCMsg_FileCRCCheck.newBuilder() to construct.
    private CCLCMsg_FileCRCCheck(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CCLCMsg_FileCRCCheck(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CCLCMsg_FileCRCCheck defaultInstance;
    public static CCLCMsg_FileCRCCheck getDefaultInstance() {
      return defaultInstance;
    }

    public CCLCMsg_FileCRCCheck getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CCLCMsg_FileCRCCheck(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              codePath_ = input.readInt32();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              path_ = input.readBytes();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              codeFilename_ = input.readInt32();
              break;
            }
            case 34: {
              bitField0_ |= 0x00000008;
              filename_ = input.readBytes();
              break;
            }
            case 45: {
              bitField0_ |= 0x00000010;
              crc_ = input.readFixed32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CCLCMsg_FileCRCCheck_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CCLCMsg_FileCRCCheck_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck.class, com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CCLCMsg_FileCRCCheck parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CCLCMsg_FileCRCCheck(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional int32 code_path = 1;
    public static final int CODE_PATH_FIELD_NUMBER = 1;
    private int codePath_;
    /**
     * optional int32 code_path = 1;
     */
    public boolean hasCodePath() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 code_path = 1;
     */
    public int getCodePath() {
      return codePath_;
    }

    // optional string path = 2;
    public static final int PATH_FIELD_NUMBER = 2;
    private java.lang.Object path_;
    /**
     * optional string path = 2;
     */
    public boolean hasPath() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional string path = 2;
     */
    public java.lang.String getPath() {
      java.lang.Object ref = path_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          path_ = s;
        }
        return s;
      }
    }
    /**
     * optional string path = 2;
     */
    public com.google.protobuf.ByteString
        getPathBytes() {
      java.lang.Object ref = path_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        path_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional int32 code_filename = 3;
    public static final int CODE_FILENAME_FIELD_NUMBER = 3;
    private int codeFilename_;
    /**
     * optional int32 code_filename = 3;
     */
    public boolean hasCodeFilename() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional int32 code_filename = 3;
     */
    public int getCodeFilename() {
      return codeFilename_;
    }

    // optional string filename = 4;
    public static final int FILENAME_FIELD_NUMBER = 4;
    private java.lang.Object filename_;
    /**
     * optional string filename = 4;
     */
    public boolean hasFilename() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional string filename = 4;
     */
    public java.lang.String getFilename() {
      java.lang.Object ref = filename_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          filename_ = s;
        }
        return s;
      }
    }
    /**
     * optional string filename = 4;
     */
    public com.google.protobuf.ByteString
        getFilenameBytes() {
      java.lang.Object ref = filename_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        filename_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional fixed32 crc = 5;
    public static final int CRC_FIELD_NUMBER = 5;
    private int crc_;
    /**
     * optional fixed32 crc = 5;
     */
    public boolean hasCrc() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional fixed32 crc = 5;
     */
    public int getCrc() {
      return crc_;
    }

    private void initFields() {
      codePath_ = 0;
      path_ = "";
      codeFilename_ = 0;
      filename_ = "";
      crc_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, codePath_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getPathBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, codeFilename_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBytes(4, getFilenameBytes());
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeFixed32(5, crc_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, codePath_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getPathBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, codeFilename_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(4, getFilenameBytes());
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(5, crc_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CCLCMsg_FileCRCCheck}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheckOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_FileCRCCheck_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_FileCRCCheck_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck.class, com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        codePath_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        path_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        codeFilename_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        filename_ = "";
        bitField0_ = (bitField0_ & ~0x00000008);
        crc_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_FileCRCCheck_descriptor;
      }

      public com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck build() {
        com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck buildPartial() {
        com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck result = new com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.codePath_ = codePath_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.path_ = path_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.codeFilename_ = codeFilename_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.filename_ = filename_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.crc_ = crc_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck) {
          return mergeFrom((com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck other) {
        if (other == com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck.getDefaultInstance()) return this;
        if (other.hasCodePath()) {
          setCodePath(other.getCodePath());
        }
        if (other.hasPath()) {
          bitField0_ |= 0x00000002;
          path_ = other.path_;
          onChanged();
        }
        if (other.hasCodeFilename()) {
          setCodeFilename(other.getCodeFilename());
        }
        if (other.hasFilename()) {
          bitField0_ |= 0x00000008;
          filename_ = other.filename_;
          onChanged();
        }
        if (other.hasCrc()) {
          setCrc(other.getCrc());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CCLCMsg_FileCRCCheck) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 code_path = 1;
      private int codePath_ ;
      /**
       * optional int32 code_path = 1;
       */
      public boolean hasCodePath() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 code_path = 1;
       */
      public int getCodePath() {
        return codePath_;
      }
      /**
       * optional int32 code_path = 1;
       */
      public Builder setCodePath(int value) {
        bitField0_ |= 0x00000001;
        codePath_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 code_path = 1;
       */
      public Builder clearCodePath() {
        bitField0_ = (bitField0_ & ~0x00000001);
        codePath_ = 0;
        onChanged();
        return this;
      }

      // optional string path = 2;
      private java.lang.Object path_ = "";
      /**
       * optional string path = 2;
       */
      public boolean hasPath() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional string path = 2;
       */
      public java.lang.String getPath() {
        java.lang.Object ref = path_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          path_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string path = 2;
       */
      public com.google.protobuf.ByteString
          getPathBytes() {
        java.lang.Object ref = path_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          path_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string path = 2;
       */
      public Builder setPath(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        path_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string path = 2;
       */
      public Builder clearPath() {
        bitField0_ = (bitField0_ & ~0x00000002);
        path_ = getDefaultInstance().getPath();
        onChanged();
        return this;
      }
      /**
       * optional string path = 2;
       */
      public Builder setPathBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        path_ = value;
        onChanged();
        return this;
      }

      // optional int32 code_filename = 3;
      private int codeFilename_ ;
      /**
       * optional int32 code_filename = 3;
       */
      public boolean hasCodeFilename() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional int32 code_filename = 3;
       */
      public int getCodeFilename() {
        return codeFilename_;
      }
      /**
       * optional int32 code_filename = 3;
       */
      public Builder setCodeFilename(int value) {
        bitField0_ |= 0x00000004;
        codeFilename_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 code_filename = 3;
       */
      public Builder clearCodeFilename() {
        bitField0_ = (bitField0_ & ~0x00000004);
        codeFilename_ = 0;
        onChanged();
        return this;
      }

      // optional string filename = 4;
      private java.lang.Object filename_ = "";
      /**
       * optional string filename = 4;
       */
      public boolean hasFilename() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional string filename = 4;
       */
      public java.lang.String getFilename() {
        java.lang.Object ref = filename_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          filename_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string filename = 4;
       */
      public com.google.protobuf.ByteString
          getFilenameBytes() {
        java.lang.Object ref = filename_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          filename_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string filename = 4;
       */
      public Builder setFilename(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        filename_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string filename = 4;
       */
      public Builder clearFilename() {
        bitField0_ = (bitField0_ & ~0x00000008);
        filename_ = getDefaultInstance().getFilename();
        onChanged();
        return this;
      }
      /**
       * optional string filename = 4;
       */
      public Builder setFilenameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        filename_ = value;
        onChanged();
        return this;
      }

      // optional fixed32 crc = 5;
      private int crc_ ;
      /**
       * optional fixed32 crc = 5;
       */
      public boolean hasCrc() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional fixed32 crc = 5;
       */
      public int getCrc() {
        return crc_;
      }
      /**
       * optional fixed32 crc = 5;
       */
      public Builder setCrc(int value) {
        bitField0_ |= 0x00000010;
        crc_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 crc = 5;
       */
      public Builder clearCrc() {
        bitField0_ = (bitField0_ & ~0x00000010);
        crc_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CCLCMsg_FileCRCCheck)
    }

    static {
      defaultInstance = new CCLCMsg_FileCRCCheck(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CCLCMsg_FileCRCCheck)
  }

  public interface CCLCMsg_LoadingProgressOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 progress = 1;
    /**
     * optional int32 progress = 1;
     */
    boolean hasProgress();
    /**
     * optional int32 progress = 1;
     */
    int getProgress();
  }
  /**
   * Protobuf type {@code CCLCMsg_LoadingProgress}
   */
  public static final class CCLCMsg_LoadingProgress extends
      com.google.protobuf.GeneratedMessage
      implements CCLCMsg_LoadingProgressOrBuilder {
    // Use CCLCMsg_LoadingProgress.newBuilder() to construct.
    private CCLCMsg_LoadingProgress(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CCLCMsg_LoadingProgress(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CCLCMsg_LoadingProgress defaultInstance;
    public static CCLCMsg_LoadingProgress getDefaultInstance() {
      return defaultInstance;
    }

    public CCLCMsg_LoadingProgress getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CCLCMsg_LoadingProgress(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              progress_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CCLCMsg_LoadingProgress_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CCLCMsg_LoadingProgress_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress.class, com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CCLCMsg_LoadingProgress parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CCLCMsg_LoadingProgress(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional int32 progress = 1;
    public static final int PROGRESS_FIELD_NUMBER = 1;
    private int progress_;
    /**
     * optional int32 progress = 1;
     */
    public boolean hasProgress() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 progress = 1;
     */
    public int getProgress() {
      return progress_;
    }

    private void initFields() {
      progress_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, progress_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, progress_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CCLCMsg_LoadingProgress}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CCLCMsg_LoadingProgressOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_LoadingProgress_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_LoadingProgress_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress.class, com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        progress_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_LoadingProgress_descriptor;
      }

      public com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress build() {
        com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress buildPartial() {
        com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress result = new com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.progress_ = progress_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress) {
          return mergeFrom((com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress other) {
        if (other == com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress.getDefaultInstance()) return this;
        if (other.hasProgress()) {
          setProgress(other.getProgress());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CCLCMsg_LoadingProgress) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 progress = 1;
      private int progress_ ;
      /**
       * optional int32 progress = 1;
       */
      public boolean hasProgress() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 progress = 1;
       */
      public int getProgress() {
        return progress_;
      }
      /**
       * optional int32 progress = 1;
       */
      public Builder setProgress(int value) {
        bitField0_ |= 0x00000001;
        progress_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 progress = 1;
       */
      public Builder clearProgress() {
        bitField0_ = (bitField0_ & ~0x00000001);
        progress_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CCLCMsg_LoadingProgress)
    }

    static {
      defaultInstance = new CCLCMsg_LoadingProgress(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CCLCMsg_LoadingProgress)
  }

  public interface CCLCMsg_SplitPlayerConnectOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional .CMsg_CVars convars = 1;
    /**
     * optional .CMsg_CVars convars = 1;
     */
    boolean hasConvars();
    /**
     * optional .CMsg_CVars convars = 1;
     */
    com.dota2.proto.Networkbasetypes.CMsg_CVars getConvars();
    /**
     * optional .CMsg_CVars convars = 1;
     */
    com.dota2.proto.Networkbasetypes.CMsg_CVarsOrBuilder getConvarsOrBuilder();
  }
  /**
   * Protobuf type {@code CCLCMsg_SplitPlayerConnect}
   */
  public static final class CCLCMsg_SplitPlayerConnect extends
      com.google.protobuf.GeneratedMessage
      implements CCLCMsg_SplitPlayerConnectOrBuilder {
    // Use CCLCMsg_SplitPlayerConnect.newBuilder() to construct.
    private CCLCMsg_SplitPlayerConnect(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CCLCMsg_SplitPlayerConnect(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CCLCMsg_SplitPlayerConnect defaultInstance;
    public static CCLCMsg_SplitPlayerConnect getDefaultInstance() {
      return defaultInstance;
    }

    public CCLCMsg_SplitPlayerConnect getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CCLCMsg_SplitPlayerConnect(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.dota2.proto.Networkbasetypes.CMsg_CVars.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = convars_.toBuilder();
              }
              convars_ = input.readMessage(com.dota2.proto.Networkbasetypes.CMsg_CVars.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(convars_);
                convars_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CCLCMsg_SplitPlayerConnect_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CCLCMsg_SplitPlayerConnect_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect.class, com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CCLCMsg_SplitPlayerConnect parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CCLCMsg_SplitPlayerConnect(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional .CMsg_CVars convars = 1;
    public static final int CONVARS_FIELD_NUMBER = 1;
    private com.dota2.proto.Networkbasetypes.CMsg_CVars convars_;
    /**
     * optional .CMsg_CVars convars = 1;
     */
    public boolean hasConvars() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsg_CVars convars = 1;
     */
    public com.dota2.proto.Networkbasetypes.CMsg_CVars getConvars() {
      return convars_;
    }
    /**
     * optional .CMsg_CVars convars = 1;
     */
    public com.dota2.proto.Networkbasetypes.CMsg_CVarsOrBuilder getConvarsOrBuilder() {
      return convars_;
    }

    private void initFields() {
      convars_ = com.dota2.proto.Networkbasetypes.CMsg_CVars.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, convars_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, convars_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CCLCMsg_SplitPlayerConnect}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnectOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_SplitPlayerConnect_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_SplitPlayerConnect_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect.class, com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getConvarsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (convarsBuilder_ == null) {
          convars_ = com.dota2.proto.Networkbasetypes.CMsg_CVars.getDefaultInstance();
        } else {
          convarsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_SplitPlayerConnect_descriptor;
      }

      public com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect build() {
        com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect buildPartial() {
        com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect result = new com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (convarsBuilder_ == null) {
          result.convars_ = convars_;
        } else {
          result.convars_ = convarsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect) {
          return mergeFrom((com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect other) {
        if (other == com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect.getDefaultInstance()) return this;
        if (other.hasConvars()) {
          mergeConvars(other.getConvars());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CCLCMsg_SplitPlayerConnect) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional .CMsg_CVars convars = 1;
      private com.dota2.proto.Networkbasetypes.CMsg_CVars convars_ = com.dota2.proto.Networkbasetypes.CMsg_CVars.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.dota2.proto.Networkbasetypes.CMsg_CVars, com.dota2.proto.Networkbasetypes.CMsg_CVars.Builder, com.dota2.proto.Networkbasetypes.CMsg_CVarsOrBuilder> convarsBuilder_;
      /**
       * optional .CMsg_CVars convars = 1;
       */
      public boolean hasConvars() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsg_CVars convars = 1;
       */
      public com.dota2.proto.Networkbasetypes.CMsg_CVars getConvars() {
        if (convarsBuilder_ == null) {
          return convars_;
        } else {
          return convarsBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsg_CVars convars = 1;
       */
      public Builder setConvars(com.dota2.proto.Networkbasetypes.CMsg_CVars value) {
        if (convarsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          convars_ = value;
          onChanged();
        } else {
          convarsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsg_CVars convars = 1;
       */
      public Builder setConvars(
          com.dota2.proto.Networkbasetypes.CMsg_CVars.Builder builderForValue) {
        if (convarsBuilder_ == null) {
          convars_ = builderForValue.build();
          onChanged();
        } else {
          convarsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsg_CVars convars = 1;
       */
      public Builder mergeConvars(com.dota2.proto.Networkbasetypes.CMsg_CVars value) {
        if (convarsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              convars_ != com.dota2.proto.Networkbasetypes.CMsg_CVars.getDefaultInstance()) {
            convars_ =
              com.dota2.proto.Networkbasetypes.CMsg_CVars.newBuilder(convars_).mergeFrom(value).buildPartial();
          } else {
            convars_ = value;
          }
          onChanged();
        } else {
          convarsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsg_CVars convars = 1;
       */
      public Builder clearConvars() {
        if (convarsBuilder_ == null) {
          convars_ = com.dota2.proto.Networkbasetypes.CMsg_CVars.getDefaultInstance();
          onChanged();
        } else {
          convarsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsg_CVars convars = 1;
       */
      public com.dota2.proto.Networkbasetypes.CMsg_CVars.Builder getConvarsBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getConvarsFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsg_CVars convars = 1;
       */
      public com.dota2.proto.Networkbasetypes.CMsg_CVarsOrBuilder getConvarsOrBuilder() {
        if (convarsBuilder_ != null) {
          return convarsBuilder_.getMessageOrBuilder();
        } else {
          return convars_;
        }
      }
      /**
       * optional .CMsg_CVars convars = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          com.dota2.proto.Networkbasetypes.CMsg_CVars, com.dota2.proto.Networkbasetypes.CMsg_CVars.Builder, com.dota2.proto.Networkbasetypes.CMsg_CVarsOrBuilder> 
          getConvarsFieldBuilder() {
        if (convarsBuilder_ == null) {
          convarsBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.dota2.proto.Networkbasetypes.CMsg_CVars, com.dota2.proto.Networkbasetypes.CMsg_CVars.Builder, com.dota2.proto.Networkbasetypes.CMsg_CVarsOrBuilder>(
                  convars_,
                  getParentForChildren(),
                  isClean());
          convars_ = null;
        }
        return convarsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CCLCMsg_SplitPlayerConnect)
    }

    static {
      defaultInstance = new CCLCMsg_SplitPlayerConnect(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CCLCMsg_SplitPlayerConnect)
  }

  public interface CCLCMsg_ClientMessageOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 msg_type = 1;
    /**
     * optional int32 msg_type = 1;
     */
    boolean hasMsgType();
    /**
     * optional int32 msg_type = 1;
     */
    int getMsgType();

    // optional bytes data = 2;
    /**
     * optional bytes data = 2;
     */
    boolean hasData();
    /**
     * optional bytes data = 2;
     */
    com.google.protobuf.ByteString getData();
  }
  /**
   * Protobuf type {@code CCLCMsg_ClientMessage}
   */
  public static final class CCLCMsg_ClientMessage extends
      com.google.protobuf.GeneratedMessage
      implements CCLCMsg_ClientMessageOrBuilder {
    // Use CCLCMsg_ClientMessage.newBuilder() to construct.
    private CCLCMsg_ClientMessage(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CCLCMsg_ClientMessage(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CCLCMsg_ClientMessage defaultInstance;
    public static CCLCMsg_ClientMessage getDefaultInstance() {
      return defaultInstance;
    }

    public CCLCMsg_ClientMessage getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CCLCMsg_ClientMessage(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              msgType_ = input.readInt32();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              data_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CCLCMsg_ClientMessage_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CCLCMsg_ClientMessage_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CCLCMsg_ClientMessage.class, com.dota2.proto.Netmessages.CCLCMsg_ClientMessage.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CCLCMsg_ClientMessage parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CCLCMsg_ClientMessage(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional int32 msg_type = 1;
    public static final int MSG_TYPE_FIELD_NUMBER = 1;
    private int msgType_;
    /**
     * optional int32 msg_type = 1;
     */
    public boolean hasMsgType() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 msg_type = 1;
     */
    public int getMsgType() {
      return msgType_;
    }

    // optional bytes data = 2;
    public static final int DATA_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString data_;
    /**
     * optional bytes data = 2;
     */
    public boolean hasData() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional bytes data = 2;
     */
    public com.google.protobuf.ByteString getData() {
      return data_;
    }

    private void initFields() {
      msgType_ = 0;
      data_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, msgType_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, data_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, msgType_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, data_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CCLCMsg_ClientMessage parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ClientMessage parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ClientMessage parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ClientMessage parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ClientMessage parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ClientMessage parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ClientMessage parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ClientMessage parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ClientMessage parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CCLCMsg_ClientMessage parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CCLCMsg_ClientMessage prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CCLCMsg_ClientMessage}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CCLCMsg_ClientMessageOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_ClientMessage_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_ClientMessage_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CCLCMsg_ClientMessage.class, com.dota2.proto.Netmessages.CCLCMsg_ClientMessage.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CCLCMsg_ClientMessage.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        msgType_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        data_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CCLCMsg_ClientMessage_descriptor;
      }

      public com.dota2.proto.Netmessages.CCLCMsg_ClientMessage getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CCLCMsg_ClientMessage.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CCLCMsg_ClientMessage build() {
        com.dota2.proto.Netmessages.CCLCMsg_ClientMessage result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CCLCMsg_ClientMessage buildPartial() {
        com.dota2.proto.Netmessages.CCLCMsg_ClientMessage result = new com.dota2.proto.Netmessages.CCLCMsg_ClientMessage(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.msgType_ = msgType_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.data_ = data_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CCLCMsg_ClientMessage) {
          return mergeFrom((com.dota2.proto.Netmessages.CCLCMsg_ClientMessage)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CCLCMsg_ClientMessage other) {
        if (other == com.dota2.proto.Netmessages.CCLCMsg_ClientMessage.getDefaultInstance()) return this;
        if (other.hasMsgType()) {
          setMsgType(other.getMsgType());
        }
        if (other.hasData()) {
          setData(other.getData());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CCLCMsg_ClientMessage parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CCLCMsg_ClientMessage) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 msg_type = 1;
      private int msgType_ ;
      /**
       * optional int32 msg_type = 1;
       */
      public boolean hasMsgType() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 msg_type = 1;
       */
      public int getMsgType() {
        return msgType_;
      }
      /**
       * optional int32 msg_type = 1;
       */
      public Builder setMsgType(int value) {
        bitField0_ |= 0x00000001;
        msgType_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 msg_type = 1;
       */
      public Builder clearMsgType() {
        bitField0_ = (bitField0_ & ~0x00000001);
        msgType_ = 0;
        onChanged();
        return this;
      }

      // optional bytes data = 2;
      private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes data = 2;
       */
      public boolean hasData() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional bytes data = 2;
       */
      public com.google.protobuf.ByteString getData() {
        return data_;
      }
      /**
       * optional bytes data = 2;
       */
      public Builder setData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        data_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes data = 2;
       */
      public Builder clearData() {
        bitField0_ = (bitField0_ & ~0x00000002);
        data_ = getDefaultInstance().getData();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CCLCMsg_ClientMessage)
    }

    static {
      defaultInstance = new CCLCMsg_ClientMessage(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CCLCMsg_ClientMessage)
  }

  public interface CSVCMsg_ServerInfoOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 protocol = 1;
    /**
     * optional int32 protocol = 1;
     */
    boolean hasProtocol();
    /**
     * optional int32 protocol = 1;
     */
    int getProtocol();

    // optional int32 server_count = 2;
    /**
     * optional int32 server_count = 2;
     */
    boolean hasServerCount();
    /**
     * optional int32 server_count = 2;
     */
    int getServerCount();

    // optional bool is_dedicated = 3;
    /**
     * optional bool is_dedicated = 3;
     */
    boolean hasIsDedicated();
    /**
     * optional bool is_dedicated = 3;
     */
    boolean getIsDedicated();

    // optional bool is_hltv = 4;
    /**
     * optional bool is_hltv = 4;
     */
    boolean hasIsHltv();
    /**
     * optional bool is_hltv = 4;
     */
    boolean getIsHltv();

    // optional bool is_replay = 5;
    /**
     * optional bool is_replay = 5;
     */
    boolean hasIsReplay();
    /**
     * optional bool is_replay = 5;
     */
    boolean getIsReplay();

    // optional int32 c_os = 6;
    /**
     * optional int32 c_os = 6;
     */
    boolean hasCOs();
    /**
     * optional int32 c_os = 6;
     */
    int getCOs();

    // optional fixed32 map_crc = 7;
    /**
     * optional fixed32 map_crc = 7;
     */
    boolean hasMapCrc();
    /**
     * optional fixed32 map_crc = 7;
     */
    int getMapCrc();

    // optional fixed32 client_crc = 8;
    /**
     * optional fixed32 client_crc = 8;
     */
    boolean hasClientCrc();
    /**
     * optional fixed32 client_crc = 8;
     */
    int getClientCrc();

    // optional fixed32 string_table_crc = 9;
    /**
     * optional fixed32 string_table_crc = 9;
     */
    boolean hasStringTableCrc();
    /**
     * optional fixed32 string_table_crc = 9;
     */
    int getStringTableCrc();

    // optional int32 max_clients = 10;
    /**
     * optional int32 max_clients = 10;
     */
    boolean hasMaxClients();
    /**
     * optional int32 max_clients = 10;
     */
    int getMaxClients();

    // optional int32 max_classes = 11;
    /**
     * optional int32 max_classes = 11;
     */
    boolean hasMaxClasses();
    /**
     * optional int32 max_classes = 11;
     */
    int getMaxClasses();

    // optional int32 player_slot = 12;
    /**
     * optional int32 player_slot = 12;
     */
    boolean hasPlayerSlot();
    /**
     * optional int32 player_slot = 12;
     */
    int getPlayerSlot();

    // optional float tick_interval = 13;
    /**
     * optional float tick_interval = 13;
     */
    boolean hasTickInterval();
    /**
     * optional float tick_interval = 13;
     */
    float getTickInterval();

    // optional string game_dir = 14;
    /**
     * optional string game_dir = 14;
     */
    boolean hasGameDir();
    /**
     * optional string game_dir = 14;
     */
    java.lang.String getGameDir();
    /**
     * optional string game_dir = 14;
     */
    com.google.protobuf.ByteString
        getGameDirBytes();

    // optional string map_name = 15;
    /**
     * optional string map_name = 15;
     */
    boolean hasMapName();
    /**
     * optional string map_name = 15;
     */
    java.lang.String getMapName();
    /**
     * optional string map_name = 15;
     */
    com.google.protobuf.ByteString
        getMapNameBytes();

    // optional string sky_name = 16;
    /**
     * optional string sky_name = 16;
     */
    boolean hasSkyName();
    /**
     * optional string sky_name = 16;
     */
    java.lang.String getSkyName();
    /**
     * optional string sky_name = 16;
     */
    com.google.protobuf.ByteString
        getSkyNameBytes();

    // optional string host_name = 17;
    /**
     * optional string host_name = 17;
     */
    boolean hasHostName();
    /**
     * optional string host_name = 17;
     */
    java.lang.String getHostName();
    /**
     * optional string host_name = 17;
     */
    com.google.protobuf.ByteString
        getHostNameBytes();

    // optional string addon_name = 18;
    /**
     * optional string addon_name = 18;
     */
    boolean hasAddonName();
    /**
     * optional string addon_name = 18;
     */
    java.lang.String getAddonName();
    /**
     * optional string addon_name = 18;
     */
    com.google.protobuf.ByteString
        getAddonNameBytes();
  }
  /**
   * Protobuf type {@code CSVCMsg_ServerInfo}
   */
  public static final class CSVCMsg_ServerInfo extends
      com.google.protobuf.GeneratedMessage
      implements CSVCMsg_ServerInfoOrBuilder {
    // Use CSVCMsg_ServerInfo.newBuilder() to construct.
    private CSVCMsg_ServerInfo(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CSVCMsg_ServerInfo(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CSVCMsg_ServerInfo defaultInstance;
    public static CSVCMsg_ServerInfo getDefaultInstance() {
      return defaultInstance;
    }

    public CSVCMsg_ServerInfo getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CSVCMsg_ServerInfo(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              protocol_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              serverCount_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              isDedicated_ = input.readBool();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              isHltv_ = input.readBool();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              isReplay_ = input.readBool();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              cOs_ = input.readInt32();
              break;
            }
            case 61: {
              bitField0_ |= 0x00000040;
              mapCrc_ = input.readFixed32();
              break;
            }
            case 69: {
              bitField0_ |= 0x00000080;
              clientCrc_ = input.readFixed32();
              break;
            }
            case 77: {
              bitField0_ |= 0x00000100;
              stringTableCrc_ = input.readFixed32();
              break;
            }
            case 80: {
              bitField0_ |= 0x00000200;
              maxClients_ = input.readInt32();
              break;
            }
            case 88: {
              bitField0_ |= 0x00000400;
              maxClasses_ = input.readInt32();
              break;
            }
            case 96: {
              bitField0_ |= 0x00000800;
              playerSlot_ = input.readInt32();
              break;
            }
            case 109: {
              bitField0_ |= 0x00001000;
              tickInterval_ = input.readFloat();
              break;
            }
            case 114: {
              bitField0_ |= 0x00002000;
              gameDir_ = input.readBytes();
              break;
            }
            case 122: {
              bitField0_ |= 0x00004000;
              mapName_ = input.readBytes();
              break;
            }
            case 130: {
              bitField0_ |= 0x00008000;
              skyName_ = input.readBytes();
              break;
            }
            case 138: {
              bitField0_ |= 0x00010000;
              hostName_ = input.readBytes();
              break;
            }
            case 146: {
              bitField0_ |= 0x00020000;
              addonName_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_ServerInfo_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_ServerInfo_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CSVCMsg_ServerInfo.class, com.dota2.proto.Netmessages.CSVCMsg_ServerInfo.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CSVCMsg_ServerInfo parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CSVCMsg_ServerInfo(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional int32 protocol = 1;
    public static final int PROTOCOL_FIELD_NUMBER = 1;
    private int protocol_;
    /**
     * optional int32 protocol = 1;
     */
    public boolean hasProtocol() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 protocol = 1;
     */
    public int getProtocol() {
      return protocol_;
    }

    // optional int32 server_count = 2;
    public static final int SERVER_COUNT_FIELD_NUMBER = 2;
    private int serverCount_;
    /**
     * optional int32 server_count = 2;
     */
    public boolean hasServerCount() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 server_count = 2;
     */
    public int getServerCount() {
      return serverCount_;
    }

    // optional bool is_dedicated = 3;
    public static final int IS_DEDICATED_FIELD_NUMBER = 3;
    private boolean isDedicated_;
    /**
     * optional bool is_dedicated = 3;
     */
    public boolean hasIsDedicated() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional bool is_dedicated = 3;
     */
    public boolean getIsDedicated() {
      return isDedicated_;
    }

    // optional bool is_hltv = 4;
    public static final int IS_HLTV_FIELD_NUMBER = 4;
    private boolean isHltv_;
    /**
     * optional bool is_hltv = 4;
     */
    public boolean hasIsHltv() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional bool is_hltv = 4;
     */
    public boolean getIsHltv() {
      return isHltv_;
    }

    // optional bool is_replay = 5;
    public static final int IS_REPLAY_FIELD_NUMBER = 5;
    private boolean isReplay_;
    /**
     * optional bool is_replay = 5;
     */
    public boolean hasIsReplay() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional bool is_replay = 5;
     */
    public boolean getIsReplay() {
      return isReplay_;
    }

    // optional int32 c_os = 6;
    public static final int C_OS_FIELD_NUMBER = 6;
    private int cOs_;
    /**
     * optional int32 c_os = 6;
     */
    public boolean hasCOs() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional int32 c_os = 6;
     */
    public int getCOs() {
      return cOs_;
    }

    // optional fixed32 map_crc = 7;
    public static final int MAP_CRC_FIELD_NUMBER = 7;
    private int mapCrc_;
    /**
     * optional fixed32 map_crc = 7;
     */
    public boolean hasMapCrc() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * optional fixed32 map_crc = 7;
     */
    public int getMapCrc() {
      return mapCrc_;
    }

    // optional fixed32 client_crc = 8;
    public static final int CLIENT_CRC_FIELD_NUMBER = 8;
    private int clientCrc_;
    /**
     * optional fixed32 client_crc = 8;
     */
    public boolean hasClientCrc() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * optional fixed32 client_crc = 8;
     */
    public int getClientCrc() {
      return clientCrc_;
    }

    // optional fixed32 string_table_crc = 9;
    public static final int STRING_TABLE_CRC_FIELD_NUMBER = 9;
    private int stringTableCrc_;
    /**
     * optional fixed32 string_table_crc = 9;
     */
    public boolean hasStringTableCrc() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * optional fixed32 string_table_crc = 9;
     */
    public int getStringTableCrc() {
      return stringTableCrc_;
    }

    // optional int32 max_clients = 10;
    public static final int MAX_CLIENTS_FIELD_NUMBER = 10;
    private int maxClients_;
    /**
     * optional int32 max_clients = 10;
     */
    public boolean hasMaxClients() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * optional int32 max_clients = 10;
     */
    public int getMaxClients() {
      return maxClients_;
    }

    // optional int32 max_classes = 11;
    public static final int MAX_CLASSES_FIELD_NUMBER = 11;
    private int maxClasses_;
    /**
     * optional int32 max_classes = 11;
     */
    public boolean hasMaxClasses() {
      return ((bitField0_ & 0x00000400) == 0x00000400);
    }
    /**
     * optional int32 max_classes = 11;
     */
    public int getMaxClasses() {
      return maxClasses_;
    }

    // optional int32 player_slot = 12;
    public static final int PLAYER_SLOT_FIELD_NUMBER = 12;
    private int playerSlot_;
    /**
     * optional int32 player_slot = 12;
     */
    public boolean hasPlayerSlot() {
      return ((bitField0_ & 0x00000800) == 0x00000800);
    }
    /**
     * optional int32 player_slot = 12;
     */
    public int getPlayerSlot() {
      return playerSlot_;
    }

    // optional float tick_interval = 13;
    public static final int TICK_INTERVAL_FIELD_NUMBER = 13;
    private float tickInterval_;
    /**
     * optional float tick_interval = 13;
     */
    public boolean hasTickInterval() {
      return ((bitField0_ & 0x00001000) == 0x00001000);
    }
    /**
     * optional float tick_interval = 13;
     */
    public float getTickInterval() {
      return tickInterval_;
    }

    // optional string game_dir = 14;
    public static final int GAME_DIR_FIELD_NUMBER = 14;
    private java.lang.Object gameDir_;
    /**
     * optional string game_dir = 14;
     */
    public boolean hasGameDir() {
      return ((bitField0_ & 0x00002000) == 0x00002000);
    }
    /**
     * optional string game_dir = 14;
     */
    public java.lang.String getGameDir() {
      java.lang.Object ref = gameDir_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          gameDir_ = s;
        }
        return s;
      }
    }
    /**
     * optional string game_dir = 14;
     */
    public com.google.protobuf.ByteString
        getGameDirBytes() {
      java.lang.Object ref = gameDir_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        gameDir_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional string map_name = 15;
    public static final int MAP_NAME_FIELD_NUMBER = 15;
    private java.lang.Object mapName_;
    /**
     * optional string map_name = 15;
     */
    public boolean hasMapName() {
      return ((bitField0_ & 0x00004000) == 0x00004000);
    }
    /**
     * optional string map_name = 15;
     */
    public java.lang.String getMapName() {
      java.lang.Object ref = mapName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          mapName_ = s;
        }
        return s;
      }
    }
    /**
     * optional string map_name = 15;
     */
    public com.google.protobuf.ByteString
        getMapNameBytes() {
      java.lang.Object ref = mapName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        mapName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional string sky_name = 16;
    public static final int SKY_NAME_FIELD_NUMBER = 16;
    private java.lang.Object skyName_;
    /**
     * optional string sky_name = 16;
     */
    public boolean hasSkyName() {
      return ((bitField0_ & 0x00008000) == 0x00008000);
    }
    /**
     * optional string sky_name = 16;
     */
    public java.lang.String getSkyName() {
      java.lang.Object ref = skyName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          skyName_ = s;
        }
        return s;
      }
    }
    /**
     * optional string sky_name = 16;
     */
    public com.google.protobuf.ByteString
        getSkyNameBytes() {
      java.lang.Object ref = skyName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        skyName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional string host_name = 17;
    public static final int HOST_NAME_FIELD_NUMBER = 17;
    private java.lang.Object hostName_;
    /**
     * optional string host_name = 17;
     */
    public boolean hasHostName() {
      return ((bitField0_ & 0x00010000) == 0x00010000);
    }
    /**
     * optional string host_name = 17;
     */
    public java.lang.String getHostName() {
      java.lang.Object ref = hostName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          hostName_ = s;
        }
        return s;
      }
    }
    /**
     * optional string host_name = 17;
     */
    public com.google.protobuf.ByteString
        getHostNameBytes() {
      java.lang.Object ref = hostName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        hostName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional string addon_name = 18;
    public static final int ADDON_NAME_FIELD_NUMBER = 18;
    private java.lang.Object addonName_;
    /**
     * optional string addon_name = 18;
     */
    public boolean hasAddonName() {
      return ((bitField0_ & 0x00020000) == 0x00020000);
    }
    /**
     * optional string addon_name = 18;
     */
    public java.lang.String getAddonName() {
      java.lang.Object ref = addonName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          addonName_ = s;
        }
        return s;
      }
    }
    /**
     * optional string addon_name = 18;
     */
    public com.google.protobuf.ByteString
        getAddonNameBytes() {
      java.lang.Object ref = addonName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        addonName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      protocol_ = 0;
      serverCount_ = 0;
      isDedicated_ = false;
      isHltv_ = false;
      isReplay_ = false;
      cOs_ = 0;
      mapCrc_ = 0;
      clientCrc_ = 0;
      stringTableCrc_ = 0;
      maxClients_ = 0;
      maxClasses_ = 0;
      playerSlot_ = 0;
      tickInterval_ = 0F;
      gameDir_ = "";
      mapName_ = "";
      skyName_ = "";
      hostName_ = "";
      addonName_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, protocol_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, serverCount_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBool(3, isDedicated_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBool(4, isHltv_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeBool(5, isReplay_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeInt32(6, cOs_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeFixed32(7, mapCrc_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeFixed32(8, clientCrc_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeFixed32(9, stringTableCrc_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeInt32(10, maxClients_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        output.writeInt32(11, maxClasses_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        output.writeInt32(12, playerSlot_);
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        output.writeFloat(13, tickInterval_);
      }
      if (((bitField0_ & 0x00002000) == 0x00002000)) {
        output.writeBytes(14, getGameDirBytes());
      }
      if (((bitField0_ & 0x00004000) == 0x00004000)) {
        output.writeBytes(15, getMapNameBytes());
      }
      if (((bitField0_ & 0x00008000) == 0x00008000)) {
        output.writeBytes(16, getSkyNameBytes());
      }
      if (((bitField0_ & 0x00010000) == 0x00010000)) {
        output.writeBytes(17, getHostNameBytes());
      }
      if (((bitField0_ & 0x00020000) == 0x00020000)) {
        output.writeBytes(18, getAddonNameBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, protocol_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, serverCount_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, isDedicated_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(4, isHltv_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(5, isReplay_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, cOs_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(7, mapCrc_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(8, clientCrc_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(9, stringTableCrc_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(10, maxClients_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(11, maxClasses_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(12, playerSlot_);
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(13, tickInterval_);
      }
      if (((bitField0_ & 0x00002000) == 0x00002000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(14, getGameDirBytes());
      }
      if (((bitField0_ & 0x00004000) == 0x00004000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(15, getMapNameBytes());
      }
      if (((bitField0_ & 0x00008000) == 0x00008000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(16, getSkyNameBytes());
      }
      if (((bitField0_ & 0x00010000) == 0x00010000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(17, getHostNameBytes());
      }
      if (((bitField0_ & 0x00020000) == 0x00020000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(18, getAddonNameBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CSVCMsg_ServerInfo parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_ServerInfo parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_ServerInfo parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_ServerInfo parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_ServerInfo parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_ServerInfo parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_ServerInfo parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_ServerInfo parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_ServerInfo parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_ServerInfo parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_ServerInfo prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSVCMsg_ServerInfo}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CSVCMsg_ServerInfoOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_ServerInfo_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_ServerInfo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_ServerInfo.class, com.dota2.proto.Netmessages.CSVCMsg_ServerInfo.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CSVCMsg_ServerInfo.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        protocol_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        serverCount_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        isDedicated_ = false;
        bitField0_ = (bitField0_ & ~0x00000004);
        isHltv_ = false;
        bitField0_ = (bitField0_ & ~0x00000008);
        isReplay_ = false;
        bitField0_ = (bitField0_ & ~0x00000010);
        cOs_ = 0;
        bitField0_ = (bitField0_ & ~0x00000020);
        mapCrc_ = 0;
        bitField0_ = (bitField0_ & ~0x00000040);
        clientCrc_ = 0;
        bitField0_ = (bitField0_ & ~0x00000080);
        stringTableCrc_ = 0;
        bitField0_ = (bitField0_ & ~0x00000100);
        maxClients_ = 0;
        bitField0_ = (bitField0_ & ~0x00000200);
        maxClasses_ = 0;
        bitField0_ = (bitField0_ & ~0x00000400);
        playerSlot_ = 0;
        bitField0_ = (bitField0_ & ~0x00000800);
        tickInterval_ = 0F;
        bitField0_ = (bitField0_ & ~0x00001000);
        gameDir_ = "";
        bitField0_ = (bitField0_ & ~0x00002000);
        mapName_ = "";
        bitField0_ = (bitField0_ & ~0x00004000);
        skyName_ = "";
        bitField0_ = (bitField0_ & ~0x00008000);
        hostName_ = "";
        bitField0_ = (bitField0_ & ~0x00010000);
        addonName_ = "";
        bitField0_ = (bitField0_ & ~0x00020000);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_ServerInfo_descriptor;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_ServerInfo getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CSVCMsg_ServerInfo.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CSVCMsg_ServerInfo build() {
        com.dota2.proto.Netmessages.CSVCMsg_ServerInfo result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_ServerInfo buildPartial() {
        com.dota2.proto.Netmessages.CSVCMsg_ServerInfo result = new com.dota2.proto.Netmessages.CSVCMsg_ServerInfo(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.protocol_ = protocol_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.serverCount_ = serverCount_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.isDedicated_ = isDedicated_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.isHltv_ = isHltv_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.isReplay_ = isReplay_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.cOs_ = cOs_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.mapCrc_ = mapCrc_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        result.clientCrc_ = clientCrc_;
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        result.stringTableCrc_ = stringTableCrc_;
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000200;
        }
        result.maxClients_ = maxClients_;
        if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
          to_bitField0_ |= 0x00000400;
        }
        result.maxClasses_ = maxClasses_;
        if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
          to_bitField0_ |= 0x00000800;
        }
        result.playerSlot_ = playerSlot_;
        if (((from_bitField0_ & 0x00001000) == 0x00001000)) {
          to_bitField0_ |= 0x00001000;
        }
        result.tickInterval_ = tickInterval_;
        if (((from_bitField0_ & 0x00002000) == 0x00002000)) {
          to_bitField0_ |= 0x00002000;
        }
        result.gameDir_ = gameDir_;
        if (((from_bitField0_ & 0x00004000) == 0x00004000)) {
          to_bitField0_ |= 0x00004000;
        }
        result.mapName_ = mapName_;
        if (((from_bitField0_ & 0x00008000) == 0x00008000)) {
          to_bitField0_ |= 0x00008000;
        }
        result.skyName_ = skyName_;
        if (((from_bitField0_ & 0x00010000) == 0x00010000)) {
          to_bitField0_ |= 0x00010000;
        }
        result.hostName_ = hostName_;
        if (((from_bitField0_ & 0x00020000) == 0x00020000)) {
          to_bitField0_ |= 0x00020000;
        }
        result.addonName_ = addonName_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_ServerInfo) {
          return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_ServerInfo)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_ServerInfo other) {
        if (other == com.dota2.proto.Netmessages.CSVCMsg_ServerInfo.getDefaultInstance()) return this;
        if (other.hasProtocol()) {
          setProtocol(other.getProtocol());
        }
        if (other.hasServerCount()) {
          setServerCount(other.getServerCount());
        }
        if (other.hasIsDedicated()) {
          setIsDedicated(other.getIsDedicated());
        }
        if (other.hasIsHltv()) {
          setIsHltv(other.getIsHltv());
        }
        if (other.hasIsReplay()) {
          setIsReplay(other.getIsReplay());
        }
        if (other.hasCOs()) {
          setCOs(other.getCOs());
        }
        if (other.hasMapCrc()) {
          setMapCrc(other.getMapCrc());
        }
        if (other.hasClientCrc()) {
          setClientCrc(other.getClientCrc());
        }
        if (other.hasStringTableCrc()) {
          setStringTableCrc(other.getStringTableCrc());
        }
        if (other.hasMaxClients()) {
          setMaxClients(other.getMaxClients());
        }
        if (other.hasMaxClasses()) {
          setMaxClasses(other.getMaxClasses());
        }
        if (other.hasPlayerSlot()) {
          setPlayerSlot(other.getPlayerSlot());
        }
        if (other.hasTickInterval()) {
          setTickInterval(other.getTickInterval());
        }
        if (other.hasGameDir()) {
          bitField0_ |= 0x00002000;
          gameDir_ = other.gameDir_;
          onChanged();
        }
        if (other.hasMapName()) {
          bitField0_ |= 0x00004000;
          mapName_ = other.mapName_;
          onChanged();
        }
        if (other.hasSkyName()) {
          bitField0_ |= 0x00008000;
          skyName_ = other.skyName_;
          onChanged();
        }
        if (other.hasHostName()) {
          bitField0_ |= 0x00010000;
          hostName_ = other.hostName_;
          onChanged();
        }
        if (other.hasAddonName()) {
          bitField0_ |= 0x00020000;
          addonName_ = other.addonName_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CSVCMsg_ServerInfo parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_ServerInfo) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 protocol = 1;
      private int protocol_ ;
      /**
       * optional int32 protocol = 1;
       */
      public boolean hasProtocol() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 protocol = 1;
       */
      public int getProtocol() {
        return protocol_;
      }
      /**
       * optional int32 protocol = 1;
       */
      public Builder setProtocol(int value) {
        bitField0_ |= 0x00000001;
        protocol_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 protocol = 1;
       */
      public Builder clearProtocol() {
        bitField0_ = (bitField0_ & ~0x00000001);
        protocol_ = 0;
        onChanged();
        return this;
      }

      // optional int32 server_count = 2;
      private int serverCount_ ;
      /**
       * optional int32 server_count = 2;
       */
      public boolean hasServerCount() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 server_count = 2;
       */
      public int getServerCount() {
        return serverCount_;
      }
      /**
       * optional int32 server_count = 2;
       */
      public Builder setServerCount(int value) {
        bitField0_ |= 0x00000002;
        serverCount_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 server_count = 2;
       */
      public Builder clearServerCount() {
        bitField0_ = (bitField0_ & ~0x00000002);
        serverCount_ = 0;
        onChanged();
        return this;
      }

      // optional bool is_dedicated = 3;
      private boolean isDedicated_ ;
      /**
       * optional bool is_dedicated = 3;
       */
      public boolean hasIsDedicated() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional bool is_dedicated = 3;
       */
      public boolean getIsDedicated() {
        return isDedicated_;
      }
      /**
       * optional bool is_dedicated = 3;
       */
      public Builder setIsDedicated(boolean value) {
        bitField0_ |= 0x00000004;
        isDedicated_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool is_dedicated = 3;
       */
      public Builder clearIsDedicated() {
        bitField0_ = (bitField0_ & ~0x00000004);
        isDedicated_ = false;
        onChanged();
        return this;
      }

      // optional bool is_hltv = 4;
      private boolean isHltv_ ;
      /**
       * optional bool is_hltv = 4;
       */
      public boolean hasIsHltv() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional bool is_hltv = 4;
       */
      public boolean getIsHltv() {
        return isHltv_;
      }
      /**
       * optional bool is_hltv = 4;
       */
      public Builder setIsHltv(boolean value) {
        bitField0_ |= 0x00000008;
        isHltv_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool is_hltv = 4;
       */
      public Builder clearIsHltv() {
        bitField0_ = (bitField0_ & ~0x00000008);
        isHltv_ = false;
        onChanged();
        return this;
      }

      // optional bool is_replay = 5;
      private boolean isReplay_ ;
      /**
       * optional bool is_replay = 5;
       */
      public boolean hasIsReplay() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional bool is_replay = 5;
       */
      public boolean getIsReplay() {
        return isReplay_;
      }
      /**
       * optional bool is_replay = 5;
       */
      public Builder setIsReplay(boolean value) {
        bitField0_ |= 0x00000010;
        isReplay_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool is_replay = 5;
       */
      public Builder clearIsReplay() {
        bitField0_ = (bitField0_ & ~0x00000010);
        isReplay_ = false;
        onChanged();
        return this;
      }

      // optional int32 c_os = 6;
      private int cOs_ ;
      /**
       * optional int32 c_os = 6;
       */
      public boolean hasCOs() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional int32 c_os = 6;
       */
      public int getCOs() {
        return cOs_;
      }
      /**
       * optional int32 c_os = 6;
       */
      public Builder setCOs(int value) {
        bitField0_ |= 0x00000020;
        cOs_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 c_os = 6;
       */
      public Builder clearCOs() {
        bitField0_ = (bitField0_ & ~0x00000020);
        cOs_ = 0;
        onChanged();
        return this;
      }

      // optional fixed32 map_crc = 7;
      private int mapCrc_ ;
      /**
       * optional fixed32 map_crc = 7;
       */
      public boolean hasMapCrc() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * optional fixed32 map_crc = 7;
       */
      public int getMapCrc() {
        return mapCrc_;
      }
      /**
       * optional fixed32 map_crc = 7;
       */
      public Builder setMapCrc(int value) {
        bitField0_ |= 0x00000040;
        mapCrc_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 map_crc = 7;
       */
      public Builder clearMapCrc() {
        bitField0_ = (bitField0_ & ~0x00000040);
        mapCrc_ = 0;
        onChanged();
        return this;
      }

      // optional fixed32 client_crc = 8;
      private int clientCrc_ ;
      /**
       * optional fixed32 client_crc = 8;
       */
      public boolean hasClientCrc() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * optional fixed32 client_crc = 8;
       */
      public int getClientCrc() {
        return clientCrc_;
      }
      /**
       * optional fixed32 client_crc = 8;
       */
      public Builder setClientCrc(int value) {
        bitField0_ |= 0x00000080;
        clientCrc_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 client_crc = 8;
       */
      public Builder clearClientCrc() {
        bitField0_ = (bitField0_ & ~0x00000080);
        clientCrc_ = 0;
        onChanged();
        return this;
      }

      // optional fixed32 string_table_crc = 9;
      private int stringTableCrc_ ;
      /**
       * optional fixed32 string_table_crc = 9;
       */
      public boolean hasStringTableCrc() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * optional fixed32 string_table_crc = 9;
       */
      public int getStringTableCrc() {
        return stringTableCrc_;
      }
      /**
       * optional fixed32 string_table_crc = 9;
       */
      public Builder setStringTableCrc(int value) {
        bitField0_ |= 0x00000100;
        stringTableCrc_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 string_table_crc = 9;
       */
      public Builder clearStringTableCrc() {
        bitField0_ = (bitField0_ & ~0x00000100);
        stringTableCrc_ = 0;
        onChanged();
        return this;
      }

      // optional int32 max_clients = 10;
      private int maxClients_ ;
      /**
       * optional int32 max_clients = 10;
       */
      public boolean hasMaxClients() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * optional int32 max_clients = 10;
       */
      public int getMaxClients() {
        return maxClients_;
      }
      /**
       * optional int32 max_clients = 10;
       */
      public Builder setMaxClients(int value) {
        bitField0_ |= 0x00000200;
        maxClients_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 max_clients = 10;
       */
      public Builder clearMaxClients() {
        bitField0_ = (bitField0_ & ~0x00000200);
        maxClients_ = 0;
        onChanged();
        return this;
      }

      // optional int32 max_classes = 11;
      private int maxClasses_ ;
      /**
       * optional int32 max_classes = 11;
       */
      public boolean hasMaxClasses() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      /**
       * optional int32 max_classes = 11;
       */
      public int getMaxClasses() {
        return maxClasses_;
      }
      /**
       * optional int32 max_classes = 11;
       */
      public Builder setMaxClasses(int value) {
        bitField0_ |= 0x00000400;
        maxClasses_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 max_classes = 11;
       */
      public Builder clearMaxClasses() {
        bitField0_ = (bitField0_ & ~0x00000400);
        maxClasses_ = 0;
        onChanged();
        return this;
      }

      // optional int32 player_slot = 12;
      private int playerSlot_ ;
      /**
       * optional int32 player_slot = 12;
       */
      public boolean hasPlayerSlot() {
        return ((bitField0_ & 0x00000800) == 0x00000800);
      }
      /**
       * optional int32 player_slot = 12;
       */
      public int getPlayerSlot() {
        return playerSlot_;
      }
      /**
       * optional int32 player_slot = 12;
       */
      public Builder setPlayerSlot(int value) {
        bitField0_ |= 0x00000800;
        playerSlot_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 player_slot = 12;
       */
      public Builder clearPlayerSlot() {
        bitField0_ = (bitField0_ & ~0x00000800);
        playerSlot_ = 0;
        onChanged();
        return this;
      }

      // optional float tick_interval = 13;
      private float tickInterval_ ;
      /**
       * optional float tick_interval = 13;
       */
      public boolean hasTickInterval() {
        return ((bitField0_ & 0x00001000) == 0x00001000);
      }
      /**
       * optional float tick_interval = 13;
       */
      public float getTickInterval() {
        return tickInterval_;
      }
      /**
       * optional float tick_interval = 13;
       */
      public Builder setTickInterval(float value) {
        bitField0_ |= 0x00001000;
        tickInterval_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float tick_interval = 13;
       */
      public Builder clearTickInterval() {
        bitField0_ = (bitField0_ & ~0x00001000);
        tickInterval_ = 0F;
        onChanged();
        return this;
      }

      // optional string game_dir = 14;
      private java.lang.Object gameDir_ = "";
      /**
       * optional string game_dir = 14;
       */
      public boolean hasGameDir() {
        return ((bitField0_ & 0x00002000) == 0x00002000);
      }
      /**
       * optional string game_dir = 14;
       */
      public java.lang.String getGameDir() {
        java.lang.Object ref = gameDir_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          gameDir_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string game_dir = 14;
       */
      public com.google.protobuf.ByteString
          getGameDirBytes() {
        java.lang.Object ref = gameDir_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          gameDir_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string game_dir = 14;
       */
      public Builder setGameDir(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00002000;
        gameDir_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string game_dir = 14;
       */
      public Builder clearGameDir() {
        bitField0_ = (bitField0_ & ~0x00002000);
        gameDir_ = getDefaultInstance().getGameDir();
        onChanged();
        return this;
      }
      /**
       * optional string game_dir = 14;
       */
      public Builder setGameDirBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00002000;
        gameDir_ = value;
        onChanged();
        return this;
      }

      // optional string map_name = 15;
      private java.lang.Object mapName_ = "";
      /**
       * optional string map_name = 15;
       */
      public boolean hasMapName() {
        return ((bitField0_ & 0x00004000) == 0x00004000);
      }
      /**
       * optional string map_name = 15;
       */
      public java.lang.String getMapName() {
        java.lang.Object ref = mapName_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          mapName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string map_name = 15;
       */
      public com.google.protobuf.ByteString
          getMapNameBytes() {
        java.lang.Object ref = mapName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          mapName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string map_name = 15;
       */
      public Builder setMapName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00004000;
        mapName_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string map_name = 15;
       */
      public Builder clearMapName() {
        bitField0_ = (bitField0_ & ~0x00004000);
        mapName_ = getDefaultInstance().getMapName();
        onChanged();
        return this;
      }
      /**
       * optional string map_name = 15;
       */
      public Builder setMapNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00004000;
        mapName_ = value;
        onChanged();
        return this;
      }

      // optional string sky_name = 16;
      private java.lang.Object skyName_ = "";
      /**
       * optional string sky_name = 16;
       */
      public boolean hasSkyName() {
        return ((bitField0_ & 0x00008000) == 0x00008000);
      }
      /**
       * optional string sky_name = 16;
       */
      public java.lang.String getSkyName() {
        java.lang.Object ref = skyName_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          skyName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string sky_name = 16;
       */
      public com.google.protobuf.ByteString
          getSkyNameBytes() {
        java.lang.Object ref = skyName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          skyName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string sky_name = 16;
       */
      public Builder setSkyName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00008000;
        skyName_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string sky_name = 16;
       */
      public Builder clearSkyName() {
        bitField0_ = (bitField0_ & ~0x00008000);
        skyName_ = getDefaultInstance().getSkyName();
        onChanged();
        return this;
      }
      /**
       * optional string sky_name = 16;
       */
      public Builder setSkyNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00008000;
        skyName_ = value;
        onChanged();
        return this;
      }

      // optional string host_name = 17;
      private java.lang.Object hostName_ = "";
      /**
       * optional string host_name = 17;
       */
      public boolean hasHostName() {
        return ((bitField0_ & 0x00010000) == 0x00010000);
      }
      /**
       * optional string host_name = 17;
       */
      public java.lang.String getHostName() {
        java.lang.Object ref = hostName_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          hostName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string host_name = 17;
       */
      public com.google.protobuf.ByteString
          getHostNameBytes() {
        java.lang.Object ref = hostName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          hostName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string host_name = 17;
       */
      public Builder setHostName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00010000;
        hostName_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string host_name = 17;
       */
      public Builder clearHostName() {
        bitField0_ = (bitField0_ & ~0x00010000);
        hostName_ = getDefaultInstance().getHostName();
        onChanged();
        return this;
      }
      /**
       * optional string host_name = 17;
       */
      public Builder setHostNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00010000;
        hostName_ = value;
        onChanged();
        return this;
      }

      // optional string addon_name = 18;
      private java.lang.Object addonName_ = "";
      /**
       * optional string addon_name = 18;
       */
      public boolean hasAddonName() {
        return ((bitField0_ & 0x00020000) == 0x00020000);
      }
      /**
       * optional string addon_name = 18;
       */
      public java.lang.String getAddonName() {
        java.lang.Object ref = addonName_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          addonName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string addon_name = 18;
       */
      public com.google.protobuf.ByteString
          getAddonNameBytes() {
        java.lang.Object ref = addonName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          addonName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string addon_name = 18;
       */
      public Builder setAddonName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00020000;
        addonName_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string addon_name = 18;
       */
      public Builder clearAddonName() {
        bitField0_ = (bitField0_ & ~0x00020000);
        addonName_ = getDefaultInstance().getAddonName();
        onChanged();
        return this;
      }
      /**
       * optional string addon_name = 18;
       */
      public Builder setAddonNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00020000;
        addonName_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSVCMsg_ServerInfo)
    }

    static {
      defaultInstance = new CSVCMsg_ServerInfo(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CSVCMsg_ServerInfo)
  }

  public interface CSVCMsg_ClassInfoOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional bool create_on_client = 1;
    /**
     * optional bool create_on_client = 1;
     */
    boolean hasCreateOnClient();
    /**
     * optional bool create_on_client = 1;
     */
    boolean getCreateOnClient();

    // repeated .CSVCMsg_ClassInfo.class_t classes = 2;
    /**
     * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
     */
    java.util.List 
        getClassesList();
    /**
     * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
     */
    com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t getClasses(int index);
    /**
     * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
     */
    int getClassesCount();
    /**
     * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
     */
    java.util.List 
        getClassesOrBuilderList();
    /**
     * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
     */
    com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_tOrBuilder getClassesOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code CSVCMsg_ClassInfo}
   */
  public static final class CSVCMsg_ClassInfo extends
      com.google.protobuf.GeneratedMessage
      implements CSVCMsg_ClassInfoOrBuilder {
    // Use CSVCMsg_ClassInfo.newBuilder() to construct.
    private CSVCMsg_ClassInfo(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CSVCMsg_ClassInfo(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CSVCMsg_ClassInfo defaultInstance;
    public static CSVCMsg_ClassInfo getDefaultInstance() {
      return defaultInstance;
    }

    public CSVCMsg_ClassInfo getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CSVCMsg_ClassInfo(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              createOnClient_ = input.readBool();
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                classes_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              classes_.add(input.readMessage(com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          classes_ = java.util.Collections.unmodifiableList(classes_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_ClassInfo_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_ClassInfo_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class, com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CSVCMsg_ClassInfo parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CSVCMsg_ClassInfo(input, extensionRegistry);
      }
    };

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

    public interface class_tOrBuilder
        extends com.google.protobuf.MessageOrBuilder {

      // optional int32 class_id = 1;
      /**
       * optional int32 class_id = 1;
       */
      boolean hasClassId();
      /**
       * optional int32 class_id = 1;
       */
      int getClassId();

      // optional string data_table_name = 2;
      /**
       * optional string data_table_name = 2;
       */
      boolean hasDataTableName();
      /**
       * optional string data_table_name = 2;
       */
      java.lang.String getDataTableName();
      /**
       * optional string data_table_name = 2;
       */
      com.google.protobuf.ByteString
          getDataTableNameBytes();

      // optional string class_name = 3;
      /**
       * optional string class_name = 3;
       */
      boolean hasClassName();
      /**
       * optional string class_name = 3;
       */
      java.lang.String getClassName();
      /**
       * optional string class_name = 3;
       */
      com.google.protobuf.ByteString
          getClassNameBytes();
    }
    /**
     * Protobuf type {@code CSVCMsg_ClassInfo.class_t}
     */
    public static final class class_t extends
        com.google.protobuf.GeneratedMessage
        implements class_tOrBuilder {
      // Use class_t.newBuilder() to construct.
      private class_t(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private class_t(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final class_t defaultInstance;
      public static class_t getDefaultInstance() {
        return defaultInstance;
      }

      public class_t getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private class_t(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        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;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 8: {
                bitField0_ |= 0x00000001;
                classId_ = input.readInt32();
                break;
              }
              case 18: {
                bitField0_ |= 0x00000002;
                dataTableName_ = input.readBytes();
                break;
              }
              case 26: {
                bitField0_ |= 0x00000004;
                className_ = input.readBytes();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_ClassInfo_class_t_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_ClassInfo_class_t_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t.class, com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t.Builder.class);
      }

      public static com.google.protobuf.Parser PARSER =
          new com.google.protobuf.AbstractParser() {
        public class_t parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new class_t(input, extensionRegistry);
        }
      };

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

      private int bitField0_;
      // optional int32 class_id = 1;
      public static final int CLASS_ID_FIELD_NUMBER = 1;
      private int classId_;
      /**
       * optional int32 class_id = 1;
       */
      public boolean hasClassId() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 class_id = 1;
       */
      public int getClassId() {
        return classId_;
      }

      // optional string data_table_name = 2;
      public static final int DATA_TABLE_NAME_FIELD_NUMBER = 2;
      private java.lang.Object dataTableName_;
      /**
       * optional string data_table_name = 2;
       */
      public boolean hasDataTableName() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional string data_table_name = 2;
       */
      public java.lang.String getDataTableName() {
        java.lang.Object ref = dataTableName_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            dataTableName_ = s;
          }
          return s;
        }
      }
      /**
       * optional string data_table_name = 2;
       */
      public com.google.protobuf.ByteString
          getDataTableNameBytes() {
        java.lang.Object ref = dataTableName_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          dataTableName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      // optional string class_name = 3;
      public static final int CLASS_NAME_FIELD_NUMBER = 3;
      private java.lang.Object className_;
      /**
       * optional string class_name = 3;
       */
      public boolean hasClassName() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional string class_name = 3;
       */
      public java.lang.String getClassName() {
        java.lang.Object ref = className_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            className_ = s;
          }
          return s;
        }
      }
      /**
       * optional string class_name = 3;
       */
      public com.google.protobuf.ByteString
          getClassNameBytes() {
        java.lang.Object ref = className_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          className_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      private void initFields() {
        classId_ = 0;
        dataTableName_ = "";
        className_ = "";
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeInt32(1, classId_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeBytes(2, getDataTableNameBytes());
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeBytes(3, getClassNameBytes());
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(1, classId_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(2, getDataTableNameBytes());
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(3, getClassNameBytes());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      public static com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code CSVCMsg_ClassInfo.class_t}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder
         implements com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_tOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.dota2.proto.Netmessages.internal_static_CSVCMsg_ClassInfo_class_t_descriptor;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.dota2.proto.Netmessages.internal_static_CSVCMsg_ClassInfo_class_t_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t.class, com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t.Builder.class);
        }

        // Construct using com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          classId_ = 0;
          bitField0_ = (bitField0_ & ~0x00000001);
          dataTableName_ = "";
          bitField0_ = (bitField0_ & ~0x00000002);
          className_ = "";
          bitField0_ = (bitField0_ & ~0x00000004);
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.dota2.proto.Netmessages.internal_static_CSVCMsg_ClassInfo_class_t_descriptor;
        }

        public com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t getDefaultInstanceForType() {
          return com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t.getDefaultInstance();
        }

        public com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t build() {
          com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t buildPartial() {
          com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t result = new com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.classId_ = classId_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.dataTableName_ = dataTableName_;
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.className_ = className_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t) {
            return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t other) {
          if (other == com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t.getDefaultInstance()) return this;
          if (other.hasClassId()) {
            setClassId(other.getClassId());
          }
          if (other.hasDataTableName()) {
            bitField0_ |= 0x00000002;
            dataTableName_ = other.dataTableName_;
            onChanged();
          }
          if (other.hasClassName()) {
            bitField0_ |= 0x00000004;
            className_ = other.className_;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        // optional int32 class_id = 1;
        private int classId_ ;
        /**
         * optional int32 class_id = 1;
         */
        public boolean hasClassId() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * optional int32 class_id = 1;
         */
        public int getClassId() {
          return classId_;
        }
        /**
         * optional int32 class_id = 1;
         */
        public Builder setClassId(int value) {
          bitField0_ |= 0x00000001;
          classId_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 class_id = 1;
         */
        public Builder clearClassId() {
          bitField0_ = (bitField0_ & ~0x00000001);
          classId_ = 0;
          onChanged();
          return this;
        }

        // optional string data_table_name = 2;
        private java.lang.Object dataTableName_ = "";
        /**
         * optional string data_table_name = 2;
         */
        public boolean hasDataTableName() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * optional string data_table_name = 2;
         */
        public java.lang.String getDataTableName() {
          java.lang.Object ref = dataTableName_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            dataTableName_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * optional string data_table_name = 2;
         */
        public com.google.protobuf.ByteString
            getDataTableNameBytes() {
          java.lang.Object ref = dataTableName_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            dataTableName_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * optional string data_table_name = 2;
         */
        public Builder setDataTableName(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
          dataTableName_ = value;
          onChanged();
          return this;
        }
        /**
         * optional string data_table_name = 2;
         */
        public Builder clearDataTableName() {
          bitField0_ = (bitField0_ & ~0x00000002);
          dataTableName_ = getDefaultInstance().getDataTableName();
          onChanged();
          return this;
        }
        /**
         * optional string data_table_name = 2;
         */
        public Builder setDataTableNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
          dataTableName_ = value;
          onChanged();
          return this;
        }

        // optional string class_name = 3;
        private java.lang.Object className_ = "";
        /**
         * optional string class_name = 3;
         */
        public boolean hasClassName() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * optional string class_name = 3;
         */
        public java.lang.String getClassName() {
          java.lang.Object ref = className_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            className_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * optional string class_name = 3;
         */
        public com.google.protobuf.ByteString
            getClassNameBytes() {
          java.lang.Object ref = className_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            className_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * optional string class_name = 3;
         */
        public Builder setClassName(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
          className_ = value;
          onChanged();
          return this;
        }
        /**
         * optional string class_name = 3;
         */
        public Builder clearClassName() {
          bitField0_ = (bitField0_ & ~0x00000004);
          className_ = getDefaultInstance().getClassName();
          onChanged();
          return this;
        }
        /**
         * optional string class_name = 3;
         */
        public Builder setClassNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
          className_ = value;
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:CSVCMsg_ClassInfo.class_t)
      }

      static {
        defaultInstance = new class_t(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:CSVCMsg_ClassInfo.class_t)
    }

    private int bitField0_;
    // optional bool create_on_client = 1;
    public static final int CREATE_ON_CLIENT_FIELD_NUMBER = 1;
    private boolean createOnClient_;
    /**
     * optional bool create_on_client = 1;
     */
    public boolean hasCreateOnClient() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional bool create_on_client = 1;
     */
    public boolean getCreateOnClient() {
      return createOnClient_;
    }

    // repeated .CSVCMsg_ClassInfo.class_t classes = 2;
    public static final int CLASSES_FIELD_NUMBER = 2;
    private java.util.List classes_;
    /**
     * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
     */
    public java.util.List getClassesList() {
      return classes_;
    }
    /**
     * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
     */
    public java.util.List 
        getClassesOrBuilderList() {
      return classes_;
    }
    /**
     * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
     */
    public int getClassesCount() {
      return classes_.size();
    }
    /**
     * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
     */
    public com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t getClasses(int index) {
      return classes_.get(index);
    }
    /**
     * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
     */
    public com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_tOrBuilder getClassesOrBuilder(
        int index) {
      return classes_.get(index);
    }

    private void initFields() {
      createOnClient_ = false;
      classes_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBool(1, createOnClient_);
      }
      for (int i = 0; i < classes_.size(); i++) {
        output.writeMessage(2, classes_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(1, createOnClient_);
      }
      for (int i = 0; i < classes_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, classes_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CSVCMsg_ClassInfo parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_ClassInfo parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_ClassInfo parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_ClassInfo parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_ClassInfo parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_ClassInfo parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_ClassInfo parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_ClassInfo parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_ClassInfo parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_ClassInfo parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_ClassInfo prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSVCMsg_ClassInfo}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CSVCMsg_ClassInfoOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_ClassInfo_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_ClassInfo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class, com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getClassesFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        createOnClient_ = false;
        bitField0_ = (bitField0_ & ~0x00000001);
        if (classesBuilder_ == null) {
          classes_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          classesBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_ClassInfo_descriptor;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_ClassInfo getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CSVCMsg_ClassInfo build() {
        com.dota2.proto.Netmessages.CSVCMsg_ClassInfo result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_ClassInfo buildPartial() {
        com.dota2.proto.Netmessages.CSVCMsg_ClassInfo result = new com.dota2.proto.Netmessages.CSVCMsg_ClassInfo(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.createOnClient_ = createOnClient_;
        if (classesBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            classes_ = java.util.Collections.unmodifiableList(classes_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.classes_ = classes_;
        } else {
          result.classes_ = classesBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_ClassInfo) {
          return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_ClassInfo)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_ClassInfo other) {
        if (other == com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.getDefaultInstance()) return this;
        if (other.hasCreateOnClient()) {
          setCreateOnClient(other.getCreateOnClient());
        }
        if (classesBuilder_ == null) {
          if (!other.classes_.isEmpty()) {
            if (classes_.isEmpty()) {
              classes_ = other.classes_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureClassesIsMutable();
              classes_.addAll(other.classes_);
            }
            onChanged();
          }
        } else {
          if (!other.classes_.isEmpty()) {
            if (classesBuilder_.isEmpty()) {
              classesBuilder_.dispose();
              classesBuilder_ = null;
              classes_ = other.classes_;
              bitField0_ = (bitField0_ & ~0x00000002);
              classesBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getClassesFieldBuilder() : null;
            } else {
              classesBuilder_.addAllMessages(other.classes_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CSVCMsg_ClassInfo parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_ClassInfo) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional bool create_on_client = 1;
      private boolean createOnClient_ ;
      /**
       * optional bool create_on_client = 1;
       */
      public boolean hasCreateOnClient() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional bool create_on_client = 1;
       */
      public boolean getCreateOnClient() {
        return createOnClient_;
      }
      /**
       * optional bool create_on_client = 1;
       */
      public Builder setCreateOnClient(boolean value) {
        bitField0_ |= 0x00000001;
        createOnClient_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool create_on_client = 1;
       */
      public Builder clearCreateOnClient() {
        bitField0_ = (bitField0_ & ~0x00000001);
        createOnClient_ = false;
        onChanged();
        return this;
      }

      // repeated .CSVCMsg_ClassInfo.class_t classes = 2;
      private java.util.List classes_ =
        java.util.Collections.emptyList();
      private void ensureClassesIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          classes_ = new java.util.ArrayList(classes_);
          bitField0_ |= 0x00000002;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t, com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t.Builder, com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_tOrBuilder> classesBuilder_;

      /**
       * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
       */
      public java.util.List getClassesList() {
        if (classesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(classes_);
        } else {
          return classesBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
       */
      public int getClassesCount() {
        if (classesBuilder_ == null) {
          return classes_.size();
        } else {
          return classesBuilder_.getCount();
        }
      }
      /**
       * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
       */
      public com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t getClasses(int index) {
        if (classesBuilder_ == null) {
          return classes_.get(index);
        } else {
          return classesBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
       */
      public Builder setClasses(
          int index, com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t value) {
        if (classesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureClassesIsMutable();
          classes_.set(index, value);
          onChanged();
        } else {
          classesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
       */
      public Builder setClasses(
          int index, com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t.Builder builderForValue) {
        if (classesBuilder_ == null) {
          ensureClassesIsMutable();
          classes_.set(index, builderForValue.build());
          onChanged();
        } else {
          classesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
       */
      public Builder addClasses(com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t value) {
        if (classesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureClassesIsMutable();
          classes_.add(value);
          onChanged();
        } else {
          classesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
       */
      public Builder addClasses(
          int index, com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t value) {
        if (classesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureClassesIsMutable();
          classes_.add(index, value);
          onChanged();
        } else {
          classesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
       */
      public Builder addClasses(
          com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t.Builder builderForValue) {
        if (classesBuilder_ == null) {
          ensureClassesIsMutable();
          classes_.add(builderForValue.build());
          onChanged();
        } else {
          classesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
       */
      public Builder addClasses(
          int index, com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t.Builder builderForValue) {
        if (classesBuilder_ == null) {
          ensureClassesIsMutable();
          classes_.add(index, builderForValue.build());
          onChanged();
        } else {
          classesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
       */
      public Builder addAllClasses(
          java.lang.Iterable values) {
        if (classesBuilder_ == null) {
          ensureClassesIsMutable();
          super.addAll(values, classes_);
          onChanged();
        } else {
          classesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
       */
      public Builder clearClasses() {
        if (classesBuilder_ == null) {
          classes_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          classesBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
       */
      public Builder removeClasses(int index) {
        if (classesBuilder_ == null) {
          ensureClassesIsMutable();
          classes_.remove(index);
          onChanged();
        } else {
          classesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
       */
      public com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t.Builder getClassesBuilder(
          int index) {
        return getClassesFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
       */
      public com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_tOrBuilder getClassesOrBuilder(
          int index) {
        if (classesBuilder_ == null) {
          return classes_.get(index);  } else {
          return classesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
       */
      public java.util.List 
           getClassesOrBuilderList() {
        if (classesBuilder_ != null) {
          return classesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(classes_);
        }
      }
      /**
       * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
       */
      public com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t.Builder addClassesBuilder() {
        return getClassesFieldBuilder().addBuilder(
            com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t.getDefaultInstance());
      }
      /**
       * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
       */
      public com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t.Builder addClassesBuilder(
          int index) {
        return getClassesFieldBuilder().addBuilder(
            index, com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t.getDefaultInstance());
      }
      /**
       * repeated .CSVCMsg_ClassInfo.class_t classes = 2;
       */
      public java.util.List 
           getClassesBuilderList() {
        return getClassesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t, com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t.Builder, com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_tOrBuilder> 
          getClassesFieldBuilder() {
        if (classesBuilder_ == null) {
          classesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t, com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_t.Builder, com.dota2.proto.Netmessages.CSVCMsg_ClassInfo.class_tOrBuilder>(
                  classes_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          classes_ = null;
        }
        return classesBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CSVCMsg_ClassInfo)
    }

    static {
      defaultInstance = new CSVCMsg_ClassInfo(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CSVCMsg_ClassInfo)
  }

  public interface CSVCMsg_SetPauseOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional bool paused = 1;
    /**
     * optional bool paused = 1;
     */
    boolean hasPaused();
    /**
     * optional bool paused = 1;
     */
    boolean getPaused();
  }
  /**
   * Protobuf type {@code CSVCMsg_SetPause}
   */
  public static final class CSVCMsg_SetPause extends
      com.google.protobuf.GeneratedMessage
      implements CSVCMsg_SetPauseOrBuilder {
    // Use CSVCMsg_SetPause.newBuilder() to construct.
    private CSVCMsg_SetPause(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CSVCMsg_SetPause(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CSVCMsg_SetPause defaultInstance;
    public static CSVCMsg_SetPause getDefaultInstance() {
      return defaultInstance;
    }

    public CSVCMsg_SetPause getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CSVCMsg_SetPause(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              paused_ = input.readBool();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SetPause_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SetPause_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CSVCMsg_SetPause.class, com.dota2.proto.Netmessages.CSVCMsg_SetPause.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CSVCMsg_SetPause parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CSVCMsg_SetPause(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional bool paused = 1;
    public static final int PAUSED_FIELD_NUMBER = 1;
    private boolean paused_;
    /**
     * optional bool paused = 1;
     */
    public boolean hasPaused() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional bool paused = 1;
     */
    public boolean getPaused() {
      return paused_;
    }

    private void initFields() {
      paused_ = false;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBool(1, paused_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(1, paused_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CSVCMsg_SetPause parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SetPause parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SetPause parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SetPause parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SetPause parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SetPause parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SetPause parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SetPause parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SetPause parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SetPause parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_SetPause prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSVCMsg_SetPause}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CSVCMsg_SetPauseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SetPause_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SetPause_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_SetPause.class, com.dota2.proto.Netmessages.CSVCMsg_SetPause.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CSVCMsg_SetPause.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        paused_ = false;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SetPause_descriptor;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_SetPause getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CSVCMsg_SetPause.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CSVCMsg_SetPause build() {
        com.dota2.proto.Netmessages.CSVCMsg_SetPause result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_SetPause buildPartial() {
        com.dota2.proto.Netmessages.CSVCMsg_SetPause result = new com.dota2.proto.Netmessages.CSVCMsg_SetPause(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.paused_ = paused_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_SetPause) {
          return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_SetPause)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_SetPause other) {
        if (other == com.dota2.proto.Netmessages.CSVCMsg_SetPause.getDefaultInstance()) return this;
        if (other.hasPaused()) {
          setPaused(other.getPaused());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CSVCMsg_SetPause parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_SetPause) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional bool paused = 1;
      private boolean paused_ ;
      /**
       * optional bool paused = 1;
       */
      public boolean hasPaused() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional bool paused = 1;
       */
      public boolean getPaused() {
        return paused_;
      }
      /**
       * optional bool paused = 1;
       */
      public Builder setPaused(boolean value) {
        bitField0_ |= 0x00000001;
        paused_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool paused = 1;
       */
      public Builder clearPaused() {
        bitField0_ = (bitField0_ & ~0x00000001);
        paused_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSVCMsg_SetPause)
    }

    static {
      defaultInstance = new CSVCMsg_SetPause(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CSVCMsg_SetPause)
  }

  public interface CSVCMsg_VoiceInitOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 quality = 1;
    /**
     * optional int32 quality = 1;
     */
    boolean hasQuality();
    /**
     * optional int32 quality = 1;
     */
    int getQuality();

    // optional string codec = 2;
    /**
     * optional string codec = 2;
     */
    boolean hasCodec();
    /**
     * optional string codec = 2;
     */
    java.lang.String getCodec();
    /**
     * optional string codec = 2;
     */
    com.google.protobuf.ByteString
        getCodecBytes();

    // optional int32 version = 3 [default = 0];
    /**
     * optional int32 version = 3 [default = 0];
     */
    boolean hasVersion();
    /**
     * optional int32 version = 3 [default = 0];
     */
    int getVersion();
  }
  /**
   * Protobuf type {@code CSVCMsg_VoiceInit}
   */
  public static final class CSVCMsg_VoiceInit extends
      com.google.protobuf.GeneratedMessage
      implements CSVCMsg_VoiceInitOrBuilder {
    // Use CSVCMsg_VoiceInit.newBuilder() to construct.
    private CSVCMsg_VoiceInit(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CSVCMsg_VoiceInit(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CSVCMsg_VoiceInit defaultInstance;
    public static CSVCMsg_VoiceInit getDefaultInstance() {
      return defaultInstance;
    }

    public CSVCMsg_VoiceInit getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CSVCMsg_VoiceInit(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              quality_ = input.readInt32();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              codec_ = input.readBytes();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              version_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_VoiceInit_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_VoiceInit_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CSVCMsg_VoiceInit.class, com.dota2.proto.Netmessages.CSVCMsg_VoiceInit.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CSVCMsg_VoiceInit parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CSVCMsg_VoiceInit(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional int32 quality = 1;
    public static final int QUALITY_FIELD_NUMBER = 1;
    private int quality_;
    /**
     * optional int32 quality = 1;
     */
    public boolean hasQuality() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 quality = 1;
     */
    public int getQuality() {
      return quality_;
    }

    // optional string codec = 2;
    public static final int CODEC_FIELD_NUMBER = 2;
    private java.lang.Object codec_;
    /**
     * optional string codec = 2;
     */
    public boolean hasCodec() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional string codec = 2;
     */
    public java.lang.String getCodec() {
      java.lang.Object ref = codec_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          codec_ = s;
        }
        return s;
      }
    }
    /**
     * optional string codec = 2;
     */
    public com.google.protobuf.ByteString
        getCodecBytes() {
      java.lang.Object ref = codec_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        codec_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional int32 version = 3 [default = 0];
    public static final int VERSION_FIELD_NUMBER = 3;
    private int version_;
    /**
     * optional int32 version = 3 [default = 0];
     */
    public boolean hasVersion() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional int32 version = 3 [default = 0];
     */
    public int getVersion() {
      return version_;
    }

    private void initFields() {
      quality_ = 0;
      codec_ = "";
      version_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, quality_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getCodecBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, version_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, quality_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getCodecBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, version_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CSVCMsg_VoiceInit parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_VoiceInit parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_VoiceInit parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_VoiceInit parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_VoiceInit parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_VoiceInit parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_VoiceInit parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_VoiceInit parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_VoiceInit parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_VoiceInit parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_VoiceInit prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSVCMsg_VoiceInit}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CSVCMsg_VoiceInitOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_VoiceInit_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_VoiceInit_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_VoiceInit.class, com.dota2.proto.Netmessages.CSVCMsg_VoiceInit.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CSVCMsg_VoiceInit.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        quality_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        codec_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        version_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_VoiceInit_descriptor;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_VoiceInit getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CSVCMsg_VoiceInit.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CSVCMsg_VoiceInit build() {
        com.dota2.proto.Netmessages.CSVCMsg_VoiceInit result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_VoiceInit buildPartial() {
        com.dota2.proto.Netmessages.CSVCMsg_VoiceInit result = new com.dota2.proto.Netmessages.CSVCMsg_VoiceInit(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.quality_ = quality_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.codec_ = codec_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.version_ = version_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_VoiceInit) {
          return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_VoiceInit)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_VoiceInit other) {
        if (other == com.dota2.proto.Netmessages.CSVCMsg_VoiceInit.getDefaultInstance()) return this;
        if (other.hasQuality()) {
          setQuality(other.getQuality());
        }
        if (other.hasCodec()) {
          bitField0_ |= 0x00000002;
          codec_ = other.codec_;
          onChanged();
        }
        if (other.hasVersion()) {
          setVersion(other.getVersion());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CSVCMsg_VoiceInit parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_VoiceInit) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 quality = 1;
      private int quality_ ;
      /**
       * optional int32 quality = 1;
       */
      public boolean hasQuality() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 quality = 1;
       */
      public int getQuality() {
        return quality_;
      }
      /**
       * optional int32 quality = 1;
       */
      public Builder setQuality(int value) {
        bitField0_ |= 0x00000001;
        quality_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 quality = 1;
       */
      public Builder clearQuality() {
        bitField0_ = (bitField0_ & ~0x00000001);
        quality_ = 0;
        onChanged();
        return this;
      }

      // optional string codec = 2;
      private java.lang.Object codec_ = "";
      /**
       * optional string codec = 2;
       */
      public boolean hasCodec() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional string codec = 2;
       */
      public java.lang.String getCodec() {
        java.lang.Object ref = codec_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          codec_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string codec = 2;
       */
      public com.google.protobuf.ByteString
          getCodecBytes() {
        java.lang.Object ref = codec_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          codec_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string codec = 2;
       */
      public Builder setCodec(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        codec_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string codec = 2;
       */
      public Builder clearCodec() {
        bitField0_ = (bitField0_ & ~0x00000002);
        codec_ = getDefaultInstance().getCodec();
        onChanged();
        return this;
      }
      /**
       * optional string codec = 2;
       */
      public Builder setCodecBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        codec_ = value;
        onChanged();
        return this;
      }

      // optional int32 version = 3 [default = 0];
      private int version_ ;
      /**
       * optional int32 version = 3 [default = 0];
       */
      public boolean hasVersion() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional int32 version = 3 [default = 0];
       */
      public int getVersion() {
        return version_;
      }
      /**
       * optional int32 version = 3 [default = 0];
       */
      public Builder setVersion(int value) {
        bitField0_ |= 0x00000004;
        version_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 version = 3 [default = 0];
       */
      public Builder clearVersion() {
        bitField0_ = (bitField0_ & ~0x00000004);
        version_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSVCMsg_VoiceInit)
    }

    static {
      defaultInstance = new CSVCMsg_VoiceInit(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CSVCMsg_VoiceInit)
  }

  public interface CSVCMsg_PrintOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string text = 1;
    /**
     * optional string text = 1;
     */
    boolean hasText();
    /**
     * optional string text = 1;
     */
    java.lang.String getText();
    /**
     * optional string text = 1;
     */
    com.google.protobuf.ByteString
        getTextBytes();
  }
  /**
   * Protobuf type {@code CSVCMsg_Print}
   */
  public static final class CSVCMsg_Print extends
      com.google.protobuf.GeneratedMessage
      implements CSVCMsg_PrintOrBuilder {
    // Use CSVCMsg_Print.newBuilder() to construct.
    private CSVCMsg_Print(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CSVCMsg_Print(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CSVCMsg_Print defaultInstance;
    public static CSVCMsg_Print getDefaultInstance() {
      return defaultInstance;
    }

    public CSVCMsg_Print getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CSVCMsg_Print(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              text_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Print_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Print_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CSVCMsg_Print.class, com.dota2.proto.Netmessages.CSVCMsg_Print.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CSVCMsg_Print parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CSVCMsg_Print(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional string text = 1;
    public static final int TEXT_FIELD_NUMBER = 1;
    private java.lang.Object text_;
    /**
     * optional string text = 1;
     */
    public boolean hasText() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional string text = 1;
     */
    public java.lang.String getText() {
      java.lang.Object ref = text_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          text_ = s;
        }
        return s;
      }
    }
    /**
     * optional string text = 1;
     */
    public com.google.protobuf.ByteString
        getTextBytes() {
      java.lang.Object ref = text_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        text_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      text_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getTextBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getTextBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CSVCMsg_Print parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Print parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Print parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Print parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Print parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Print parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Print parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Print parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Print parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Print parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_Print prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSVCMsg_Print}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CSVCMsg_PrintOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Print_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Print_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_Print.class, com.dota2.proto.Netmessages.CSVCMsg_Print.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CSVCMsg_Print.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        text_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Print_descriptor;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_Print getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CSVCMsg_Print.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CSVCMsg_Print build() {
        com.dota2.proto.Netmessages.CSVCMsg_Print result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_Print buildPartial() {
        com.dota2.proto.Netmessages.CSVCMsg_Print result = new com.dota2.proto.Netmessages.CSVCMsg_Print(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.text_ = text_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_Print) {
          return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_Print)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_Print other) {
        if (other == com.dota2.proto.Netmessages.CSVCMsg_Print.getDefaultInstance()) return this;
        if (other.hasText()) {
          bitField0_ |= 0x00000001;
          text_ = other.text_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CSVCMsg_Print parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_Print) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string text = 1;
      private java.lang.Object text_ = "";
      /**
       * optional string text = 1;
       */
      public boolean hasText() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional string text = 1;
       */
      public java.lang.String getText() {
        java.lang.Object ref = text_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          text_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string text = 1;
       */
      public com.google.protobuf.ByteString
          getTextBytes() {
        java.lang.Object ref = text_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          text_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string text = 1;
       */
      public Builder setText(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        text_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string text = 1;
       */
      public Builder clearText() {
        bitField0_ = (bitField0_ & ~0x00000001);
        text_ = getDefaultInstance().getText();
        onChanged();
        return this;
      }
      /**
       * optional string text = 1;
       */
      public Builder setTextBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        text_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSVCMsg_Print)
    }

    static {
      defaultInstance = new CSVCMsg_Print(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CSVCMsg_Print)
  }

  public interface CSVCMsg_SoundsOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional bool reliable_sound = 1;
    /**
     * optional bool reliable_sound = 1;
     */
    boolean hasReliableSound();
    /**
     * optional bool reliable_sound = 1;
     */
    boolean getReliableSound();

    // repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
    /**
     * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
     */
    java.util.List 
        getSoundsList();
    /**
     * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
     */
    com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t getSounds(int index);
    /**
     * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
     */
    int getSoundsCount();
    /**
     * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
     */
    java.util.List 
        getSoundsOrBuilderList();
    /**
     * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
     */
    com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_tOrBuilder getSoundsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code CSVCMsg_Sounds}
   */
  public static final class CSVCMsg_Sounds extends
      com.google.protobuf.GeneratedMessage
      implements CSVCMsg_SoundsOrBuilder {
    // Use CSVCMsg_Sounds.newBuilder() to construct.
    private CSVCMsg_Sounds(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CSVCMsg_Sounds(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CSVCMsg_Sounds defaultInstance;
    public static CSVCMsg_Sounds getDefaultInstance() {
      return defaultInstance;
    }

    public CSVCMsg_Sounds getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CSVCMsg_Sounds(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              reliableSound_ = input.readBool();
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                sounds_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              sounds_.add(input.readMessage(com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          sounds_ = java.util.Collections.unmodifiableList(sounds_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Sounds_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Sounds_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CSVCMsg_Sounds.class, com.dota2.proto.Netmessages.CSVCMsg_Sounds.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CSVCMsg_Sounds parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CSVCMsg_Sounds(input, extensionRegistry);
      }
    };

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

    public interface sounddata_tOrBuilder
        extends com.google.protobuf.MessageOrBuilder {

      // optional sint32 origin_x = 1;
      /**
       * optional sint32 origin_x = 1;
       */
      boolean hasOriginX();
      /**
       * optional sint32 origin_x = 1;
       */
      int getOriginX();

      // optional sint32 origin_y = 2;
      /**
       * optional sint32 origin_y = 2;
       */
      boolean hasOriginY();
      /**
       * optional sint32 origin_y = 2;
       */
      int getOriginY();

      // optional sint32 origin_z = 3;
      /**
       * optional sint32 origin_z = 3;
       */
      boolean hasOriginZ();
      /**
       * optional sint32 origin_z = 3;
       */
      int getOriginZ();

      // optional uint32 volume = 4;
      /**
       * optional uint32 volume = 4;
       */
      boolean hasVolume();
      /**
       * optional uint32 volume = 4;
       */
      int getVolume();

      // optional float delay_value = 5;
      /**
       * optional float delay_value = 5;
       */
      boolean hasDelayValue();
      /**
       * optional float delay_value = 5;
       */
      float getDelayValue();

      // optional int32 sequence_number = 6;
      /**
       * optional int32 sequence_number = 6;
       */
      boolean hasSequenceNumber();
      /**
       * optional int32 sequence_number = 6;
       */
      int getSequenceNumber();

      // optional int32 entity_index = 7;
      /**
       * optional int32 entity_index = 7;
       */
      boolean hasEntityIndex();
      /**
       * optional int32 entity_index = 7;
       */
      int getEntityIndex();

      // optional int32 channel = 8;
      /**
       * optional int32 channel = 8;
       */
      boolean hasChannel();
      /**
       * optional int32 channel = 8;
       */
      int getChannel();

      // optional int32 pitch = 9;
      /**
       * optional int32 pitch = 9;
       */
      boolean hasPitch();
      /**
       * optional int32 pitch = 9;
       */
      int getPitch();

      // optional int32 flags = 10;
      /**
       * optional int32 flags = 10;
       */
      boolean hasFlags();
      /**
       * optional int32 flags = 10;
       */
      int getFlags();

      // optional uint32 sound_num = 11;
      /**
       * optional uint32 sound_num = 11;
       */
      boolean hasSoundNum();
      /**
       * optional uint32 sound_num = 11;
       */
      int getSoundNum();

      // optional fixed32 sound_num_handle = 12;
      /**
       * optional fixed32 sound_num_handle = 12;
       */
      boolean hasSoundNumHandle();
      /**
       * optional fixed32 sound_num_handle = 12;
       */
      int getSoundNumHandle();

      // optional int32 speaker_entity = 13;
      /**
       * optional int32 speaker_entity = 13;
       */
      boolean hasSpeakerEntity();
      /**
       * optional int32 speaker_entity = 13;
       */
      int getSpeakerEntity();

      // optional int32 random_seed = 14;
      /**
       * optional int32 random_seed = 14;
       */
      boolean hasRandomSeed();
      /**
       * optional int32 random_seed = 14;
       */
      int getRandomSeed();

      // optional int32 sound_level = 15;
      /**
       * optional int32 sound_level = 15;
       */
      boolean hasSoundLevel();
      /**
       * optional int32 sound_level = 15;
       */
      int getSoundLevel();

      // optional bool is_sentence = 16;
      /**
       * optional bool is_sentence = 16;
       */
      boolean hasIsSentence();
      /**
       * optional bool is_sentence = 16;
       */
      boolean getIsSentence();

      // optional bool is_ambient = 17;
      /**
       * optional bool is_ambient = 17;
       */
      boolean hasIsAmbient();
      /**
       * optional bool is_ambient = 17;
       */
      boolean getIsAmbient();
    }
    /**
     * Protobuf type {@code CSVCMsg_Sounds.sounddata_t}
     */
    public static final class sounddata_t extends
        com.google.protobuf.GeneratedMessage
        implements sounddata_tOrBuilder {
      // Use sounddata_t.newBuilder() to construct.
      private sounddata_t(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private sounddata_t(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final sounddata_t defaultInstance;
      public static sounddata_t getDefaultInstance() {
        return defaultInstance;
      }

      public sounddata_t getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private sounddata_t(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        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;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 8: {
                bitField0_ |= 0x00000001;
                originX_ = input.readSInt32();
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                originY_ = input.readSInt32();
                break;
              }
              case 24: {
                bitField0_ |= 0x00000004;
                originZ_ = input.readSInt32();
                break;
              }
              case 32: {
                bitField0_ |= 0x00000008;
                volume_ = input.readUInt32();
                break;
              }
              case 45: {
                bitField0_ |= 0x00000010;
                delayValue_ = input.readFloat();
                break;
              }
              case 48: {
                bitField0_ |= 0x00000020;
                sequenceNumber_ = input.readInt32();
                break;
              }
              case 56: {
                bitField0_ |= 0x00000040;
                entityIndex_ = input.readInt32();
                break;
              }
              case 64: {
                bitField0_ |= 0x00000080;
                channel_ = input.readInt32();
                break;
              }
              case 72: {
                bitField0_ |= 0x00000100;
                pitch_ = input.readInt32();
                break;
              }
              case 80: {
                bitField0_ |= 0x00000200;
                flags_ = input.readInt32();
                break;
              }
              case 88: {
                bitField0_ |= 0x00000400;
                soundNum_ = input.readUInt32();
                break;
              }
              case 101: {
                bitField0_ |= 0x00000800;
                soundNumHandle_ = input.readFixed32();
                break;
              }
              case 104: {
                bitField0_ |= 0x00001000;
                speakerEntity_ = input.readInt32();
                break;
              }
              case 112: {
                bitField0_ |= 0x00002000;
                randomSeed_ = input.readInt32();
                break;
              }
              case 120: {
                bitField0_ |= 0x00004000;
                soundLevel_ = input.readInt32();
                break;
              }
              case 128: {
                bitField0_ |= 0x00008000;
                isSentence_ = input.readBool();
                break;
              }
              case 136: {
                bitField0_ |= 0x00010000;
                isAmbient_ = input.readBool();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Sounds_sounddata_t_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Sounds_sounddata_t_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t.class, com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t.Builder.class);
      }

      public static com.google.protobuf.Parser PARSER =
          new com.google.protobuf.AbstractParser() {
        public sounddata_t parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new sounddata_t(input, extensionRegistry);
        }
      };

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

      private int bitField0_;
      // optional sint32 origin_x = 1;
      public static final int ORIGIN_X_FIELD_NUMBER = 1;
      private int originX_;
      /**
       * optional sint32 origin_x = 1;
       */
      public boolean hasOriginX() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional sint32 origin_x = 1;
       */
      public int getOriginX() {
        return originX_;
      }

      // optional sint32 origin_y = 2;
      public static final int ORIGIN_Y_FIELD_NUMBER = 2;
      private int originY_;
      /**
       * optional sint32 origin_y = 2;
       */
      public boolean hasOriginY() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional sint32 origin_y = 2;
       */
      public int getOriginY() {
        return originY_;
      }

      // optional sint32 origin_z = 3;
      public static final int ORIGIN_Z_FIELD_NUMBER = 3;
      private int originZ_;
      /**
       * optional sint32 origin_z = 3;
       */
      public boolean hasOriginZ() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional sint32 origin_z = 3;
       */
      public int getOriginZ() {
        return originZ_;
      }

      // optional uint32 volume = 4;
      public static final int VOLUME_FIELD_NUMBER = 4;
      private int volume_;
      /**
       * optional uint32 volume = 4;
       */
      public boolean hasVolume() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional uint32 volume = 4;
       */
      public int getVolume() {
        return volume_;
      }

      // optional float delay_value = 5;
      public static final int DELAY_VALUE_FIELD_NUMBER = 5;
      private float delayValue_;
      /**
       * optional float delay_value = 5;
       */
      public boolean hasDelayValue() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional float delay_value = 5;
       */
      public float getDelayValue() {
        return delayValue_;
      }

      // optional int32 sequence_number = 6;
      public static final int SEQUENCE_NUMBER_FIELD_NUMBER = 6;
      private int sequenceNumber_;
      /**
       * optional int32 sequence_number = 6;
       */
      public boolean hasSequenceNumber() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional int32 sequence_number = 6;
       */
      public int getSequenceNumber() {
        return sequenceNumber_;
      }

      // optional int32 entity_index = 7;
      public static final int ENTITY_INDEX_FIELD_NUMBER = 7;
      private int entityIndex_;
      /**
       * optional int32 entity_index = 7;
       */
      public boolean hasEntityIndex() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * optional int32 entity_index = 7;
       */
      public int getEntityIndex() {
        return entityIndex_;
      }

      // optional int32 channel = 8;
      public static final int CHANNEL_FIELD_NUMBER = 8;
      private int channel_;
      /**
       * optional int32 channel = 8;
       */
      public boolean hasChannel() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * optional int32 channel = 8;
       */
      public int getChannel() {
        return channel_;
      }

      // optional int32 pitch = 9;
      public static final int PITCH_FIELD_NUMBER = 9;
      private int pitch_;
      /**
       * optional int32 pitch = 9;
       */
      public boolean hasPitch() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * optional int32 pitch = 9;
       */
      public int getPitch() {
        return pitch_;
      }

      // optional int32 flags = 10;
      public static final int FLAGS_FIELD_NUMBER = 10;
      private int flags_;
      /**
       * optional int32 flags = 10;
       */
      public boolean hasFlags() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * optional int32 flags = 10;
       */
      public int getFlags() {
        return flags_;
      }

      // optional uint32 sound_num = 11;
      public static final int SOUND_NUM_FIELD_NUMBER = 11;
      private int soundNum_;
      /**
       * optional uint32 sound_num = 11;
       */
      public boolean hasSoundNum() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      /**
       * optional uint32 sound_num = 11;
       */
      public int getSoundNum() {
        return soundNum_;
      }

      // optional fixed32 sound_num_handle = 12;
      public static final int SOUND_NUM_HANDLE_FIELD_NUMBER = 12;
      private int soundNumHandle_;
      /**
       * optional fixed32 sound_num_handle = 12;
       */
      public boolean hasSoundNumHandle() {
        return ((bitField0_ & 0x00000800) == 0x00000800);
      }
      /**
       * optional fixed32 sound_num_handle = 12;
       */
      public int getSoundNumHandle() {
        return soundNumHandle_;
      }

      // optional int32 speaker_entity = 13;
      public static final int SPEAKER_ENTITY_FIELD_NUMBER = 13;
      private int speakerEntity_;
      /**
       * optional int32 speaker_entity = 13;
       */
      public boolean hasSpeakerEntity() {
        return ((bitField0_ & 0x00001000) == 0x00001000);
      }
      /**
       * optional int32 speaker_entity = 13;
       */
      public int getSpeakerEntity() {
        return speakerEntity_;
      }

      // optional int32 random_seed = 14;
      public static final int RANDOM_SEED_FIELD_NUMBER = 14;
      private int randomSeed_;
      /**
       * optional int32 random_seed = 14;
       */
      public boolean hasRandomSeed() {
        return ((bitField0_ & 0x00002000) == 0x00002000);
      }
      /**
       * optional int32 random_seed = 14;
       */
      public int getRandomSeed() {
        return randomSeed_;
      }

      // optional int32 sound_level = 15;
      public static final int SOUND_LEVEL_FIELD_NUMBER = 15;
      private int soundLevel_;
      /**
       * optional int32 sound_level = 15;
       */
      public boolean hasSoundLevel() {
        return ((bitField0_ & 0x00004000) == 0x00004000);
      }
      /**
       * optional int32 sound_level = 15;
       */
      public int getSoundLevel() {
        return soundLevel_;
      }

      // optional bool is_sentence = 16;
      public static final int IS_SENTENCE_FIELD_NUMBER = 16;
      private boolean isSentence_;
      /**
       * optional bool is_sentence = 16;
       */
      public boolean hasIsSentence() {
        return ((bitField0_ & 0x00008000) == 0x00008000);
      }
      /**
       * optional bool is_sentence = 16;
       */
      public boolean getIsSentence() {
        return isSentence_;
      }

      // optional bool is_ambient = 17;
      public static final int IS_AMBIENT_FIELD_NUMBER = 17;
      private boolean isAmbient_;
      /**
       * optional bool is_ambient = 17;
       */
      public boolean hasIsAmbient() {
        return ((bitField0_ & 0x00010000) == 0x00010000);
      }
      /**
       * optional bool is_ambient = 17;
       */
      public boolean getIsAmbient() {
        return isAmbient_;
      }

      private void initFields() {
        originX_ = 0;
        originY_ = 0;
        originZ_ = 0;
        volume_ = 0;
        delayValue_ = 0F;
        sequenceNumber_ = 0;
        entityIndex_ = 0;
        channel_ = 0;
        pitch_ = 0;
        flags_ = 0;
        soundNum_ = 0;
        soundNumHandle_ = 0;
        speakerEntity_ = 0;
        randomSeed_ = 0;
        soundLevel_ = 0;
        isSentence_ = false;
        isAmbient_ = false;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeSInt32(1, originX_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeSInt32(2, originY_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeSInt32(3, originZ_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeUInt32(4, volume_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          output.writeFloat(5, delayValue_);
        }
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          output.writeInt32(6, sequenceNumber_);
        }
        if (((bitField0_ & 0x00000040) == 0x00000040)) {
          output.writeInt32(7, entityIndex_);
        }
        if (((bitField0_ & 0x00000080) == 0x00000080)) {
          output.writeInt32(8, channel_);
        }
        if (((bitField0_ & 0x00000100) == 0x00000100)) {
          output.writeInt32(9, pitch_);
        }
        if (((bitField0_ & 0x00000200) == 0x00000200)) {
          output.writeInt32(10, flags_);
        }
        if (((bitField0_ & 0x00000400) == 0x00000400)) {
          output.writeUInt32(11, soundNum_);
        }
        if (((bitField0_ & 0x00000800) == 0x00000800)) {
          output.writeFixed32(12, soundNumHandle_);
        }
        if (((bitField0_ & 0x00001000) == 0x00001000)) {
          output.writeInt32(13, speakerEntity_);
        }
        if (((bitField0_ & 0x00002000) == 0x00002000)) {
          output.writeInt32(14, randomSeed_);
        }
        if (((bitField0_ & 0x00004000) == 0x00004000)) {
          output.writeInt32(15, soundLevel_);
        }
        if (((bitField0_ & 0x00008000) == 0x00008000)) {
          output.writeBool(16, isSentence_);
        }
        if (((bitField0_ & 0x00010000) == 0x00010000)) {
          output.writeBool(17, isAmbient_);
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeSInt32Size(1, originX_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeSInt32Size(2, originY_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeSInt32Size(3, originZ_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(4, volume_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          size += com.google.protobuf.CodedOutputStream
            .computeFloatSize(5, delayValue_);
        }
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(6, sequenceNumber_);
        }
        if (((bitField0_ & 0x00000040) == 0x00000040)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(7, entityIndex_);
        }
        if (((bitField0_ & 0x00000080) == 0x00000080)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(8, channel_);
        }
        if (((bitField0_ & 0x00000100) == 0x00000100)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(9, pitch_);
        }
        if (((bitField0_ & 0x00000200) == 0x00000200)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(10, flags_);
        }
        if (((bitField0_ & 0x00000400) == 0x00000400)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(11, soundNum_);
        }
        if (((bitField0_ & 0x00000800) == 0x00000800)) {
          size += com.google.protobuf.CodedOutputStream
            .computeFixed32Size(12, soundNumHandle_);
        }
        if (((bitField0_ & 0x00001000) == 0x00001000)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(13, speakerEntity_);
        }
        if (((bitField0_ & 0x00002000) == 0x00002000)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(14, randomSeed_);
        }
        if (((bitField0_ & 0x00004000) == 0x00004000)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(15, soundLevel_);
        }
        if (((bitField0_ & 0x00008000) == 0x00008000)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(16, isSentence_);
        }
        if (((bitField0_ & 0x00010000) == 0x00010000)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBoolSize(17, isAmbient_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      public static com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code CSVCMsg_Sounds.sounddata_t}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder
         implements com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_tOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Sounds_sounddata_t_descriptor;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Sounds_sounddata_t_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t.class, com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t.Builder.class);
        }

        // Construct using com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          originX_ = 0;
          bitField0_ = (bitField0_ & ~0x00000001);
          originY_ = 0;
          bitField0_ = (bitField0_ & ~0x00000002);
          originZ_ = 0;
          bitField0_ = (bitField0_ & ~0x00000004);
          volume_ = 0;
          bitField0_ = (bitField0_ & ~0x00000008);
          delayValue_ = 0F;
          bitField0_ = (bitField0_ & ~0x00000010);
          sequenceNumber_ = 0;
          bitField0_ = (bitField0_ & ~0x00000020);
          entityIndex_ = 0;
          bitField0_ = (bitField0_ & ~0x00000040);
          channel_ = 0;
          bitField0_ = (bitField0_ & ~0x00000080);
          pitch_ = 0;
          bitField0_ = (bitField0_ & ~0x00000100);
          flags_ = 0;
          bitField0_ = (bitField0_ & ~0x00000200);
          soundNum_ = 0;
          bitField0_ = (bitField0_ & ~0x00000400);
          soundNumHandle_ = 0;
          bitField0_ = (bitField0_ & ~0x00000800);
          speakerEntity_ = 0;
          bitField0_ = (bitField0_ & ~0x00001000);
          randomSeed_ = 0;
          bitField0_ = (bitField0_ & ~0x00002000);
          soundLevel_ = 0;
          bitField0_ = (bitField0_ & ~0x00004000);
          isSentence_ = false;
          bitField0_ = (bitField0_ & ~0x00008000);
          isAmbient_ = false;
          bitField0_ = (bitField0_ & ~0x00010000);
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Sounds_sounddata_t_descriptor;
        }

        public com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t getDefaultInstanceForType() {
          return com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t.getDefaultInstance();
        }

        public com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t build() {
          com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t buildPartial() {
          com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t result = new com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.originX_ = originX_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.originY_ = originY_;
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.originZ_ = originZ_;
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000008;
          }
          result.volume_ = volume_;
          if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
            to_bitField0_ |= 0x00000010;
          }
          result.delayValue_ = delayValue_;
          if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
            to_bitField0_ |= 0x00000020;
          }
          result.sequenceNumber_ = sequenceNumber_;
          if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
            to_bitField0_ |= 0x00000040;
          }
          result.entityIndex_ = entityIndex_;
          if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
            to_bitField0_ |= 0x00000080;
          }
          result.channel_ = channel_;
          if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
            to_bitField0_ |= 0x00000100;
          }
          result.pitch_ = pitch_;
          if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
            to_bitField0_ |= 0x00000200;
          }
          result.flags_ = flags_;
          if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
            to_bitField0_ |= 0x00000400;
          }
          result.soundNum_ = soundNum_;
          if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
            to_bitField0_ |= 0x00000800;
          }
          result.soundNumHandle_ = soundNumHandle_;
          if (((from_bitField0_ & 0x00001000) == 0x00001000)) {
            to_bitField0_ |= 0x00001000;
          }
          result.speakerEntity_ = speakerEntity_;
          if (((from_bitField0_ & 0x00002000) == 0x00002000)) {
            to_bitField0_ |= 0x00002000;
          }
          result.randomSeed_ = randomSeed_;
          if (((from_bitField0_ & 0x00004000) == 0x00004000)) {
            to_bitField0_ |= 0x00004000;
          }
          result.soundLevel_ = soundLevel_;
          if (((from_bitField0_ & 0x00008000) == 0x00008000)) {
            to_bitField0_ |= 0x00008000;
          }
          result.isSentence_ = isSentence_;
          if (((from_bitField0_ & 0x00010000) == 0x00010000)) {
            to_bitField0_ |= 0x00010000;
          }
          result.isAmbient_ = isAmbient_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t) {
            return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t other) {
          if (other == com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t.getDefaultInstance()) return this;
          if (other.hasOriginX()) {
            setOriginX(other.getOriginX());
          }
          if (other.hasOriginY()) {
            setOriginY(other.getOriginY());
          }
          if (other.hasOriginZ()) {
            setOriginZ(other.getOriginZ());
          }
          if (other.hasVolume()) {
            setVolume(other.getVolume());
          }
          if (other.hasDelayValue()) {
            setDelayValue(other.getDelayValue());
          }
          if (other.hasSequenceNumber()) {
            setSequenceNumber(other.getSequenceNumber());
          }
          if (other.hasEntityIndex()) {
            setEntityIndex(other.getEntityIndex());
          }
          if (other.hasChannel()) {
            setChannel(other.getChannel());
          }
          if (other.hasPitch()) {
            setPitch(other.getPitch());
          }
          if (other.hasFlags()) {
            setFlags(other.getFlags());
          }
          if (other.hasSoundNum()) {
            setSoundNum(other.getSoundNum());
          }
          if (other.hasSoundNumHandle()) {
            setSoundNumHandle(other.getSoundNumHandle());
          }
          if (other.hasSpeakerEntity()) {
            setSpeakerEntity(other.getSpeakerEntity());
          }
          if (other.hasRandomSeed()) {
            setRandomSeed(other.getRandomSeed());
          }
          if (other.hasSoundLevel()) {
            setSoundLevel(other.getSoundLevel());
          }
          if (other.hasIsSentence()) {
            setIsSentence(other.getIsSentence());
          }
          if (other.hasIsAmbient()) {
            setIsAmbient(other.getIsAmbient());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        // optional sint32 origin_x = 1;
        private int originX_ ;
        /**
         * optional sint32 origin_x = 1;
         */
        public boolean hasOriginX() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * optional sint32 origin_x = 1;
         */
        public int getOriginX() {
          return originX_;
        }
        /**
         * optional sint32 origin_x = 1;
         */
        public Builder setOriginX(int value) {
          bitField0_ |= 0x00000001;
          originX_ = value;
          onChanged();
          return this;
        }
        /**
         * optional sint32 origin_x = 1;
         */
        public Builder clearOriginX() {
          bitField0_ = (bitField0_ & ~0x00000001);
          originX_ = 0;
          onChanged();
          return this;
        }

        // optional sint32 origin_y = 2;
        private int originY_ ;
        /**
         * optional sint32 origin_y = 2;
         */
        public boolean hasOriginY() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * optional sint32 origin_y = 2;
         */
        public int getOriginY() {
          return originY_;
        }
        /**
         * optional sint32 origin_y = 2;
         */
        public Builder setOriginY(int value) {
          bitField0_ |= 0x00000002;
          originY_ = value;
          onChanged();
          return this;
        }
        /**
         * optional sint32 origin_y = 2;
         */
        public Builder clearOriginY() {
          bitField0_ = (bitField0_ & ~0x00000002);
          originY_ = 0;
          onChanged();
          return this;
        }

        // optional sint32 origin_z = 3;
        private int originZ_ ;
        /**
         * optional sint32 origin_z = 3;
         */
        public boolean hasOriginZ() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * optional sint32 origin_z = 3;
         */
        public int getOriginZ() {
          return originZ_;
        }
        /**
         * optional sint32 origin_z = 3;
         */
        public Builder setOriginZ(int value) {
          bitField0_ |= 0x00000004;
          originZ_ = value;
          onChanged();
          return this;
        }
        /**
         * optional sint32 origin_z = 3;
         */
        public Builder clearOriginZ() {
          bitField0_ = (bitField0_ & ~0x00000004);
          originZ_ = 0;
          onChanged();
          return this;
        }

        // optional uint32 volume = 4;
        private int volume_ ;
        /**
         * optional uint32 volume = 4;
         */
        public boolean hasVolume() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        /**
         * optional uint32 volume = 4;
         */
        public int getVolume() {
          return volume_;
        }
        /**
         * optional uint32 volume = 4;
         */
        public Builder setVolume(int value) {
          bitField0_ |= 0x00000008;
          volume_ = value;
          onChanged();
          return this;
        }
        /**
         * optional uint32 volume = 4;
         */
        public Builder clearVolume() {
          bitField0_ = (bitField0_ & ~0x00000008);
          volume_ = 0;
          onChanged();
          return this;
        }

        // optional float delay_value = 5;
        private float delayValue_ ;
        /**
         * optional float delay_value = 5;
         */
        public boolean hasDelayValue() {
          return ((bitField0_ & 0x00000010) == 0x00000010);
        }
        /**
         * optional float delay_value = 5;
         */
        public float getDelayValue() {
          return delayValue_;
        }
        /**
         * optional float delay_value = 5;
         */
        public Builder setDelayValue(float value) {
          bitField0_ |= 0x00000010;
          delayValue_ = value;
          onChanged();
          return this;
        }
        /**
         * optional float delay_value = 5;
         */
        public Builder clearDelayValue() {
          bitField0_ = (bitField0_ & ~0x00000010);
          delayValue_ = 0F;
          onChanged();
          return this;
        }

        // optional int32 sequence_number = 6;
        private int sequenceNumber_ ;
        /**
         * optional int32 sequence_number = 6;
         */
        public boolean hasSequenceNumber() {
          return ((bitField0_ & 0x00000020) == 0x00000020);
        }
        /**
         * optional int32 sequence_number = 6;
         */
        public int getSequenceNumber() {
          return sequenceNumber_;
        }
        /**
         * optional int32 sequence_number = 6;
         */
        public Builder setSequenceNumber(int value) {
          bitField0_ |= 0x00000020;
          sequenceNumber_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 sequence_number = 6;
         */
        public Builder clearSequenceNumber() {
          bitField0_ = (bitField0_ & ~0x00000020);
          sequenceNumber_ = 0;
          onChanged();
          return this;
        }

        // optional int32 entity_index = 7;
        private int entityIndex_ ;
        /**
         * optional int32 entity_index = 7;
         */
        public boolean hasEntityIndex() {
          return ((bitField0_ & 0x00000040) == 0x00000040);
        }
        /**
         * optional int32 entity_index = 7;
         */
        public int getEntityIndex() {
          return entityIndex_;
        }
        /**
         * optional int32 entity_index = 7;
         */
        public Builder setEntityIndex(int value) {
          bitField0_ |= 0x00000040;
          entityIndex_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 entity_index = 7;
         */
        public Builder clearEntityIndex() {
          bitField0_ = (bitField0_ & ~0x00000040);
          entityIndex_ = 0;
          onChanged();
          return this;
        }

        // optional int32 channel = 8;
        private int channel_ ;
        /**
         * optional int32 channel = 8;
         */
        public boolean hasChannel() {
          return ((bitField0_ & 0x00000080) == 0x00000080);
        }
        /**
         * optional int32 channel = 8;
         */
        public int getChannel() {
          return channel_;
        }
        /**
         * optional int32 channel = 8;
         */
        public Builder setChannel(int value) {
          bitField0_ |= 0x00000080;
          channel_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 channel = 8;
         */
        public Builder clearChannel() {
          bitField0_ = (bitField0_ & ~0x00000080);
          channel_ = 0;
          onChanged();
          return this;
        }

        // optional int32 pitch = 9;
        private int pitch_ ;
        /**
         * optional int32 pitch = 9;
         */
        public boolean hasPitch() {
          return ((bitField0_ & 0x00000100) == 0x00000100);
        }
        /**
         * optional int32 pitch = 9;
         */
        public int getPitch() {
          return pitch_;
        }
        /**
         * optional int32 pitch = 9;
         */
        public Builder setPitch(int value) {
          bitField0_ |= 0x00000100;
          pitch_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 pitch = 9;
         */
        public Builder clearPitch() {
          bitField0_ = (bitField0_ & ~0x00000100);
          pitch_ = 0;
          onChanged();
          return this;
        }

        // optional int32 flags = 10;
        private int flags_ ;
        /**
         * optional int32 flags = 10;
         */
        public boolean hasFlags() {
          return ((bitField0_ & 0x00000200) == 0x00000200);
        }
        /**
         * optional int32 flags = 10;
         */
        public int getFlags() {
          return flags_;
        }
        /**
         * optional int32 flags = 10;
         */
        public Builder setFlags(int value) {
          bitField0_ |= 0x00000200;
          flags_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 flags = 10;
         */
        public Builder clearFlags() {
          bitField0_ = (bitField0_ & ~0x00000200);
          flags_ = 0;
          onChanged();
          return this;
        }

        // optional uint32 sound_num = 11;
        private int soundNum_ ;
        /**
         * optional uint32 sound_num = 11;
         */
        public boolean hasSoundNum() {
          return ((bitField0_ & 0x00000400) == 0x00000400);
        }
        /**
         * optional uint32 sound_num = 11;
         */
        public int getSoundNum() {
          return soundNum_;
        }
        /**
         * optional uint32 sound_num = 11;
         */
        public Builder setSoundNum(int value) {
          bitField0_ |= 0x00000400;
          soundNum_ = value;
          onChanged();
          return this;
        }
        /**
         * optional uint32 sound_num = 11;
         */
        public Builder clearSoundNum() {
          bitField0_ = (bitField0_ & ~0x00000400);
          soundNum_ = 0;
          onChanged();
          return this;
        }

        // optional fixed32 sound_num_handle = 12;
        private int soundNumHandle_ ;
        /**
         * optional fixed32 sound_num_handle = 12;
         */
        public boolean hasSoundNumHandle() {
          return ((bitField0_ & 0x00000800) == 0x00000800);
        }
        /**
         * optional fixed32 sound_num_handle = 12;
         */
        public int getSoundNumHandle() {
          return soundNumHandle_;
        }
        /**
         * optional fixed32 sound_num_handle = 12;
         */
        public Builder setSoundNumHandle(int value) {
          bitField0_ |= 0x00000800;
          soundNumHandle_ = value;
          onChanged();
          return this;
        }
        /**
         * optional fixed32 sound_num_handle = 12;
         */
        public Builder clearSoundNumHandle() {
          bitField0_ = (bitField0_ & ~0x00000800);
          soundNumHandle_ = 0;
          onChanged();
          return this;
        }

        // optional int32 speaker_entity = 13;
        private int speakerEntity_ ;
        /**
         * optional int32 speaker_entity = 13;
         */
        public boolean hasSpeakerEntity() {
          return ((bitField0_ & 0x00001000) == 0x00001000);
        }
        /**
         * optional int32 speaker_entity = 13;
         */
        public int getSpeakerEntity() {
          return speakerEntity_;
        }
        /**
         * optional int32 speaker_entity = 13;
         */
        public Builder setSpeakerEntity(int value) {
          bitField0_ |= 0x00001000;
          speakerEntity_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 speaker_entity = 13;
         */
        public Builder clearSpeakerEntity() {
          bitField0_ = (bitField0_ & ~0x00001000);
          speakerEntity_ = 0;
          onChanged();
          return this;
        }

        // optional int32 random_seed = 14;
        private int randomSeed_ ;
        /**
         * optional int32 random_seed = 14;
         */
        public boolean hasRandomSeed() {
          return ((bitField0_ & 0x00002000) == 0x00002000);
        }
        /**
         * optional int32 random_seed = 14;
         */
        public int getRandomSeed() {
          return randomSeed_;
        }
        /**
         * optional int32 random_seed = 14;
         */
        public Builder setRandomSeed(int value) {
          bitField0_ |= 0x00002000;
          randomSeed_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 random_seed = 14;
         */
        public Builder clearRandomSeed() {
          bitField0_ = (bitField0_ & ~0x00002000);
          randomSeed_ = 0;
          onChanged();
          return this;
        }

        // optional int32 sound_level = 15;
        private int soundLevel_ ;
        /**
         * optional int32 sound_level = 15;
         */
        public boolean hasSoundLevel() {
          return ((bitField0_ & 0x00004000) == 0x00004000);
        }
        /**
         * optional int32 sound_level = 15;
         */
        public int getSoundLevel() {
          return soundLevel_;
        }
        /**
         * optional int32 sound_level = 15;
         */
        public Builder setSoundLevel(int value) {
          bitField0_ |= 0x00004000;
          soundLevel_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 sound_level = 15;
         */
        public Builder clearSoundLevel() {
          bitField0_ = (bitField0_ & ~0x00004000);
          soundLevel_ = 0;
          onChanged();
          return this;
        }

        // optional bool is_sentence = 16;
        private boolean isSentence_ ;
        /**
         * optional bool is_sentence = 16;
         */
        public boolean hasIsSentence() {
          return ((bitField0_ & 0x00008000) == 0x00008000);
        }
        /**
         * optional bool is_sentence = 16;
         */
        public boolean getIsSentence() {
          return isSentence_;
        }
        /**
         * optional bool is_sentence = 16;
         */
        public Builder setIsSentence(boolean value) {
          bitField0_ |= 0x00008000;
          isSentence_ = value;
          onChanged();
          return this;
        }
        /**
         * optional bool is_sentence = 16;
         */
        public Builder clearIsSentence() {
          bitField0_ = (bitField0_ & ~0x00008000);
          isSentence_ = false;
          onChanged();
          return this;
        }

        // optional bool is_ambient = 17;
        private boolean isAmbient_ ;
        /**
         * optional bool is_ambient = 17;
         */
        public boolean hasIsAmbient() {
          return ((bitField0_ & 0x00010000) == 0x00010000);
        }
        /**
         * optional bool is_ambient = 17;
         */
        public boolean getIsAmbient() {
          return isAmbient_;
        }
        /**
         * optional bool is_ambient = 17;
         */
        public Builder setIsAmbient(boolean value) {
          bitField0_ |= 0x00010000;
          isAmbient_ = value;
          onChanged();
          return this;
        }
        /**
         * optional bool is_ambient = 17;
         */
        public Builder clearIsAmbient() {
          bitField0_ = (bitField0_ & ~0x00010000);
          isAmbient_ = false;
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:CSVCMsg_Sounds.sounddata_t)
      }

      static {
        defaultInstance = new sounddata_t(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:CSVCMsg_Sounds.sounddata_t)
    }

    private int bitField0_;
    // optional bool reliable_sound = 1;
    public static final int RELIABLE_SOUND_FIELD_NUMBER = 1;
    private boolean reliableSound_;
    /**
     * optional bool reliable_sound = 1;
     */
    public boolean hasReliableSound() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional bool reliable_sound = 1;
     */
    public boolean getReliableSound() {
      return reliableSound_;
    }

    // repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
    public static final int SOUNDS_FIELD_NUMBER = 2;
    private java.util.List sounds_;
    /**
     * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
     */
    public java.util.List getSoundsList() {
      return sounds_;
    }
    /**
     * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
     */
    public java.util.List 
        getSoundsOrBuilderList() {
      return sounds_;
    }
    /**
     * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
     */
    public int getSoundsCount() {
      return sounds_.size();
    }
    /**
     * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
     */
    public com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t getSounds(int index) {
      return sounds_.get(index);
    }
    /**
     * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
     */
    public com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_tOrBuilder getSoundsOrBuilder(
        int index) {
      return sounds_.get(index);
    }

    private void initFields() {
      reliableSound_ = false;
      sounds_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBool(1, reliableSound_);
      }
      for (int i = 0; i < sounds_.size(); i++) {
        output.writeMessage(2, sounds_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(1, reliableSound_);
      }
      for (int i = 0; i < sounds_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, sounds_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CSVCMsg_Sounds parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Sounds parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Sounds parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Sounds parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Sounds parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Sounds parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Sounds parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Sounds parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Sounds parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Sounds parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_Sounds prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSVCMsg_Sounds}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CSVCMsg_SoundsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Sounds_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Sounds_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_Sounds.class, com.dota2.proto.Netmessages.CSVCMsg_Sounds.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CSVCMsg_Sounds.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getSoundsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        reliableSound_ = false;
        bitField0_ = (bitField0_ & ~0x00000001);
        if (soundsBuilder_ == null) {
          sounds_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          soundsBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Sounds_descriptor;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_Sounds getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CSVCMsg_Sounds.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CSVCMsg_Sounds build() {
        com.dota2.proto.Netmessages.CSVCMsg_Sounds result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_Sounds buildPartial() {
        com.dota2.proto.Netmessages.CSVCMsg_Sounds result = new com.dota2.proto.Netmessages.CSVCMsg_Sounds(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.reliableSound_ = reliableSound_;
        if (soundsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            sounds_ = java.util.Collections.unmodifiableList(sounds_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.sounds_ = sounds_;
        } else {
          result.sounds_ = soundsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_Sounds) {
          return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_Sounds)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_Sounds other) {
        if (other == com.dota2.proto.Netmessages.CSVCMsg_Sounds.getDefaultInstance()) return this;
        if (other.hasReliableSound()) {
          setReliableSound(other.getReliableSound());
        }
        if (soundsBuilder_ == null) {
          if (!other.sounds_.isEmpty()) {
            if (sounds_.isEmpty()) {
              sounds_ = other.sounds_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureSoundsIsMutable();
              sounds_.addAll(other.sounds_);
            }
            onChanged();
          }
        } else {
          if (!other.sounds_.isEmpty()) {
            if (soundsBuilder_.isEmpty()) {
              soundsBuilder_.dispose();
              soundsBuilder_ = null;
              sounds_ = other.sounds_;
              bitField0_ = (bitField0_ & ~0x00000002);
              soundsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getSoundsFieldBuilder() : null;
            } else {
              soundsBuilder_.addAllMessages(other.sounds_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CSVCMsg_Sounds parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_Sounds) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional bool reliable_sound = 1;
      private boolean reliableSound_ ;
      /**
       * optional bool reliable_sound = 1;
       */
      public boolean hasReliableSound() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional bool reliable_sound = 1;
       */
      public boolean getReliableSound() {
        return reliableSound_;
      }
      /**
       * optional bool reliable_sound = 1;
       */
      public Builder setReliableSound(boolean value) {
        bitField0_ |= 0x00000001;
        reliableSound_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool reliable_sound = 1;
       */
      public Builder clearReliableSound() {
        bitField0_ = (bitField0_ & ~0x00000001);
        reliableSound_ = false;
        onChanged();
        return this;
      }

      // repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
      private java.util.List sounds_ =
        java.util.Collections.emptyList();
      private void ensureSoundsIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          sounds_ = new java.util.ArrayList(sounds_);
          bitField0_ |= 0x00000002;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t, com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t.Builder, com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_tOrBuilder> soundsBuilder_;

      /**
       * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
       */
      public java.util.List getSoundsList() {
        if (soundsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(sounds_);
        } else {
          return soundsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
       */
      public int getSoundsCount() {
        if (soundsBuilder_ == null) {
          return sounds_.size();
        } else {
          return soundsBuilder_.getCount();
        }
      }
      /**
       * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
       */
      public com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t getSounds(int index) {
        if (soundsBuilder_ == null) {
          return sounds_.get(index);
        } else {
          return soundsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
       */
      public Builder setSounds(
          int index, com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t value) {
        if (soundsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSoundsIsMutable();
          sounds_.set(index, value);
          onChanged();
        } else {
          soundsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
       */
      public Builder setSounds(
          int index, com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t.Builder builderForValue) {
        if (soundsBuilder_ == null) {
          ensureSoundsIsMutable();
          sounds_.set(index, builderForValue.build());
          onChanged();
        } else {
          soundsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
       */
      public Builder addSounds(com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t value) {
        if (soundsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSoundsIsMutable();
          sounds_.add(value);
          onChanged();
        } else {
          soundsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
       */
      public Builder addSounds(
          int index, com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t value) {
        if (soundsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSoundsIsMutable();
          sounds_.add(index, value);
          onChanged();
        } else {
          soundsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
       */
      public Builder addSounds(
          com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t.Builder builderForValue) {
        if (soundsBuilder_ == null) {
          ensureSoundsIsMutable();
          sounds_.add(builderForValue.build());
          onChanged();
        } else {
          soundsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
       */
      public Builder addSounds(
          int index, com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t.Builder builderForValue) {
        if (soundsBuilder_ == null) {
          ensureSoundsIsMutable();
          sounds_.add(index, builderForValue.build());
          onChanged();
        } else {
          soundsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
       */
      public Builder addAllSounds(
          java.lang.Iterable values) {
        if (soundsBuilder_ == null) {
          ensureSoundsIsMutable();
          super.addAll(values, sounds_);
          onChanged();
        } else {
          soundsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
       */
      public Builder clearSounds() {
        if (soundsBuilder_ == null) {
          sounds_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          soundsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
       */
      public Builder removeSounds(int index) {
        if (soundsBuilder_ == null) {
          ensureSoundsIsMutable();
          sounds_.remove(index);
          onChanged();
        } else {
          soundsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
       */
      public com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t.Builder getSoundsBuilder(
          int index) {
        return getSoundsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
       */
      public com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_tOrBuilder getSoundsOrBuilder(
          int index) {
        if (soundsBuilder_ == null) {
          return sounds_.get(index);  } else {
          return soundsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
       */
      public java.util.List 
           getSoundsOrBuilderList() {
        if (soundsBuilder_ != null) {
          return soundsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(sounds_);
        }
      }
      /**
       * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
       */
      public com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t.Builder addSoundsBuilder() {
        return getSoundsFieldBuilder().addBuilder(
            com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t.getDefaultInstance());
      }
      /**
       * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
       */
      public com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t.Builder addSoundsBuilder(
          int index) {
        return getSoundsFieldBuilder().addBuilder(
            index, com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t.getDefaultInstance());
      }
      /**
       * repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
       */
      public java.util.List 
           getSoundsBuilderList() {
        return getSoundsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t, com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t.Builder, com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_tOrBuilder> 
          getSoundsFieldBuilder() {
        if (soundsBuilder_ == null) {
          soundsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t, com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_t.Builder, com.dota2.proto.Netmessages.CSVCMsg_Sounds.sounddata_tOrBuilder>(
                  sounds_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          sounds_ = null;
        }
        return soundsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CSVCMsg_Sounds)
    }

    static {
      defaultInstance = new CSVCMsg_Sounds(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CSVCMsg_Sounds)
  }

  public interface CSVCMsg_PrefetchOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 sound_index = 1;
    /**
     * optional int32 sound_index = 1;
     */
    boolean hasSoundIndex();
    /**
     * optional int32 sound_index = 1;
     */
    int getSoundIndex();
  }
  /**
   * Protobuf type {@code CSVCMsg_Prefetch}
   */
  public static final class CSVCMsg_Prefetch extends
      com.google.protobuf.GeneratedMessage
      implements CSVCMsg_PrefetchOrBuilder {
    // Use CSVCMsg_Prefetch.newBuilder() to construct.
    private CSVCMsg_Prefetch(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CSVCMsg_Prefetch(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CSVCMsg_Prefetch defaultInstance;
    public static CSVCMsg_Prefetch getDefaultInstance() {
      return defaultInstance;
    }

    public CSVCMsg_Prefetch getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CSVCMsg_Prefetch(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              soundIndex_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Prefetch_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Prefetch_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CSVCMsg_Prefetch.class, com.dota2.proto.Netmessages.CSVCMsg_Prefetch.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CSVCMsg_Prefetch parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CSVCMsg_Prefetch(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional int32 sound_index = 1;
    public static final int SOUND_INDEX_FIELD_NUMBER = 1;
    private int soundIndex_;
    /**
     * optional int32 sound_index = 1;
     */
    public boolean hasSoundIndex() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 sound_index = 1;
     */
    public int getSoundIndex() {
      return soundIndex_;
    }

    private void initFields() {
      soundIndex_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, soundIndex_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, soundIndex_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CSVCMsg_Prefetch parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Prefetch parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Prefetch parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Prefetch parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Prefetch parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Prefetch parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Prefetch parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Prefetch parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Prefetch parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Prefetch parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_Prefetch prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSVCMsg_Prefetch}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CSVCMsg_PrefetchOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Prefetch_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Prefetch_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_Prefetch.class, com.dota2.proto.Netmessages.CSVCMsg_Prefetch.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CSVCMsg_Prefetch.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        soundIndex_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Prefetch_descriptor;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_Prefetch getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CSVCMsg_Prefetch.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CSVCMsg_Prefetch build() {
        com.dota2.proto.Netmessages.CSVCMsg_Prefetch result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_Prefetch buildPartial() {
        com.dota2.proto.Netmessages.CSVCMsg_Prefetch result = new com.dota2.proto.Netmessages.CSVCMsg_Prefetch(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.soundIndex_ = soundIndex_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_Prefetch) {
          return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_Prefetch)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_Prefetch other) {
        if (other == com.dota2.proto.Netmessages.CSVCMsg_Prefetch.getDefaultInstance()) return this;
        if (other.hasSoundIndex()) {
          setSoundIndex(other.getSoundIndex());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CSVCMsg_Prefetch parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_Prefetch) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 sound_index = 1;
      private int soundIndex_ ;
      /**
       * optional int32 sound_index = 1;
       */
      public boolean hasSoundIndex() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 sound_index = 1;
       */
      public int getSoundIndex() {
        return soundIndex_;
      }
      /**
       * optional int32 sound_index = 1;
       */
      public Builder setSoundIndex(int value) {
        bitField0_ |= 0x00000001;
        soundIndex_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 sound_index = 1;
       */
      public Builder clearSoundIndex() {
        bitField0_ = (bitField0_ & ~0x00000001);
        soundIndex_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSVCMsg_Prefetch)
    }

    static {
      defaultInstance = new CSVCMsg_Prefetch(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CSVCMsg_Prefetch)
  }

  public interface CSVCMsg_SetViewOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 entity_index = 1;
    /**
     * optional int32 entity_index = 1;
     */
    boolean hasEntityIndex();
    /**
     * optional int32 entity_index = 1;
     */
    int getEntityIndex();
  }
  /**
   * Protobuf type {@code CSVCMsg_SetView}
   */
  public static final class CSVCMsg_SetView extends
      com.google.protobuf.GeneratedMessage
      implements CSVCMsg_SetViewOrBuilder {
    // Use CSVCMsg_SetView.newBuilder() to construct.
    private CSVCMsg_SetView(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CSVCMsg_SetView(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CSVCMsg_SetView defaultInstance;
    public static CSVCMsg_SetView getDefaultInstance() {
      return defaultInstance;
    }

    public CSVCMsg_SetView getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CSVCMsg_SetView(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              entityIndex_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SetView_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SetView_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CSVCMsg_SetView.class, com.dota2.proto.Netmessages.CSVCMsg_SetView.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CSVCMsg_SetView parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CSVCMsg_SetView(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional int32 entity_index = 1;
    public static final int ENTITY_INDEX_FIELD_NUMBER = 1;
    private int entityIndex_;
    /**
     * optional int32 entity_index = 1;
     */
    public boolean hasEntityIndex() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 entity_index = 1;
     */
    public int getEntityIndex() {
      return entityIndex_;
    }

    private void initFields() {
      entityIndex_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, entityIndex_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, entityIndex_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CSVCMsg_SetView parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SetView parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SetView parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SetView parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SetView parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SetView parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SetView parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SetView parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SetView parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SetView parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_SetView prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSVCMsg_SetView}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CSVCMsg_SetViewOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SetView_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SetView_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_SetView.class, com.dota2.proto.Netmessages.CSVCMsg_SetView.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CSVCMsg_SetView.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        entityIndex_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SetView_descriptor;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_SetView getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CSVCMsg_SetView.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CSVCMsg_SetView build() {
        com.dota2.proto.Netmessages.CSVCMsg_SetView result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_SetView buildPartial() {
        com.dota2.proto.Netmessages.CSVCMsg_SetView result = new com.dota2.proto.Netmessages.CSVCMsg_SetView(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.entityIndex_ = entityIndex_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_SetView) {
          return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_SetView)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_SetView other) {
        if (other == com.dota2.proto.Netmessages.CSVCMsg_SetView.getDefaultInstance()) return this;
        if (other.hasEntityIndex()) {
          setEntityIndex(other.getEntityIndex());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CSVCMsg_SetView parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_SetView) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 entity_index = 1;
      private int entityIndex_ ;
      /**
       * optional int32 entity_index = 1;
       */
      public boolean hasEntityIndex() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 entity_index = 1;
       */
      public int getEntityIndex() {
        return entityIndex_;
      }
      /**
       * optional int32 entity_index = 1;
       */
      public Builder setEntityIndex(int value) {
        bitField0_ |= 0x00000001;
        entityIndex_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 entity_index = 1;
       */
      public Builder clearEntityIndex() {
        bitField0_ = (bitField0_ & ~0x00000001);
        entityIndex_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSVCMsg_SetView)
    }

    static {
      defaultInstance = new CSVCMsg_SetView(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CSVCMsg_SetView)
  }

  public interface CSVCMsg_FixAngleOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional bool relative = 1;
    /**
     * optional bool relative = 1;
     */
    boolean hasRelative();
    /**
     * optional bool relative = 1;
     */
    boolean getRelative();

    // optional .CMsgQAngle angle = 2;
    /**
     * optional .CMsgQAngle angle = 2;
     */
    boolean hasAngle();
    /**
     * optional .CMsgQAngle angle = 2;
     */
    com.dota2.proto.Networkbasetypes.CMsgQAngle getAngle();
    /**
     * optional .CMsgQAngle angle = 2;
     */
    com.dota2.proto.Networkbasetypes.CMsgQAngleOrBuilder getAngleOrBuilder();
  }
  /**
   * Protobuf type {@code CSVCMsg_FixAngle}
   */
  public static final class CSVCMsg_FixAngle extends
      com.google.protobuf.GeneratedMessage
      implements CSVCMsg_FixAngleOrBuilder {
    // Use CSVCMsg_FixAngle.newBuilder() to construct.
    private CSVCMsg_FixAngle(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CSVCMsg_FixAngle(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CSVCMsg_FixAngle defaultInstance;
    public static CSVCMsg_FixAngle getDefaultInstance() {
      return defaultInstance;
    }

    public CSVCMsg_FixAngle getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CSVCMsg_FixAngle(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              relative_ = input.readBool();
              break;
            }
            case 18: {
              com.dota2.proto.Networkbasetypes.CMsgQAngle.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = angle_.toBuilder();
              }
              angle_ = input.readMessage(com.dota2.proto.Networkbasetypes.CMsgQAngle.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(angle_);
                angle_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_FixAngle_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_FixAngle_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CSVCMsg_FixAngle.class, com.dota2.proto.Netmessages.CSVCMsg_FixAngle.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CSVCMsg_FixAngle parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CSVCMsg_FixAngle(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional bool relative = 1;
    public static final int RELATIVE_FIELD_NUMBER = 1;
    private boolean relative_;
    /**
     * optional bool relative = 1;
     */
    public boolean hasRelative() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional bool relative = 1;
     */
    public boolean getRelative() {
      return relative_;
    }

    // optional .CMsgQAngle angle = 2;
    public static final int ANGLE_FIELD_NUMBER = 2;
    private com.dota2.proto.Networkbasetypes.CMsgQAngle angle_;
    /**
     * optional .CMsgQAngle angle = 2;
     */
    public boolean hasAngle() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .CMsgQAngle angle = 2;
     */
    public com.dota2.proto.Networkbasetypes.CMsgQAngle getAngle() {
      return angle_;
    }
    /**
     * optional .CMsgQAngle angle = 2;
     */
    public com.dota2.proto.Networkbasetypes.CMsgQAngleOrBuilder getAngleOrBuilder() {
      return angle_;
    }

    private void initFields() {
      relative_ = false;
      angle_ = com.dota2.proto.Networkbasetypes.CMsgQAngle.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBool(1, relative_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, angle_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(1, relative_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, angle_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CSVCMsg_FixAngle parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_FixAngle parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_FixAngle parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_FixAngle parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_FixAngle parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_FixAngle parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_FixAngle parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_FixAngle parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_FixAngle parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_FixAngle parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_FixAngle prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSVCMsg_FixAngle}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CSVCMsg_FixAngleOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_FixAngle_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_FixAngle_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_FixAngle.class, com.dota2.proto.Netmessages.CSVCMsg_FixAngle.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CSVCMsg_FixAngle.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getAngleFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        relative_ = false;
        bitField0_ = (bitField0_ & ~0x00000001);
        if (angleBuilder_ == null) {
          angle_ = com.dota2.proto.Networkbasetypes.CMsgQAngle.getDefaultInstance();
        } else {
          angleBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_FixAngle_descriptor;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_FixAngle getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CSVCMsg_FixAngle.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CSVCMsg_FixAngle build() {
        com.dota2.proto.Netmessages.CSVCMsg_FixAngle result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_FixAngle buildPartial() {
        com.dota2.proto.Netmessages.CSVCMsg_FixAngle result = new com.dota2.proto.Netmessages.CSVCMsg_FixAngle(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.relative_ = relative_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (angleBuilder_ == null) {
          result.angle_ = angle_;
        } else {
          result.angle_ = angleBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_FixAngle) {
          return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_FixAngle)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_FixAngle other) {
        if (other == com.dota2.proto.Netmessages.CSVCMsg_FixAngle.getDefaultInstance()) return this;
        if (other.hasRelative()) {
          setRelative(other.getRelative());
        }
        if (other.hasAngle()) {
          mergeAngle(other.getAngle());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CSVCMsg_FixAngle parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_FixAngle) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional bool relative = 1;
      private boolean relative_ ;
      /**
       * optional bool relative = 1;
       */
      public boolean hasRelative() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional bool relative = 1;
       */
      public boolean getRelative() {
        return relative_;
      }
      /**
       * optional bool relative = 1;
       */
      public Builder setRelative(boolean value) {
        bitField0_ |= 0x00000001;
        relative_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool relative = 1;
       */
      public Builder clearRelative() {
        bitField0_ = (bitField0_ & ~0x00000001);
        relative_ = false;
        onChanged();
        return this;
      }

      // optional .CMsgQAngle angle = 2;
      private com.dota2.proto.Networkbasetypes.CMsgQAngle angle_ = com.dota2.proto.Networkbasetypes.CMsgQAngle.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.dota2.proto.Networkbasetypes.CMsgQAngle, com.dota2.proto.Networkbasetypes.CMsgQAngle.Builder, com.dota2.proto.Networkbasetypes.CMsgQAngleOrBuilder> angleBuilder_;
      /**
       * optional .CMsgQAngle angle = 2;
       */
      public boolean hasAngle() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CMsgQAngle angle = 2;
       */
      public com.dota2.proto.Networkbasetypes.CMsgQAngle getAngle() {
        if (angleBuilder_ == null) {
          return angle_;
        } else {
          return angleBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgQAngle angle = 2;
       */
      public Builder setAngle(com.dota2.proto.Networkbasetypes.CMsgQAngle value) {
        if (angleBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          angle_ = value;
          onChanged();
        } else {
          angleBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgQAngle angle = 2;
       */
      public Builder setAngle(
          com.dota2.proto.Networkbasetypes.CMsgQAngle.Builder builderForValue) {
        if (angleBuilder_ == null) {
          angle_ = builderForValue.build();
          onChanged();
        } else {
          angleBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgQAngle angle = 2;
       */
      public Builder mergeAngle(com.dota2.proto.Networkbasetypes.CMsgQAngle value) {
        if (angleBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              angle_ != com.dota2.proto.Networkbasetypes.CMsgQAngle.getDefaultInstance()) {
            angle_ =
              com.dota2.proto.Networkbasetypes.CMsgQAngle.newBuilder(angle_).mergeFrom(value).buildPartial();
          } else {
            angle_ = value;
          }
          onChanged();
        } else {
          angleBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgQAngle angle = 2;
       */
      public Builder clearAngle() {
        if (angleBuilder_ == null) {
          angle_ = com.dota2.proto.Networkbasetypes.CMsgQAngle.getDefaultInstance();
          onChanged();
        } else {
          angleBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CMsgQAngle angle = 2;
       */
      public com.dota2.proto.Networkbasetypes.CMsgQAngle.Builder getAngleBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getAngleFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgQAngle angle = 2;
       */
      public com.dota2.proto.Networkbasetypes.CMsgQAngleOrBuilder getAngleOrBuilder() {
        if (angleBuilder_ != null) {
          return angleBuilder_.getMessageOrBuilder();
        } else {
          return angle_;
        }
      }
      /**
       * optional .CMsgQAngle angle = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          com.dota2.proto.Networkbasetypes.CMsgQAngle, com.dota2.proto.Networkbasetypes.CMsgQAngle.Builder, com.dota2.proto.Networkbasetypes.CMsgQAngleOrBuilder> 
          getAngleFieldBuilder() {
        if (angleBuilder_ == null) {
          angleBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.dota2.proto.Networkbasetypes.CMsgQAngle, com.dota2.proto.Networkbasetypes.CMsgQAngle.Builder, com.dota2.proto.Networkbasetypes.CMsgQAngleOrBuilder>(
                  angle_,
                  getParentForChildren(),
                  isClean());
          angle_ = null;
        }
        return angleBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CSVCMsg_FixAngle)
    }

    static {
      defaultInstance = new CSVCMsg_FixAngle(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CSVCMsg_FixAngle)
  }

  public interface CSVCMsg_CrosshairAngleOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional .CMsgQAngle angle = 1;
    /**
     * optional .CMsgQAngle angle = 1;
     */
    boolean hasAngle();
    /**
     * optional .CMsgQAngle angle = 1;
     */
    com.dota2.proto.Networkbasetypes.CMsgQAngle getAngle();
    /**
     * optional .CMsgQAngle angle = 1;
     */
    com.dota2.proto.Networkbasetypes.CMsgQAngleOrBuilder getAngleOrBuilder();
  }
  /**
   * Protobuf type {@code CSVCMsg_CrosshairAngle}
   */
  public static final class CSVCMsg_CrosshairAngle extends
      com.google.protobuf.GeneratedMessage
      implements CSVCMsg_CrosshairAngleOrBuilder {
    // Use CSVCMsg_CrosshairAngle.newBuilder() to construct.
    private CSVCMsg_CrosshairAngle(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CSVCMsg_CrosshairAngle(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CSVCMsg_CrosshairAngle defaultInstance;
    public static CSVCMsg_CrosshairAngle getDefaultInstance() {
      return defaultInstance;
    }

    public CSVCMsg_CrosshairAngle getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CSVCMsg_CrosshairAngle(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.dota2.proto.Networkbasetypes.CMsgQAngle.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = angle_.toBuilder();
              }
              angle_ = input.readMessage(com.dota2.proto.Networkbasetypes.CMsgQAngle.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(angle_);
                angle_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_CrosshairAngle_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_CrosshairAngle_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle.class, com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CSVCMsg_CrosshairAngle parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CSVCMsg_CrosshairAngle(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional .CMsgQAngle angle = 1;
    public static final int ANGLE_FIELD_NUMBER = 1;
    private com.dota2.proto.Networkbasetypes.CMsgQAngle angle_;
    /**
     * optional .CMsgQAngle angle = 1;
     */
    public boolean hasAngle() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgQAngle angle = 1;
     */
    public com.dota2.proto.Networkbasetypes.CMsgQAngle getAngle() {
      return angle_;
    }
    /**
     * optional .CMsgQAngle angle = 1;
     */
    public com.dota2.proto.Networkbasetypes.CMsgQAngleOrBuilder getAngleOrBuilder() {
      return angle_;
    }

    private void initFields() {
      angle_ = com.dota2.proto.Networkbasetypes.CMsgQAngle.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, angle_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, angle_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSVCMsg_CrosshairAngle}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngleOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_CrosshairAngle_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_CrosshairAngle_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle.class, com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getAngleFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (angleBuilder_ == null) {
          angle_ = com.dota2.proto.Networkbasetypes.CMsgQAngle.getDefaultInstance();
        } else {
          angleBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_CrosshairAngle_descriptor;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle build() {
        com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle buildPartial() {
        com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle result = new com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (angleBuilder_ == null) {
          result.angle_ = angle_;
        } else {
          result.angle_ = angleBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle) {
          return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle other) {
        if (other == com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle.getDefaultInstance()) return this;
        if (other.hasAngle()) {
          mergeAngle(other.getAngle());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_CrosshairAngle) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional .CMsgQAngle angle = 1;
      private com.dota2.proto.Networkbasetypes.CMsgQAngle angle_ = com.dota2.proto.Networkbasetypes.CMsgQAngle.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.dota2.proto.Networkbasetypes.CMsgQAngle, com.dota2.proto.Networkbasetypes.CMsgQAngle.Builder, com.dota2.proto.Networkbasetypes.CMsgQAngleOrBuilder> angleBuilder_;
      /**
       * optional .CMsgQAngle angle = 1;
       */
      public boolean hasAngle() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgQAngle angle = 1;
       */
      public com.dota2.proto.Networkbasetypes.CMsgQAngle getAngle() {
        if (angleBuilder_ == null) {
          return angle_;
        } else {
          return angleBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgQAngle angle = 1;
       */
      public Builder setAngle(com.dota2.proto.Networkbasetypes.CMsgQAngle value) {
        if (angleBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          angle_ = value;
          onChanged();
        } else {
          angleBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgQAngle angle = 1;
       */
      public Builder setAngle(
          com.dota2.proto.Networkbasetypes.CMsgQAngle.Builder builderForValue) {
        if (angleBuilder_ == null) {
          angle_ = builderForValue.build();
          onChanged();
        } else {
          angleBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgQAngle angle = 1;
       */
      public Builder mergeAngle(com.dota2.proto.Networkbasetypes.CMsgQAngle value) {
        if (angleBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              angle_ != com.dota2.proto.Networkbasetypes.CMsgQAngle.getDefaultInstance()) {
            angle_ =
              com.dota2.proto.Networkbasetypes.CMsgQAngle.newBuilder(angle_).mergeFrom(value).buildPartial();
          } else {
            angle_ = value;
          }
          onChanged();
        } else {
          angleBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgQAngle angle = 1;
       */
      public Builder clearAngle() {
        if (angleBuilder_ == null) {
          angle_ = com.dota2.proto.Networkbasetypes.CMsgQAngle.getDefaultInstance();
          onChanged();
        } else {
          angleBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgQAngle angle = 1;
       */
      public com.dota2.proto.Networkbasetypes.CMsgQAngle.Builder getAngleBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getAngleFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgQAngle angle = 1;
       */
      public com.dota2.proto.Networkbasetypes.CMsgQAngleOrBuilder getAngleOrBuilder() {
        if (angleBuilder_ != null) {
          return angleBuilder_.getMessageOrBuilder();
        } else {
          return angle_;
        }
      }
      /**
       * optional .CMsgQAngle angle = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          com.dota2.proto.Networkbasetypes.CMsgQAngle, com.dota2.proto.Networkbasetypes.CMsgQAngle.Builder, com.dota2.proto.Networkbasetypes.CMsgQAngleOrBuilder> 
          getAngleFieldBuilder() {
        if (angleBuilder_ == null) {
          angleBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.dota2.proto.Networkbasetypes.CMsgQAngle, com.dota2.proto.Networkbasetypes.CMsgQAngle.Builder, com.dota2.proto.Networkbasetypes.CMsgQAngleOrBuilder>(
                  angle_,
                  getParentForChildren(),
                  isClean());
          angle_ = null;
        }
        return angleBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CSVCMsg_CrosshairAngle)
    }

    static {
      defaultInstance = new CSVCMsg_CrosshairAngle(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CSVCMsg_CrosshairAngle)
  }

  public interface CSVCMsg_BSPDecalOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional .CMsgVector pos = 1;
    /**
     * optional .CMsgVector pos = 1;
     */
    boolean hasPos();
    /**
     * optional .CMsgVector pos = 1;
     */
    com.dota2.proto.Networkbasetypes.CMsgVector getPos();
    /**
     * optional .CMsgVector pos = 1;
     */
    com.dota2.proto.Networkbasetypes.CMsgVectorOrBuilder getPosOrBuilder();

    // optional int32 decal_texture_index = 2;
    /**
     * optional int32 decal_texture_index = 2;
     */
    boolean hasDecalTextureIndex();
    /**
     * optional int32 decal_texture_index = 2;
     */
    int getDecalTextureIndex();

    // optional int32 entity_index = 3;
    /**
     * optional int32 entity_index = 3;
     */
    boolean hasEntityIndex();
    /**
     * optional int32 entity_index = 3;
     */
    int getEntityIndex();

    // optional int32 model_index = 4;
    /**
     * optional int32 model_index = 4;
     */
    boolean hasModelIndex();
    /**
     * optional int32 model_index = 4;
     */
    int getModelIndex();

    // optional bool low_priority = 5;
    /**
     * optional bool low_priority = 5;
     */
    boolean hasLowPriority();
    /**
     * optional bool low_priority = 5;
     */
    boolean getLowPriority();
  }
  /**
   * Protobuf type {@code CSVCMsg_BSPDecal}
   */
  public static final class CSVCMsg_BSPDecal extends
      com.google.protobuf.GeneratedMessage
      implements CSVCMsg_BSPDecalOrBuilder {
    // Use CSVCMsg_BSPDecal.newBuilder() to construct.
    private CSVCMsg_BSPDecal(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CSVCMsg_BSPDecal(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CSVCMsg_BSPDecal defaultInstance;
    public static CSVCMsg_BSPDecal getDefaultInstance() {
      return defaultInstance;
    }

    public CSVCMsg_BSPDecal getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CSVCMsg_BSPDecal(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.dota2.proto.Networkbasetypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = pos_.toBuilder();
              }
              pos_ = input.readMessage(com.dota2.proto.Networkbasetypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(pos_);
                pos_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              decalTextureIndex_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              entityIndex_ = input.readInt32();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              modelIndex_ = input.readInt32();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              lowPriority_ = input.readBool();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_BSPDecal_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_BSPDecal_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CSVCMsg_BSPDecal.class, com.dota2.proto.Netmessages.CSVCMsg_BSPDecal.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CSVCMsg_BSPDecal parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CSVCMsg_BSPDecal(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional .CMsgVector pos = 1;
    public static final int POS_FIELD_NUMBER = 1;
    private com.dota2.proto.Networkbasetypes.CMsgVector pos_;
    /**
     * optional .CMsgVector pos = 1;
     */
    public boolean hasPos() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector pos = 1;
     */
    public com.dota2.proto.Networkbasetypes.CMsgVector getPos() {
      return pos_;
    }
    /**
     * optional .CMsgVector pos = 1;
     */
    public com.dota2.proto.Networkbasetypes.CMsgVectorOrBuilder getPosOrBuilder() {
      return pos_;
    }

    // optional int32 decal_texture_index = 2;
    public static final int DECAL_TEXTURE_INDEX_FIELD_NUMBER = 2;
    private int decalTextureIndex_;
    /**
     * optional int32 decal_texture_index = 2;
     */
    public boolean hasDecalTextureIndex() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 decal_texture_index = 2;
     */
    public int getDecalTextureIndex() {
      return decalTextureIndex_;
    }

    // optional int32 entity_index = 3;
    public static final int ENTITY_INDEX_FIELD_NUMBER = 3;
    private int entityIndex_;
    /**
     * optional int32 entity_index = 3;
     */
    public boolean hasEntityIndex() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional int32 entity_index = 3;
     */
    public int getEntityIndex() {
      return entityIndex_;
    }

    // optional int32 model_index = 4;
    public static final int MODEL_INDEX_FIELD_NUMBER = 4;
    private int modelIndex_;
    /**
     * optional int32 model_index = 4;
     */
    public boolean hasModelIndex() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional int32 model_index = 4;
     */
    public int getModelIndex() {
      return modelIndex_;
    }

    // optional bool low_priority = 5;
    public static final int LOW_PRIORITY_FIELD_NUMBER = 5;
    private boolean lowPriority_;
    /**
     * optional bool low_priority = 5;
     */
    public boolean hasLowPriority() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional bool low_priority = 5;
     */
    public boolean getLowPriority() {
      return lowPriority_;
    }

    private void initFields() {
      pos_ = com.dota2.proto.Networkbasetypes.CMsgVector.getDefaultInstance();
      decalTextureIndex_ = 0;
      entityIndex_ = 0;
      modelIndex_ = 0;
      lowPriority_ = false;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, pos_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, decalTextureIndex_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, entityIndex_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt32(4, modelIndex_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeBool(5, lowPriority_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, pos_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, decalTextureIndex_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, entityIndex_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, modelIndex_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(5, lowPriority_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CSVCMsg_BSPDecal parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_BSPDecal parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_BSPDecal parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_BSPDecal parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_BSPDecal parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_BSPDecal parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_BSPDecal parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_BSPDecal parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_BSPDecal parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_BSPDecal parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_BSPDecal prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSVCMsg_BSPDecal}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CSVCMsg_BSPDecalOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_BSPDecal_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_BSPDecal_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_BSPDecal.class, com.dota2.proto.Netmessages.CSVCMsg_BSPDecal.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CSVCMsg_BSPDecal.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getPosFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (posBuilder_ == null) {
          pos_ = com.dota2.proto.Networkbasetypes.CMsgVector.getDefaultInstance();
        } else {
          posBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        decalTextureIndex_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        entityIndex_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        modelIndex_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        lowPriority_ = false;
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_BSPDecal_descriptor;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_BSPDecal getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CSVCMsg_BSPDecal.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CSVCMsg_BSPDecal build() {
        com.dota2.proto.Netmessages.CSVCMsg_BSPDecal result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_BSPDecal buildPartial() {
        com.dota2.proto.Netmessages.CSVCMsg_BSPDecal result = new com.dota2.proto.Netmessages.CSVCMsg_BSPDecal(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (posBuilder_ == null) {
          result.pos_ = pos_;
        } else {
          result.pos_ = posBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.decalTextureIndex_ = decalTextureIndex_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.entityIndex_ = entityIndex_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.modelIndex_ = modelIndex_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.lowPriority_ = lowPriority_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_BSPDecal) {
          return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_BSPDecal)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_BSPDecal other) {
        if (other == com.dota2.proto.Netmessages.CSVCMsg_BSPDecal.getDefaultInstance()) return this;
        if (other.hasPos()) {
          mergePos(other.getPos());
        }
        if (other.hasDecalTextureIndex()) {
          setDecalTextureIndex(other.getDecalTextureIndex());
        }
        if (other.hasEntityIndex()) {
          setEntityIndex(other.getEntityIndex());
        }
        if (other.hasModelIndex()) {
          setModelIndex(other.getModelIndex());
        }
        if (other.hasLowPriority()) {
          setLowPriority(other.getLowPriority());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CSVCMsg_BSPDecal parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_BSPDecal) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional .CMsgVector pos = 1;
      private com.dota2.proto.Networkbasetypes.CMsgVector pos_ = com.dota2.proto.Networkbasetypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.dota2.proto.Networkbasetypes.CMsgVector, com.dota2.proto.Networkbasetypes.CMsgVector.Builder, com.dota2.proto.Networkbasetypes.CMsgVectorOrBuilder> posBuilder_;
      /**
       * optional .CMsgVector pos = 1;
       */
      public boolean hasPos() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      public com.dota2.proto.Networkbasetypes.CMsgVector getPos() {
        if (posBuilder_ == null) {
          return pos_;
        } else {
          return posBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      public Builder setPos(com.dota2.proto.Networkbasetypes.CMsgVector value) {
        if (posBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          pos_ = value;
          onChanged();
        } else {
          posBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      public Builder setPos(
          com.dota2.proto.Networkbasetypes.CMsgVector.Builder builderForValue) {
        if (posBuilder_ == null) {
          pos_ = builderForValue.build();
          onChanged();
        } else {
          posBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      public Builder mergePos(com.dota2.proto.Networkbasetypes.CMsgVector value) {
        if (posBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              pos_ != com.dota2.proto.Networkbasetypes.CMsgVector.getDefaultInstance()) {
            pos_ =
              com.dota2.proto.Networkbasetypes.CMsgVector.newBuilder(pos_).mergeFrom(value).buildPartial();
          } else {
            pos_ = value;
          }
          onChanged();
        } else {
          posBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      public Builder clearPos() {
        if (posBuilder_ == null) {
          pos_ = com.dota2.proto.Networkbasetypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          posBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      public com.dota2.proto.Networkbasetypes.CMsgVector.Builder getPosBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getPosFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      public com.dota2.proto.Networkbasetypes.CMsgVectorOrBuilder getPosOrBuilder() {
        if (posBuilder_ != null) {
          return posBuilder_.getMessageOrBuilder();
        } else {
          return pos_;
        }
      }
      /**
       * optional .CMsgVector pos = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          com.dota2.proto.Networkbasetypes.CMsgVector, com.dota2.proto.Networkbasetypes.CMsgVector.Builder, com.dota2.proto.Networkbasetypes.CMsgVectorOrBuilder> 
          getPosFieldBuilder() {
        if (posBuilder_ == null) {
          posBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.dota2.proto.Networkbasetypes.CMsgVector, com.dota2.proto.Networkbasetypes.CMsgVector.Builder, com.dota2.proto.Networkbasetypes.CMsgVectorOrBuilder>(
                  pos_,
                  getParentForChildren(),
                  isClean());
          pos_ = null;
        }
        return posBuilder_;
      }

      // optional int32 decal_texture_index = 2;
      private int decalTextureIndex_ ;
      /**
       * optional int32 decal_texture_index = 2;
       */
      public boolean hasDecalTextureIndex() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 decal_texture_index = 2;
       */
      public int getDecalTextureIndex() {
        return decalTextureIndex_;
      }
      /**
       * optional int32 decal_texture_index = 2;
       */
      public Builder setDecalTextureIndex(int value) {
        bitField0_ |= 0x00000002;
        decalTextureIndex_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 decal_texture_index = 2;
       */
      public Builder clearDecalTextureIndex() {
        bitField0_ = (bitField0_ & ~0x00000002);
        decalTextureIndex_ = 0;
        onChanged();
        return this;
      }

      // optional int32 entity_index = 3;
      private int entityIndex_ ;
      /**
       * optional int32 entity_index = 3;
       */
      public boolean hasEntityIndex() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional int32 entity_index = 3;
       */
      public int getEntityIndex() {
        return entityIndex_;
      }
      /**
       * optional int32 entity_index = 3;
       */
      public Builder setEntityIndex(int value) {
        bitField0_ |= 0x00000004;
        entityIndex_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 entity_index = 3;
       */
      public Builder clearEntityIndex() {
        bitField0_ = (bitField0_ & ~0x00000004);
        entityIndex_ = 0;
        onChanged();
        return this;
      }

      // optional int32 model_index = 4;
      private int modelIndex_ ;
      /**
       * optional int32 model_index = 4;
       */
      public boolean hasModelIndex() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional int32 model_index = 4;
       */
      public int getModelIndex() {
        return modelIndex_;
      }
      /**
       * optional int32 model_index = 4;
       */
      public Builder setModelIndex(int value) {
        bitField0_ |= 0x00000008;
        modelIndex_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 model_index = 4;
       */
      public Builder clearModelIndex() {
        bitField0_ = (bitField0_ & ~0x00000008);
        modelIndex_ = 0;
        onChanged();
        return this;
      }

      // optional bool low_priority = 5;
      private boolean lowPriority_ ;
      /**
       * optional bool low_priority = 5;
       */
      public boolean hasLowPriority() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional bool low_priority = 5;
       */
      public boolean getLowPriority() {
        return lowPriority_;
      }
      /**
       * optional bool low_priority = 5;
       */
      public Builder setLowPriority(boolean value) {
        bitField0_ |= 0x00000010;
        lowPriority_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool low_priority = 5;
       */
      public Builder clearLowPriority() {
        bitField0_ = (bitField0_ & ~0x00000010);
        lowPriority_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSVCMsg_BSPDecal)
    }

    static {
      defaultInstance = new CSVCMsg_BSPDecal(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CSVCMsg_BSPDecal)
  }

  public interface CSVCMsg_SplitScreenOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional .ESplitScreenMessageType type = 1 [default = MSG_SPLITSCREEN_ADDUSER];
    /**
     * optional .ESplitScreenMessageType type = 1 [default = MSG_SPLITSCREEN_ADDUSER];
     */
    boolean hasType();
    /**
     * optional .ESplitScreenMessageType type = 1 [default = MSG_SPLITSCREEN_ADDUSER];
     */
    com.dota2.proto.Netmessages.ESplitScreenMessageType getType();

    // optional int32 slot = 2;
    /**
     * optional int32 slot = 2;
     */
    boolean hasSlot();
    /**
     * optional int32 slot = 2;
     */
    int getSlot();

    // optional int32 player_index = 3;
    /**
     * optional int32 player_index = 3;
     */
    boolean hasPlayerIndex();
    /**
     * optional int32 player_index = 3;
     */
    int getPlayerIndex();
  }
  /**
   * Protobuf type {@code CSVCMsg_SplitScreen}
   */
  public static final class CSVCMsg_SplitScreen extends
      com.google.protobuf.GeneratedMessage
      implements CSVCMsg_SplitScreenOrBuilder {
    // Use CSVCMsg_SplitScreen.newBuilder() to construct.
    private CSVCMsg_SplitScreen(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CSVCMsg_SplitScreen(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CSVCMsg_SplitScreen defaultInstance;
    public static CSVCMsg_SplitScreen getDefaultInstance() {
      return defaultInstance;
    }

    public CSVCMsg_SplitScreen getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CSVCMsg_SplitScreen(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              int rawValue = input.readEnum();
              com.dota2.proto.Netmessages.ESplitScreenMessageType value = com.dota2.proto.Netmessages.ESplitScreenMessageType.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(1, rawValue);
              } else {
                bitField0_ |= 0x00000001;
                type_ = value;
              }
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              slot_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              playerIndex_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SplitScreen_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SplitScreen_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CSVCMsg_SplitScreen.class, com.dota2.proto.Netmessages.CSVCMsg_SplitScreen.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CSVCMsg_SplitScreen parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CSVCMsg_SplitScreen(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional .ESplitScreenMessageType type = 1 [default = MSG_SPLITSCREEN_ADDUSER];
    public static final int TYPE_FIELD_NUMBER = 1;
    private com.dota2.proto.Netmessages.ESplitScreenMessageType type_;
    /**
     * optional .ESplitScreenMessageType type = 1 [default = MSG_SPLITSCREEN_ADDUSER];
     */
    public boolean hasType() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .ESplitScreenMessageType type = 1 [default = MSG_SPLITSCREEN_ADDUSER];
     */
    public com.dota2.proto.Netmessages.ESplitScreenMessageType getType() {
      return type_;
    }

    // optional int32 slot = 2;
    public static final int SLOT_FIELD_NUMBER = 2;
    private int slot_;
    /**
     * optional int32 slot = 2;
     */
    public boolean hasSlot() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 slot = 2;
     */
    public int getSlot() {
      return slot_;
    }

    // optional int32 player_index = 3;
    public static final int PLAYER_INDEX_FIELD_NUMBER = 3;
    private int playerIndex_;
    /**
     * optional int32 player_index = 3;
     */
    public boolean hasPlayerIndex() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional int32 player_index = 3;
     */
    public int getPlayerIndex() {
      return playerIndex_;
    }

    private void initFields() {
      type_ = com.dota2.proto.Netmessages.ESplitScreenMessageType.MSG_SPLITSCREEN_ADDUSER;
      slot_ = 0;
      playerIndex_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeEnum(1, type_.getNumber());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, slot_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, playerIndex_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, type_.getNumber());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, slot_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, playerIndex_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CSVCMsg_SplitScreen parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SplitScreen parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SplitScreen parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SplitScreen parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SplitScreen parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SplitScreen parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SplitScreen parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SplitScreen parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SplitScreen parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SplitScreen parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_SplitScreen prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSVCMsg_SplitScreen}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CSVCMsg_SplitScreenOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SplitScreen_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SplitScreen_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_SplitScreen.class, com.dota2.proto.Netmessages.CSVCMsg_SplitScreen.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CSVCMsg_SplitScreen.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        type_ = com.dota2.proto.Netmessages.ESplitScreenMessageType.MSG_SPLITSCREEN_ADDUSER;
        bitField0_ = (bitField0_ & ~0x00000001);
        slot_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        playerIndex_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SplitScreen_descriptor;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_SplitScreen getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CSVCMsg_SplitScreen.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CSVCMsg_SplitScreen build() {
        com.dota2.proto.Netmessages.CSVCMsg_SplitScreen result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_SplitScreen buildPartial() {
        com.dota2.proto.Netmessages.CSVCMsg_SplitScreen result = new com.dota2.proto.Netmessages.CSVCMsg_SplitScreen(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.type_ = type_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.slot_ = slot_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.playerIndex_ = playerIndex_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_SplitScreen) {
          return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_SplitScreen)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_SplitScreen other) {
        if (other == com.dota2.proto.Netmessages.CSVCMsg_SplitScreen.getDefaultInstance()) return this;
        if (other.hasType()) {
          setType(other.getType());
        }
        if (other.hasSlot()) {
          setSlot(other.getSlot());
        }
        if (other.hasPlayerIndex()) {
          setPlayerIndex(other.getPlayerIndex());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CSVCMsg_SplitScreen parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_SplitScreen) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional .ESplitScreenMessageType type = 1 [default = MSG_SPLITSCREEN_ADDUSER];
      private com.dota2.proto.Netmessages.ESplitScreenMessageType type_ = com.dota2.proto.Netmessages.ESplitScreenMessageType.MSG_SPLITSCREEN_ADDUSER;
      /**
       * optional .ESplitScreenMessageType type = 1 [default = MSG_SPLITSCREEN_ADDUSER];
       */
      public boolean hasType() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .ESplitScreenMessageType type = 1 [default = MSG_SPLITSCREEN_ADDUSER];
       */
      public com.dota2.proto.Netmessages.ESplitScreenMessageType getType() {
        return type_;
      }
      /**
       * optional .ESplitScreenMessageType type = 1 [default = MSG_SPLITSCREEN_ADDUSER];
       */
      public Builder setType(com.dota2.proto.Netmessages.ESplitScreenMessageType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        type_ = value;
        onChanged();
        return this;
      }
      /**
       * optional .ESplitScreenMessageType type = 1 [default = MSG_SPLITSCREEN_ADDUSER];
       */
      public Builder clearType() {
        bitField0_ = (bitField0_ & ~0x00000001);
        type_ = com.dota2.proto.Netmessages.ESplitScreenMessageType.MSG_SPLITSCREEN_ADDUSER;
        onChanged();
        return this;
      }

      // optional int32 slot = 2;
      private int slot_ ;
      /**
       * optional int32 slot = 2;
       */
      public boolean hasSlot() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 slot = 2;
       */
      public int getSlot() {
        return slot_;
      }
      /**
       * optional int32 slot = 2;
       */
      public Builder setSlot(int value) {
        bitField0_ |= 0x00000002;
        slot_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 slot = 2;
       */
      public Builder clearSlot() {
        bitField0_ = (bitField0_ & ~0x00000002);
        slot_ = 0;
        onChanged();
        return this;
      }

      // optional int32 player_index = 3;
      private int playerIndex_ ;
      /**
       * optional int32 player_index = 3;
       */
      public boolean hasPlayerIndex() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional int32 player_index = 3;
       */
      public int getPlayerIndex() {
        return playerIndex_;
      }
      /**
       * optional int32 player_index = 3;
       */
      public Builder setPlayerIndex(int value) {
        bitField0_ |= 0x00000004;
        playerIndex_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 player_index = 3;
       */
      public Builder clearPlayerIndex() {
        bitField0_ = (bitField0_ & ~0x00000004);
        playerIndex_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSVCMsg_SplitScreen)
    }

    static {
      defaultInstance = new CSVCMsg_SplitScreen(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CSVCMsg_SplitScreen)
  }

  public interface CSVCMsg_GetCvarValueOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 cookie = 1;
    /**
     * optional int32 cookie = 1;
     */
    boolean hasCookie();
    /**
     * optional int32 cookie = 1;
     */
    int getCookie();

    // optional string cvar_name = 2;
    /**
     * optional string cvar_name = 2;
     */
    boolean hasCvarName();
    /**
     * optional string cvar_name = 2;
     */
    java.lang.String getCvarName();
    /**
     * optional string cvar_name = 2;
     */
    com.google.protobuf.ByteString
        getCvarNameBytes();
  }
  /**
   * Protobuf type {@code CSVCMsg_GetCvarValue}
   */
  public static final class CSVCMsg_GetCvarValue extends
      com.google.protobuf.GeneratedMessage
      implements CSVCMsg_GetCvarValueOrBuilder {
    // Use CSVCMsg_GetCvarValue.newBuilder() to construct.
    private CSVCMsg_GetCvarValue(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CSVCMsg_GetCvarValue(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CSVCMsg_GetCvarValue defaultInstance;
    public static CSVCMsg_GetCvarValue getDefaultInstance() {
      return defaultInstance;
    }

    public CSVCMsg_GetCvarValue getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CSVCMsg_GetCvarValue(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              cookie_ = input.readInt32();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              cvarName_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_GetCvarValue_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_GetCvarValue_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue.class, com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CSVCMsg_GetCvarValue parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CSVCMsg_GetCvarValue(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional int32 cookie = 1;
    public static final int COOKIE_FIELD_NUMBER = 1;
    private int cookie_;
    /**
     * optional int32 cookie = 1;
     */
    public boolean hasCookie() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 cookie = 1;
     */
    public int getCookie() {
      return cookie_;
    }

    // optional string cvar_name = 2;
    public static final int CVAR_NAME_FIELD_NUMBER = 2;
    private java.lang.Object cvarName_;
    /**
     * optional string cvar_name = 2;
     */
    public boolean hasCvarName() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional string cvar_name = 2;
     */
    public java.lang.String getCvarName() {
      java.lang.Object ref = cvarName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          cvarName_ = s;
        }
        return s;
      }
    }
    /**
     * optional string cvar_name = 2;
     */
    public com.google.protobuf.ByteString
        getCvarNameBytes() {
      java.lang.Object ref = cvarName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        cvarName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      cookie_ = 0;
      cvarName_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, cookie_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getCvarNameBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, cookie_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getCvarNameBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSVCMsg_GetCvarValue}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CSVCMsg_GetCvarValueOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_GetCvarValue_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_GetCvarValue_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue.class, com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        cookie_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        cvarName_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_GetCvarValue_descriptor;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue build() {
        com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue buildPartial() {
        com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue result = new com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.cookie_ = cookie_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.cvarName_ = cvarName_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue) {
          return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue other) {
        if (other == com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue.getDefaultInstance()) return this;
        if (other.hasCookie()) {
          setCookie(other.getCookie());
        }
        if (other.hasCvarName()) {
          bitField0_ |= 0x00000002;
          cvarName_ = other.cvarName_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_GetCvarValue) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 cookie = 1;
      private int cookie_ ;
      /**
       * optional int32 cookie = 1;
       */
      public boolean hasCookie() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 cookie = 1;
       */
      public int getCookie() {
        return cookie_;
      }
      /**
       * optional int32 cookie = 1;
       */
      public Builder setCookie(int value) {
        bitField0_ |= 0x00000001;
        cookie_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 cookie = 1;
       */
      public Builder clearCookie() {
        bitField0_ = (bitField0_ & ~0x00000001);
        cookie_ = 0;
        onChanged();
        return this;
      }

      // optional string cvar_name = 2;
      private java.lang.Object cvarName_ = "";
      /**
       * optional string cvar_name = 2;
       */
      public boolean hasCvarName() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional string cvar_name = 2;
       */
      public java.lang.String getCvarName() {
        java.lang.Object ref = cvarName_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          cvarName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string cvar_name = 2;
       */
      public com.google.protobuf.ByteString
          getCvarNameBytes() {
        java.lang.Object ref = cvarName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          cvarName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string cvar_name = 2;
       */
      public Builder setCvarName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        cvarName_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string cvar_name = 2;
       */
      public Builder clearCvarName() {
        bitField0_ = (bitField0_ & ~0x00000002);
        cvarName_ = getDefaultInstance().getCvarName();
        onChanged();
        return this;
      }
      /**
       * optional string cvar_name = 2;
       */
      public Builder setCvarNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        cvarName_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSVCMsg_GetCvarValue)
    }

    static {
      defaultInstance = new CSVCMsg_GetCvarValue(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CSVCMsg_GetCvarValue)
  }

  public interface CSVCMsg_MenuOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 dialog_type = 1;
    /**
     * optional int32 dialog_type = 1;
     */
    boolean hasDialogType();
    /**
     * optional int32 dialog_type = 1;
     */
    int getDialogType();

    // optional bytes menu_key_values = 2;
    /**
     * optional bytes menu_key_values = 2;
     */
    boolean hasMenuKeyValues();
    /**
     * optional bytes menu_key_values = 2;
     */
    com.google.protobuf.ByteString getMenuKeyValues();
  }
  /**
   * Protobuf type {@code CSVCMsg_Menu}
   */
  public static final class CSVCMsg_Menu extends
      com.google.protobuf.GeneratedMessage
      implements CSVCMsg_MenuOrBuilder {
    // Use CSVCMsg_Menu.newBuilder() to construct.
    private CSVCMsg_Menu(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CSVCMsg_Menu(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CSVCMsg_Menu defaultInstance;
    public static CSVCMsg_Menu getDefaultInstance() {
      return defaultInstance;
    }

    public CSVCMsg_Menu getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CSVCMsg_Menu(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              dialogType_ = input.readInt32();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              menuKeyValues_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Menu_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Menu_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CSVCMsg_Menu.class, com.dota2.proto.Netmessages.CSVCMsg_Menu.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CSVCMsg_Menu parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CSVCMsg_Menu(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional int32 dialog_type = 1;
    public static final int DIALOG_TYPE_FIELD_NUMBER = 1;
    private int dialogType_;
    /**
     * optional int32 dialog_type = 1;
     */
    public boolean hasDialogType() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 dialog_type = 1;
     */
    public int getDialogType() {
      return dialogType_;
    }

    // optional bytes menu_key_values = 2;
    public static final int MENU_KEY_VALUES_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString menuKeyValues_;
    /**
     * optional bytes menu_key_values = 2;
     */
    public boolean hasMenuKeyValues() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional bytes menu_key_values = 2;
     */
    public com.google.protobuf.ByteString getMenuKeyValues() {
      return menuKeyValues_;
    }

    private void initFields() {
      dialogType_ = 0;
      menuKeyValues_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, dialogType_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, menuKeyValues_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, dialogType_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, menuKeyValues_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CSVCMsg_Menu parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Menu parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Menu parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Menu parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Menu parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Menu parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Menu parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Menu parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Menu parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_Menu parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_Menu prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSVCMsg_Menu}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CSVCMsg_MenuOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Menu_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Menu_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_Menu.class, com.dota2.proto.Netmessages.CSVCMsg_Menu.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CSVCMsg_Menu.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        dialogType_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        menuKeyValues_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_Menu_descriptor;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_Menu getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CSVCMsg_Menu.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CSVCMsg_Menu build() {
        com.dota2.proto.Netmessages.CSVCMsg_Menu result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_Menu buildPartial() {
        com.dota2.proto.Netmessages.CSVCMsg_Menu result = new com.dota2.proto.Netmessages.CSVCMsg_Menu(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.dialogType_ = dialogType_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.menuKeyValues_ = menuKeyValues_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_Menu) {
          return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_Menu)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_Menu other) {
        if (other == com.dota2.proto.Netmessages.CSVCMsg_Menu.getDefaultInstance()) return this;
        if (other.hasDialogType()) {
          setDialogType(other.getDialogType());
        }
        if (other.hasMenuKeyValues()) {
          setMenuKeyValues(other.getMenuKeyValues());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CSVCMsg_Menu parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_Menu) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 dialog_type = 1;
      private int dialogType_ ;
      /**
       * optional int32 dialog_type = 1;
       */
      public boolean hasDialogType() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 dialog_type = 1;
       */
      public int getDialogType() {
        return dialogType_;
      }
      /**
       * optional int32 dialog_type = 1;
       */
      public Builder setDialogType(int value) {
        bitField0_ |= 0x00000001;
        dialogType_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 dialog_type = 1;
       */
      public Builder clearDialogType() {
        bitField0_ = (bitField0_ & ~0x00000001);
        dialogType_ = 0;
        onChanged();
        return this;
      }

      // optional bytes menu_key_values = 2;
      private com.google.protobuf.ByteString menuKeyValues_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes menu_key_values = 2;
       */
      public boolean hasMenuKeyValues() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional bytes menu_key_values = 2;
       */
      public com.google.protobuf.ByteString getMenuKeyValues() {
        return menuKeyValues_;
      }
      /**
       * optional bytes menu_key_values = 2;
       */
      public Builder setMenuKeyValues(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        menuKeyValues_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes menu_key_values = 2;
       */
      public Builder clearMenuKeyValues() {
        bitField0_ = (bitField0_ & ~0x00000002);
        menuKeyValues_ = getDefaultInstance().getMenuKeyValues();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSVCMsg_Menu)
    }

    static {
      defaultInstance = new CSVCMsg_Menu(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CSVCMsg_Menu)
  }

  public interface CSVCMsg_SendTableOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional bool is_end = 1;
    /**
     * optional bool is_end = 1;
     */
    boolean hasIsEnd();
    /**
     * optional bool is_end = 1;
     */
    boolean getIsEnd();

    // optional string net_table_name = 2;
    /**
     * optional string net_table_name = 2;
     */
    boolean hasNetTableName();
    /**
     * optional string net_table_name = 2;
     */
    java.lang.String getNetTableName();
    /**
     * optional string net_table_name = 2;
     */
    com.google.protobuf.ByteString
        getNetTableNameBytes();

    // optional bool needs_decoder = 3;
    /**
     * optional bool needs_decoder = 3;
     */
    boolean hasNeedsDecoder();
    /**
     * optional bool needs_decoder = 3;
     */
    boolean getNeedsDecoder();

    // repeated .CSVCMsg_SendTable.sendprop_t props = 4;
    /**
     * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
     */
    java.util.List 
        getPropsList();
    /**
     * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
     */
    com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t getProps(int index);
    /**
     * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
     */
    int getPropsCount();
    /**
     * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
     */
    java.util.List 
        getPropsOrBuilderList();
    /**
     * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
     */
    com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_tOrBuilder getPropsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code CSVCMsg_SendTable}
   */
  public static final class CSVCMsg_SendTable extends
      com.google.protobuf.GeneratedMessage
      implements CSVCMsg_SendTableOrBuilder {
    // Use CSVCMsg_SendTable.newBuilder() to construct.
    private CSVCMsg_SendTable(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CSVCMsg_SendTable(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CSVCMsg_SendTable defaultInstance;
    public static CSVCMsg_SendTable getDefaultInstance() {
      return defaultInstance;
    }

    public CSVCMsg_SendTable getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CSVCMsg_SendTable(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              isEnd_ = input.readBool();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              netTableName_ = input.readBytes();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              needsDecoder_ = input.readBool();
              break;
            }
            case 34: {
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                props_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000008;
              }
              props_.add(input.readMessage(com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
          props_ = java.util.Collections.unmodifiableList(props_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SendTable_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SendTable_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CSVCMsg_SendTable.class, com.dota2.proto.Netmessages.CSVCMsg_SendTable.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CSVCMsg_SendTable parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CSVCMsg_SendTable(input, extensionRegistry);
      }
    };

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

    public interface sendprop_tOrBuilder
        extends com.google.protobuf.MessageOrBuilder {

      // optional int32 type = 1;
      /**
       * optional int32 type = 1;
       */
      boolean hasType();
      /**
       * optional int32 type = 1;
       */
      int getType();

      // optional string var_name = 2;
      /**
       * optional string var_name = 2;
       */
      boolean hasVarName();
      /**
       * optional string var_name = 2;
       */
      java.lang.String getVarName();
      /**
       * optional string var_name = 2;
       */
      com.google.protobuf.ByteString
          getVarNameBytes();

      // optional int32 flags = 3;
      /**
       * optional int32 flags = 3;
       */
      boolean hasFlags();
      /**
       * optional int32 flags = 3;
       */
      int getFlags();

      // optional int32 priority = 4;
      /**
       * optional int32 priority = 4;
       */
      boolean hasPriority();
      /**
       * optional int32 priority = 4;
       */
      int getPriority();

      // optional string dt_name = 5;
      /**
       * optional string dt_name = 5;
       */
      boolean hasDtName();
      /**
       * optional string dt_name = 5;
       */
      java.lang.String getDtName();
      /**
       * optional string dt_name = 5;
       */
      com.google.protobuf.ByteString
          getDtNameBytes();

      // optional int32 num_elements = 6;
      /**
       * optional int32 num_elements = 6;
       */
      boolean hasNumElements();
      /**
       * optional int32 num_elements = 6;
       */
      int getNumElements();

      // optional float low_value = 7;
      /**
       * optional float low_value = 7;
       */
      boolean hasLowValue();
      /**
       * optional float low_value = 7;
       */
      float getLowValue();

      // optional float high_value = 8;
      /**
       * optional float high_value = 8;
       */
      boolean hasHighValue();
      /**
       * optional float high_value = 8;
       */
      float getHighValue();

      // optional int32 num_bits = 9;
      /**
       * optional int32 num_bits = 9;
       */
      boolean hasNumBits();
      /**
       * optional int32 num_bits = 9;
       */
      int getNumBits();
    }
    /**
     * Protobuf type {@code CSVCMsg_SendTable.sendprop_t}
     */
    public static final class sendprop_t extends
        com.google.protobuf.GeneratedMessage
        implements sendprop_tOrBuilder {
      // Use sendprop_t.newBuilder() to construct.
      private sendprop_t(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private sendprop_t(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final sendprop_t defaultInstance;
      public static sendprop_t getDefaultInstance() {
        return defaultInstance;
      }

      public sendprop_t getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private sendprop_t(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        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;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 8: {
                bitField0_ |= 0x00000001;
                type_ = input.readInt32();
                break;
              }
              case 18: {
                bitField0_ |= 0x00000002;
                varName_ = input.readBytes();
                break;
              }
              case 24: {
                bitField0_ |= 0x00000004;
                flags_ = input.readInt32();
                break;
              }
              case 32: {
                bitField0_ |= 0x00000008;
                priority_ = input.readInt32();
                break;
              }
              case 42: {
                bitField0_ |= 0x00000010;
                dtName_ = input.readBytes();
                break;
              }
              case 48: {
                bitField0_ |= 0x00000020;
                numElements_ = input.readInt32();
                break;
              }
              case 61: {
                bitField0_ |= 0x00000040;
                lowValue_ = input.readFloat();
                break;
              }
              case 69: {
                bitField0_ |= 0x00000080;
                highValue_ = input.readFloat();
                break;
              }
              case 72: {
                bitField0_ |= 0x00000100;
                numBits_ = input.readInt32();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SendTable_sendprop_t_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SendTable_sendprop_t_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t.class, com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t.Builder.class);
      }

      public static com.google.protobuf.Parser PARSER =
          new com.google.protobuf.AbstractParser() {
        public sendprop_t parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new sendprop_t(input, extensionRegistry);
        }
      };

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

      private int bitField0_;
      // optional int32 type = 1;
      public static final int TYPE_FIELD_NUMBER = 1;
      private int type_;
      /**
       * optional int32 type = 1;
       */
      public boolean hasType() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 type = 1;
       */
      public int getType() {
        return type_;
      }

      // optional string var_name = 2;
      public static final int VAR_NAME_FIELD_NUMBER = 2;
      private java.lang.Object varName_;
      /**
       * optional string var_name = 2;
       */
      public boolean hasVarName() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional string var_name = 2;
       */
      public java.lang.String getVarName() {
        java.lang.Object ref = varName_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            varName_ = s;
          }
          return s;
        }
      }
      /**
       * optional string var_name = 2;
       */
      public com.google.protobuf.ByteString
          getVarNameBytes() {
        java.lang.Object ref = varName_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          varName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      // optional int32 flags = 3;
      public static final int FLAGS_FIELD_NUMBER = 3;
      private int flags_;
      /**
       * optional int32 flags = 3;
       */
      public boolean hasFlags() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional int32 flags = 3;
       */
      public int getFlags() {
        return flags_;
      }

      // optional int32 priority = 4;
      public static final int PRIORITY_FIELD_NUMBER = 4;
      private int priority_;
      /**
       * optional int32 priority = 4;
       */
      public boolean hasPriority() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional int32 priority = 4;
       */
      public int getPriority() {
        return priority_;
      }

      // optional string dt_name = 5;
      public static final int DT_NAME_FIELD_NUMBER = 5;
      private java.lang.Object dtName_;
      /**
       * optional string dt_name = 5;
       */
      public boolean hasDtName() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional string dt_name = 5;
       */
      public java.lang.String getDtName() {
        java.lang.Object ref = dtName_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            dtName_ = s;
          }
          return s;
        }
      }
      /**
       * optional string dt_name = 5;
       */
      public com.google.protobuf.ByteString
          getDtNameBytes() {
        java.lang.Object ref = dtName_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          dtName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      // optional int32 num_elements = 6;
      public static final int NUM_ELEMENTS_FIELD_NUMBER = 6;
      private int numElements_;
      /**
       * optional int32 num_elements = 6;
       */
      public boolean hasNumElements() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional int32 num_elements = 6;
       */
      public int getNumElements() {
        return numElements_;
      }

      // optional float low_value = 7;
      public static final int LOW_VALUE_FIELD_NUMBER = 7;
      private float lowValue_;
      /**
       * optional float low_value = 7;
       */
      public boolean hasLowValue() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * optional float low_value = 7;
       */
      public float getLowValue() {
        return lowValue_;
      }

      // optional float high_value = 8;
      public static final int HIGH_VALUE_FIELD_NUMBER = 8;
      private float highValue_;
      /**
       * optional float high_value = 8;
       */
      public boolean hasHighValue() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * optional float high_value = 8;
       */
      public float getHighValue() {
        return highValue_;
      }

      // optional int32 num_bits = 9;
      public static final int NUM_BITS_FIELD_NUMBER = 9;
      private int numBits_;
      /**
       * optional int32 num_bits = 9;
       */
      public boolean hasNumBits() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * optional int32 num_bits = 9;
       */
      public int getNumBits() {
        return numBits_;
      }

      private void initFields() {
        type_ = 0;
        varName_ = "";
        flags_ = 0;
        priority_ = 0;
        dtName_ = "";
        numElements_ = 0;
        lowValue_ = 0F;
        highValue_ = 0F;
        numBits_ = 0;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeInt32(1, type_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeBytes(2, getVarNameBytes());
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeInt32(3, flags_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeInt32(4, priority_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          output.writeBytes(5, getDtNameBytes());
        }
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          output.writeInt32(6, numElements_);
        }
        if (((bitField0_ & 0x00000040) == 0x00000040)) {
          output.writeFloat(7, lowValue_);
        }
        if (((bitField0_ & 0x00000080) == 0x00000080)) {
          output.writeFloat(8, highValue_);
        }
        if (((bitField0_ & 0x00000100) == 0x00000100)) {
          output.writeInt32(9, numBits_);
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(1, type_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(2, getVarNameBytes());
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(3, flags_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(4, priority_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(5, getDtNameBytes());
        }
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(6, numElements_);
        }
        if (((bitField0_ & 0x00000040) == 0x00000040)) {
          size += com.google.protobuf.CodedOutputStream
            .computeFloatSize(7, lowValue_);
        }
        if (((bitField0_ & 0x00000080) == 0x00000080)) {
          size += com.google.protobuf.CodedOutputStream
            .computeFloatSize(8, highValue_);
        }
        if (((bitField0_ & 0x00000100) == 0x00000100)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(9, numBits_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      public static com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code CSVCMsg_SendTable.sendprop_t}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder
         implements com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_tOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SendTable_sendprop_t_descriptor;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SendTable_sendprop_t_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t.class, com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t.Builder.class);
        }

        // Construct using com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          type_ = 0;
          bitField0_ = (bitField0_ & ~0x00000001);
          varName_ = "";
          bitField0_ = (bitField0_ & ~0x00000002);
          flags_ = 0;
          bitField0_ = (bitField0_ & ~0x00000004);
          priority_ = 0;
          bitField0_ = (bitField0_ & ~0x00000008);
          dtName_ = "";
          bitField0_ = (bitField0_ & ~0x00000010);
          numElements_ = 0;
          bitField0_ = (bitField0_ & ~0x00000020);
          lowValue_ = 0F;
          bitField0_ = (bitField0_ & ~0x00000040);
          highValue_ = 0F;
          bitField0_ = (bitField0_ & ~0x00000080);
          numBits_ = 0;
          bitField0_ = (bitField0_ & ~0x00000100);
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SendTable_sendprop_t_descriptor;
        }

        public com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t getDefaultInstanceForType() {
          return com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t.getDefaultInstance();
        }

        public com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t build() {
          com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t buildPartial() {
          com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t result = new com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.type_ = type_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.varName_ = varName_;
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.flags_ = flags_;
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000008;
          }
          result.priority_ = priority_;
          if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
            to_bitField0_ |= 0x00000010;
          }
          result.dtName_ = dtName_;
          if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
            to_bitField0_ |= 0x00000020;
          }
          result.numElements_ = numElements_;
          if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
            to_bitField0_ |= 0x00000040;
          }
          result.lowValue_ = lowValue_;
          if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
            to_bitField0_ |= 0x00000080;
          }
          result.highValue_ = highValue_;
          if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
            to_bitField0_ |= 0x00000100;
          }
          result.numBits_ = numBits_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t) {
            return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t other) {
          if (other == com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t.getDefaultInstance()) return this;
          if (other.hasType()) {
            setType(other.getType());
          }
          if (other.hasVarName()) {
            bitField0_ |= 0x00000002;
            varName_ = other.varName_;
            onChanged();
          }
          if (other.hasFlags()) {
            setFlags(other.getFlags());
          }
          if (other.hasPriority()) {
            setPriority(other.getPriority());
          }
          if (other.hasDtName()) {
            bitField0_ |= 0x00000010;
            dtName_ = other.dtName_;
            onChanged();
          }
          if (other.hasNumElements()) {
            setNumElements(other.getNumElements());
          }
          if (other.hasLowValue()) {
            setLowValue(other.getLowValue());
          }
          if (other.hasHighValue()) {
            setHighValue(other.getHighValue());
          }
          if (other.hasNumBits()) {
            setNumBits(other.getNumBits());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        // optional int32 type = 1;
        private int type_ ;
        /**
         * optional int32 type = 1;
         */
        public boolean hasType() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * optional int32 type = 1;
         */
        public int getType() {
          return type_;
        }
        /**
         * optional int32 type = 1;
         */
        public Builder setType(int value) {
          bitField0_ |= 0x00000001;
          type_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 type = 1;
         */
        public Builder clearType() {
          bitField0_ = (bitField0_ & ~0x00000001);
          type_ = 0;
          onChanged();
          return this;
        }

        // optional string var_name = 2;
        private java.lang.Object varName_ = "";
        /**
         * optional string var_name = 2;
         */
        public boolean hasVarName() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * optional string var_name = 2;
         */
        public java.lang.String getVarName() {
          java.lang.Object ref = varName_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            varName_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * optional string var_name = 2;
         */
        public com.google.protobuf.ByteString
            getVarNameBytes() {
          java.lang.Object ref = varName_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            varName_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * optional string var_name = 2;
         */
        public Builder setVarName(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
          varName_ = value;
          onChanged();
          return this;
        }
        /**
         * optional string var_name = 2;
         */
        public Builder clearVarName() {
          bitField0_ = (bitField0_ & ~0x00000002);
          varName_ = getDefaultInstance().getVarName();
          onChanged();
          return this;
        }
        /**
         * optional string var_name = 2;
         */
        public Builder setVarNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
          varName_ = value;
          onChanged();
          return this;
        }

        // optional int32 flags = 3;
        private int flags_ ;
        /**
         * optional int32 flags = 3;
         */
        public boolean hasFlags() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * optional int32 flags = 3;
         */
        public int getFlags() {
          return flags_;
        }
        /**
         * optional int32 flags = 3;
         */
        public Builder setFlags(int value) {
          bitField0_ |= 0x00000004;
          flags_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 flags = 3;
         */
        public Builder clearFlags() {
          bitField0_ = (bitField0_ & ~0x00000004);
          flags_ = 0;
          onChanged();
          return this;
        }

        // optional int32 priority = 4;
        private int priority_ ;
        /**
         * optional int32 priority = 4;
         */
        public boolean hasPriority() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        /**
         * optional int32 priority = 4;
         */
        public int getPriority() {
          return priority_;
        }
        /**
         * optional int32 priority = 4;
         */
        public Builder setPriority(int value) {
          bitField0_ |= 0x00000008;
          priority_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 priority = 4;
         */
        public Builder clearPriority() {
          bitField0_ = (bitField0_ & ~0x00000008);
          priority_ = 0;
          onChanged();
          return this;
        }

        // optional string dt_name = 5;
        private java.lang.Object dtName_ = "";
        /**
         * optional string dt_name = 5;
         */
        public boolean hasDtName() {
          return ((bitField0_ & 0x00000010) == 0x00000010);
        }
        /**
         * optional string dt_name = 5;
         */
        public java.lang.String getDtName() {
          java.lang.Object ref = dtName_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            dtName_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * optional string dt_name = 5;
         */
        public com.google.protobuf.ByteString
            getDtNameBytes() {
          java.lang.Object ref = dtName_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            dtName_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * optional string dt_name = 5;
         */
        public Builder setDtName(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
          dtName_ = value;
          onChanged();
          return this;
        }
        /**
         * optional string dt_name = 5;
         */
        public Builder clearDtName() {
          bitField0_ = (bitField0_ & ~0x00000010);
          dtName_ = getDefaultInstance().getDtName();
          onChanged();
          return this;
        }
        /**
         * optional string dt_name = 5;
         */
        public Builder setDtNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
          dtName_ = value;
          onChanged();
          return this;
        }

        // optional int32 num_elements = 6;
        private int numElements_ ;
        /**
         * optional int32 num_elements = 6;
         */
        public boolean hasNumElements() {
          return ((bitField0_ & 0x00000020) == 0x00000020);
        }
        /**
         * optional int32 num_elements = 6;
         */
        public int getNumElements() {
          return numElements_;
        }
        /**
         * optional int32 num_elements = 6;
         */
        public Builder setNumElements(int value) {
          bitField0_ |= 0x00000020;
          numElements_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 num_elements = 6;
         */
        public Builder clearNumElements() {
          bitField0_ = (bitField0_ & ~0x00000020);
          numElements_ = 0;
          onChanged();
          return this;
        }

        // optional float low_value = 7;
        private float lowValue_ ;
        /**
         * optional float low_value = 7;
         */
        public boolean hasLowValue() {
          return ((bitField0_ & 0x00000040) == 0x00000040);
        }
        /**
         * optional float low_value = 7;
         */
        public float getLowValue() {
          return lowValue_;
        }
        /**
         * optional float low_value = 7;
         */
        public Builder setLowValue(float value) {
          bitField0_ |= 0x00000040;
          lowValue_ = value;
          onChanged();
          return this;
        }
        /**
         * optional float low_value = 7;
         */
        public Builder clearLowValue() {
          bitField0_ = (bitField0_ & ~0x00000040);
          lowValue_ = 0F;
          onChanged();
          return this;
        }

        // optional float high_value = 8;
        private float highValue_ ;
        /**
         * optional float high_value = 8;
         */
        public boolean hasHighValue() {
          return ((bitField0_ & 0x00000080) == 0x00000080);
        }
        /**
         * optional float high_value = 8;
         */
        public float getHighValue() {
          return highValue_;
        }
        /**
         * optional float high_value = 8;
         */
        public Builder setHighValue(float value) {
          bitField0_ |= 0x00000080;
          highValue_ = value;
          onChanged();
          return this;
        }
        /**
         * optional float high_value = 8;
         */
        public Builder clearHighValue() {
          bitField0_ = (bitField0_ & ~0x00000080);
          highValue_ = 0F;
          onChanged();
          return this;
        }

        // optional int32 num_bits = 9;
        private int numBits_ ;
        /**
         * optional int32 num_bits = 9;
         */
        public boolean hasNumBits() {
          return ((bitField0_ & 0x00000100) == 0x00000100);
        }
        /**
         * optional int32 num_bits = 9;
         */
        public int getNumBits() {
          return numBits_;
        }
        /**
         * optional int32 num_bits = 9;
         */
        public Builder setNumBits(int value) {
          bitField0_ |= 0x00000100;
          numBits_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 num_bits = 9;
         */
        public Builder clearNumBits() {
          bitField0_ = (bitField0_ & ~0x00000100);
          numBits_ = 0;
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:CSVCMsg_SendTable.sendprop_t)
      }

      static {
        defaultInstance = new sendprop_t(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:CSVCMsg_SendTable.sendprop_t)
    }

    private int bitField0_;
    // optional bool is_end = 1;
    public static final int IS_END_FIELD_NUMBER = 1;
    private boolean isEnd_;
    /**
     * optional bool is_end = 1;
     */
    public boolean hasIsEnd() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional bool is_end = 1;
     */
    public boolean getIsEnd() {
      return isEnd_;
    }

    // optional string net_table_name = 2;
    public static final int NET_TABLE_NAME_FIELD_NUMBER = 2;
    private java.lang.Object netTableName_;
    /**
     * optional string net_table_name = 2;
     */
    public boolean hasNetTableName() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional string net_table_name = 2;
     */
    public java.lang.String getNetTableName() {
      java.lang.Object ref = netTableName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          netTableName_ = s;
        }
        return s;
      }
    }
    /**
     * optional string net_table_name = 2;
     */
    public com.google.protobuf.ByteString
        getNetTableNameBytes() {
      java.lang.Object ref = netTableName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        netTableName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional bool needs_decoder = 3;
    public static final int NEEDS_DECODER_FIELD_NUMBER = 3;
    private boolean needsDecoder_;
    /**
     * optional bool needs_decoder = 3;
     */
    public boolean hasNeedsDecoder() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional bool needs_decoder = 3;
     */
    public boolean getNeedsDecoder() {
      return needsDecoder_;
    }

    // repeated .CSVCMsg_SendTable.sendprop_t props = 4;
    public static final int PROPS_FIELD_NUMBER = 4;
    private java.util.List props_;
    /**
     * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
     */
    public java.util.List getPropsList() {
      return props_;
    }
    /**
     * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
     */
    public java.util.List 
        getPropsOrBuilderList() {
      return props_;
    }
    /**
     * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
     */
    public int getPropsCount() {
      return props_.size();
    }
    /**
     * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
     */
    public com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t getProps(int index) {
      return props_.get(index);
    }
    /**
     * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
     */
    public com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_tOrBuilder getPropsOrBuilder(
        int index) {
      return props_.get(index);
    }

    private void initFields() {
      isEnd_ = false;
      netTableName_ = "";
      needsDecoder_ = false;
      props_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBool(1, isEnd_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getNetTableNameBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBool(3, needsDecoder_);
      }
      for (int i = 0; i < props_.size(); i++) {
        output.writeMessage(4, props_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(1, isEnd_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getNetTableNameBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, needsDecoder_);
      }
      for (int i = 0; i < props_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, props_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CSVCMsg_SendTable parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SendTable parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SendTable parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SendTable parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SendTable parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SendTable parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SendTable parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SendTable parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SendTable parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_SendTable parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_SendTable prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSVCMsg_SendTable}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CSVCMsg_SendTableOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SendTable_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SendTable_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_SendTable.class, com.dota2.proto.Netmessages.CSVCMsg_SendTable.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CSVCMsg_SendTable.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getPropsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        isEnd_ = false;
        bitField0_ = (bitField0_ & ~0x00000001);
        netTableName_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        needsDecoder_ = false;
        bitField0_ = (bitField0_ & ~0x00000004);
        if (propsBuilder_ == null) {
          props_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
        } else {
          propsBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_SendTable_descriptor;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_SendTable getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CSVCMsg_SendTable.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CSVCMsg_SendTable build() {
        com.dota2.proto.Netmessages.CSVCMsg_SendTable result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_SendTable buildPartial() {
        com.dota2.proto.Netmessages.CSVCMsg_SendTable result = new com.dota2.proto.Netmessages.CSVCMsg_SendTable(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.isEnd_ = isEnd_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.netTableName_ = netTableName_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.needsDecoder_ = needsDecoder_;
        if (propsBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008)) {
            props_ = java.util.Collections.unmodifiableList(props_);
            bitField0_ = (bitField0_ & ~0x00000008);
          }
          result.props_ = props_;
        } else {
          result.props_ = propsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_SendTable) {
          return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_SendTable)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_SendTable other) {
        if (other == com.dota2.proto.Netmessages.CSVCMsg_SendTable.getDefaultInstance()) return this;
        if (other.hasIsEnd()) {
          setIsEnd(other.getIsEnd());
        }
        if (other.hasNetTableName()) {
          bitField0_ |= 0x00000002;
          netTableName_ = other.netTableName_;
          onChanged();
        }
        if (other.hasNeedsDecoder()) {
          setNeedsDecoder(other.getNeedsDecoder());
        }
        if (propsBuilder_ == null) {
          if (!other.props_.isEmpty()) {
            if (props_.isEmpty()) {
              props_ = other.props_;
              bitField0_ = (bitField0_ & ~0x00000008);
            } else {
              ensurePropsIsMutable();
              props_.addAll(other.props_);
            }
            onChanged();
          }
        } else {
          if (!other.props_.isEmpty()) {
            if (propsBuilder_.isEmpty()) {
              propsBuilder_.dispose();
              propsBuilder_ = null;
              props_ = other.props_;
              bitField0_ = (bitField0_ & ~0x00000008);
              propsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getPropsFieldBuilder() : null;
            } else {
              propsBuilder_.addAllMessages(other.props_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CSVCMsg_SendTable parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_SendTable) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional bool is_end = 1;
      private boolean isEnd_ ;
      /**
       * optional bool is_end = 1;
       */
      public boolean hasIsEnd() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional bool is_end = 1;
       */
      public boolean getIsEnd() {
        return isEnd_;
      }
      /**
       * optional bool is_end = 1;
       */
      public Builder setIsEnd(boolean value) {
        bitField0_ |= 0x00000001;
        isEnd_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool is_end = 1;
       */
      public Builder clearIsEnd() {
        bitField0_ = (bitField0_ & ~0x00000001);
        isEnd_ = false;
        onChanged();
        return this;
      }

      // optional string net_table_name = 2;
      private java.lang.Object netTableName_ = "";
      /**
       * optional string net_table_name = 2;
       */
      public boolean hasNetTableName() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional string net_table_name = 2;
       */
      public java.lang.String getNetTableName() {
        java.lang.Object ref = netTableName_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          netTableName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string net_table_name = 2;
       */
      public com.google.protobuf.ByteString
          getNetTableNameBytes() {
        java.lang.Object ref = netTableName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          netTableName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string net_table_name = 2;
       */
      public Builder setNetTableName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        netTableName_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string net_table_name = 2;
       */
      public Builder clearNetTableName() {
        bitField0_ = (bitField0_ & ~0x00000002);
        netTableName_ = getDefaultInstance().getNetTableName();
        onChanged();
        return this;
      }
      /**
       * optional string net_table_name = 2;
       */
      public Builder setNetTableNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        netTableName_ = value;
        onChanged();
        return this;
      }

      // optional bool needs_decoder = 3;
      private boolean needsDecoder_ ;
      /**
       * optional bool needs_decoder = 3;
       */
      public boolean hasNeedsDecoder() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional bool needs_decoder = 3;
       */
      public boolean getNeedsDecoder() {
        return needsDecoder_;
      }
      /**
       * optional bool needs_decoder = 3;
       */
      public Builder setNeedsDecoder(boolean value) {
        bitField0_ |= 0x00000004;
        needsDecoder_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool needs_decoder = 3;
       */
      public Builder clearNeedsDecoder() {
        bitField0_ = (bitField0_ & ~0x00000004);
        needsDecoder_ = false;
        onChanged();
        return this;
      }

      // repeated .CSVCMsg_SendTable.sendprop_t props = 4;
      private java.util.List props_ =
        java.util.Collections.emptyList();
      private void ensurePropsIsMutable() {
        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
          props_ = new java.util.ArrayList(props_);
          bitField0_ |= 0x00000008;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t, com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t.Builder, com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_tOrBuilder> propsBuilder_;

      /**
       * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
       */
      public java.util.List getPropsList() {
        if (propsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(props_);
        } else {
          return propsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
       */
      public int getPropsCount() {
        if (propsBuilder_ == null) {
          return props_.size();
        } else {
          return propsBuilder_.getCount();
        }
      }
      /**
       * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
       */
      public com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t getProps(int index) {
        if (propsBuilder_ == null) {
          return props_.get(index);
        } else {
          return propsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
       */
      public Builder setProps(
          int index, com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t value) {
        if (propsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePropsIsMutable();
          props_.set(index, value);
          onChanged();
        } else {
          propsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
       */
      public Builder setProps(
          int index, com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t.Builder builderForValue) {
        if (propsBuilder_ == null) {
          ensurePropsIsMutable();
          props_.set(index, builderForValue.build());
          onChanged();
        } else {
          propsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
       */
      public Builder addProps(com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t value) {
        if (propsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePropsIsMutable();
          props_.add(value);
          onChanged();
        } else {
          propsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
       */
      public Builder addProps(
          int index, com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t value) {
        if (propsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePropsIsMutable();
          props_.add(index, value);
          onChanged();
        } else {
          propsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
       */
      public Builder addProps(
          com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t.Builder builderForValue) {
        if (propsBuilder_ == null) {
          ensurePropsIsMutable();
          props_.add(builderForValue.build());
          onChanged();
        } else {
          propsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
       */
      public Builder addProps(
          int index, com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t.Builder builderForValue) {
        if (propsBuilder_ == null) {
          ensurePropsIsMutable();
          props_.add(index, builderForValue.build());
          onChanged();
        } else {
          propsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
       */
      public Builder addAllProps(
          java.lang.Iterable values) {
        if (propsBuilder_ == null) {
          ensurePropsIsMutable();
          super.addAll(values, props_);
          onChanged();
        } else {
          propsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
       */
      public Builder clearProps() {
        if (propsBuilder_ == null) {
          props_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
        } else {
          propsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
       */
      public Builder removeProps(int index) {
        if (propsBuilder_ == null) {
          ensurePropsIsMutable();
          props_.remove(index);
          onChanged();
        } else {
          propsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
       */
      public com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t.Builder getPropsBuilder(
          int index) {
        return getPropsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
       */
      public com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_tOrBuilder getPropsOrBuilder(
          int index) {
        if (propsBuilder_ == null) {
          return props_.get(index);  } else {
          return propsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
       */
      public java.util.List 
           getPropsOrBuilderList() {
        if (propsBuilder_ != null) {
          return propsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(props_);
        }
      }
      /**
       * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
       */
      public com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t.Builder addPropsBuilder() {
        return getPropsFieldBuilder().addBuilder(
            com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t.getDefaultInstance());
      }
      /**
       * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
       */
      public com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t.Builder addPropsBuilder(
          int index) {
        return getPropsFieldBuilder().addBuilder(
            index, com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t.getDefaultInstance());
      }
      /**
       * repeated .CSVCMsg_SendTable.sendprop_t props = 4;
       */
      public java.util.List 
           getPropsBuilderList() {
        return getPropsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t, com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t.Builder, com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_tOrBuilder> 
          getPropsFieldBuilder() {
        if (propsBuilder_ == null) {
          propsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t, com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_t.Builder, com.dota2.proto.Netmessages.CSVCMsg_SendTable.sendprop_tOrBuilder>(
                  props_,
                  ((bitField0_ & 0x00000008) == 0x00000008),
                  getParentForChildren(),
                  isClean());
          props_ = null;
        }
        return propsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CSVCMsg_SendTable)
    }

    static {
      defaultInstance = new CSVCMsg_SendTable(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CSVCMsg_SendTable)
  }

  public interface CSVCMsg_GameEventListOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
    /**
     * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
     */
    java.util.List 
        getDescriptorsList();
    /**
     * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
     */
    com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t getDescriptors(int index);
    /**
     * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
     */
    int getDescriptorsCount();
    /**
     * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
     */
    java.util.List 
        getDescriptorsOrBuilderList();
    /**
     * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
     */
    com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_tOrBuilder getDescriptorsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code CSVCMsg_GameEventList}
   */
  public static final class CSVCMsg_GameEventList extends
      com.google.protobuf.GeneratedMessage
      implements CSVCMsg_GameEventListOrBuilder {
    // Use CSVCMsg_GameEventList.newBuilder() to construct.
    private CSVCMsg_GameEventList(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CSVCMsg_GameEventList(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CSVCMsg_GameEventList defaultInstance;
    public static CSVCMsg_GameEventList getDefaultInstance() {
      return defaultInstance;
    }

    public CSVCMsg_GameEventList getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CSVCMsg_GameEventList(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                descriptors_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              descriptors_.add(input.readMessage(com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          descriptors_ = java.util.Collections.unmodifiableList(descriptors_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_GameEventList_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_GameEventList_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CSVCMsg_GameEventList.class, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CSVCMsg_GameEventList parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CSVCMsg_GameEventList(input, extensionRegistry);
      }
    };

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

    public interface key_tOrBuilder
        extends com.google.protobuf.MessageOrBuilder {

      // optional int32 type = 1;
      /**
       * optional int32 type = 1;
       */
      boolean hasType();
      /**
       * optional int32 type = 1;
       */
      int getType();

      // optional string name = 2;
      /**
       * optional string name = 2;
       */
      boolean hasName();
      /**
       * optional string name = 2;
       */
      java.lang.String getName();
      /**
       * optional string name = 2;
       */
      com.google.protobuf.ByteString
          getNameBytes();
    }
    /**
     * Protobuf type {@code CSVCMsg_GameEventList.key_t}
     */
    public static final class key_t extends
        com.google.protobuf.GeneratedMessage
        implements key_tOrBuilder {
      // Use key_t.newBuilder() to construct.
      private key_t(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private key_t(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final key_t defaultInstance;
      public static key_t getDefaultInstance() {
        return defaultInstance;
      }

      public key_t getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private key_t(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        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;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 8: {
                bitField0_ |= 0x00000001;
                type_ = input.readInt32();
                break;
              }
              case 18: {
                bitField0_ |= 0x00000002;
                name_ = input.readBytes();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_GameEventList_key_t_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_GameEventList_key_t_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t.class, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t.Builder.class);
      }

      public static com.google.protobuf.Parser PARSER =
          new com.google.protobuf.AbstractParser() {
        public key_t parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new key_t(input, extensionRegistry);
        }
      };

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

      private int bitField0_;
      // optional int32 type = 1;
      public static final int TYPE_FIELD_NUMBER = 1;
      private int type_;
      /**
       * optional int32 type = 1;
       */
      public boolean hasType() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 type = 1;
       */
      public int getType() {
        return type_;
      }

      // optional string name = 2;
      public static final int NAME_FIELD_NUMBER = 2;
      private java.lang.Object name_;
      /**
       * optional string name = 2;
       */
      public boolean hasName() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional string name = 2;
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            name_ = s;
          }
          return s;
        }
      }
      /**
       * optional string name = 2;
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      private void initFields() {
        type_ = 0;
        name_ = "";
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeInt32(1, type_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeBytes(2, getNameBytes());
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(1, type_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(2, getNameBytes());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code CSVCMsg_GameEventList.key_t}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder
         implements com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_tOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.dota2.proto.Netmessages.internal_static_CSVCMsg_GameEventList_key_t_descriptor;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.dota2.proto.Netmessages.internal_static_CSVCMsg_GameEventList_key_t_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t.class, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t.Builder.class);
        }

        // Construct using com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          type_ = 0;
          bitField0_ = (bitField0_ & ~0x00000001);
          name_ = "";
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.dota2.proto.Netmessages.internal_static_CSVCMsg_GameEventList_key_t_descriptor;
        }

        public com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t getDefaultInstanceForType() {
          return com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t.getDefaultInstance();
        }

        public com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t build() {
          com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t buildPartial() {
          com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t result = new com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.type_ = type_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.name_ = name_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t) {
            return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t other) {
          if (other == com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t.getDefaultInstance()) return this;
          if (other.hasType()) {
            setType(other.getType());
          }
          if (other.hasName()) {
            bitField0_ |= 0x00000002;
            name_ = other.name_;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        // optional int32 type = 1;
        private int type_ ;
        /**
         * optional int32 type = 1;
         */
        public boolean hasType() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * optional int32 type = 1;
         */
        public int getType() {
          return type_;
        }
        /**
         * optional int32 type = 1;
         */
        public Builder setType(int value) {
          bitField0_ |= 0x00000001;
          type_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 type = 1;
         */
        public Builder clearType() {
          bitField0_ = (bitField0_ & ~0x00000001);
          type_ = 0;
          onChanged();
          return this;
        }

        // optional string name = 2;
        private java.lang.Object name_ = "";
        /**
         * optional string name = 2;
         */
        public boolean hasName() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * optional string name = 2;
         */
        public java.lang.String getName() {
          java.lang.Object ref = name_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            name_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * optional string name = 2;
         */
        public com.google.protobuf.ByteString
            getNameBytes() {
          java.lang.Object ref = name_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            name_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * optional string name = 2;
         */
        public Builder setName(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
          name_ = value;
          onChanged();
          return this;
        }
        /**
         * optional string name = 2;
         */
        public Builder clearName() {
          bitField0_ = (bitField0_ & ~0x00000002);
          name_ = getDefaultInstance().getName();
          onChanged();
          return this;
        }
        /**
         * optional string name = 2;
         */
        public Builder setNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
          name_ = value;
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:CSVCMsg_GameEventList.key_t)
      }

      static {
        defaultInstance = new key_t(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:CSVCMsg_GameEventList.key_t)
    }

    public interface descriptor_tOrBuilder
        extends com.google.protobuf.MessageOrBuilder {

      // optional int32 eventid = 1;
      /**
       * optional int32 eventid = 1;
       */
      boolean hasEventid();
      /**
       * optional int32 eventid = 1;
       */
      int getEventid();

      // optional string name = 2;
      /**
       * optional string name = 2;
       */
      boolean hasName();
      /**
       * optional string name = 2;
       */
      java.lang.String getName();
      /**
       * optional string name = 2;
       */
      com.google.protobuf.ByteString
          getNameBytes();

      // repeated .CSVCMsg_GameEventList.key_t keys = 3;
      /**
       * repeated .CSVCMsg_GameEventList.key_t keys = 3;
       */
      java.util.List 
          getKeysList();
      /**
       * repeated .CSVCMsg_GameEventList.key_t keys = 3;
       */
      com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t getKeys(int index);
      /**
       * repeated .CSVCMsg_GameEventList.key_t keys = 3;
       */
      int getKeysCount();
      /**
       * repeated .CSVCMsg_GameEventList.key_t keys = 3;
       */
      java.util.List 
          getKeysOrBuilderList();
      /**
       * repeated .CSVCMsg_GameEventList.key_t keys = 3;
       */
      com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_tOrBuilder getKeysOrBuilder(
          int index);
    }
    /**
     * Protobuf type {@code CSVCMsg_GameEventList.descriptor_t}
     */
    public static final class descriptor_t extends
        com.google.protobuf.GeneratedMessage
        implements descriptor_tOrBuilder {
      // Use descriptor_t.newBuilder() to construct.
      private descriptor_t(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private descriptor_t(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final descriptor_t defaultInstance;
      public static descriptor_t getDefaultInstance() {
        return defaultInstance;
      }

      public descriptor_t getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private descriptor_t(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        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;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 8: {
                bitField0_ |= 0x00000001;
                eventid_ = input.readInt32();
                break;
              }
              case 18: {
                bitField0_ |= 0x00000002;
                name_ = input.readBytes();
                break;
              }
              case 26: {
                if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                  keys_ = new java.util.ArrayList();
                  mutable_bitField0_ |= 0x00000004;
                }
                keys_.add(input.readMessage(com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t.PARSER, extensionRegistry));
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
            keys_ = java.util.Collections.unmodifiableList(keys_);
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_GameEventList_descriptor_t_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_GameEventList_descriptor_t_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t.class, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t.Builder.class);
      }

      public static com.google.protobuf.Parser PARSER =
          new com.google.protobuf.AbstractParser() {
        public descriptor_t parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new descriptor_t(input, extensionRegistry);
        }
      };

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

      private int bitField0_;
      // optional int32 eventid = 1;
      public static final int EVENTID_FIELD_NUMBER = 1;
      private int eventid_;
      /**
       * optional int32 eventid = 1;
       */
      public boolean hasEventid() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 eventid = 1;
       */
      public int getEventid() {
        return eventid_;
      }

      // optional string name = 2;
      public static final int NAME_FIELD_NUMBER = 2;
      private java.lang.Object name_;
      /**
       * optional string name = 2;
       */
      public boolean hasName() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional string name = 2;
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            name_ = s;
          }
          return s;
        }
      }
      /**
       * optional string name = 2;
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      // repeated .CSVCMsg_GameEventList.key_t keys = 3;
      public static final int KEYS_FIELD_NUMBER = 3;
      private java.util.List keys_;
      /**
       * repeated .CSVCMsg_GameEventList.key_t keys = 3;
       */
      public java.util.List getKeysList() {
        return keys_;
      }
      /**
       * repeated .CSVCMsg_GameEventList.key_t keys = 3;
       */
      public java.util.List 
          getKeysOrBuilderList() {
        return keys_;
      }
      /**
       * repeated .CSVCMsg_GameEventList.key_t keys = 3;
       */
      public int getKeysCount() {
        return keys_.size();
      }
      /**
       * repeated .CSVCMsg_GameEventList.key_t keys = 3;
       */
      public com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t getKeys(int index) {
        return keys_.get(index);
      }
      /**
       * repeated .CSVCMsg_GameEventList.key_t keys = 3;
       */
      public com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_tOrBuilder getKeysOrBuilder(
          int index) {
        return keys_.get(index);
      }

      private void initFields() {
        eventid_ = 0;
        name_ = "";
        keys_ = java.util.Collections.emptyList();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeInt32(1, eventid_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeBytes(2, getNameBytes());
        }
        for (int i = 0; i < keys_.size(); i++) {
          output.writeMessage(3, keys_.get(i));
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(1, eventid_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(2, getNameBytes());
        }
        for (int i = 0; i < keys_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, keys_.get(i));
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code CSVCMsg_GameEventList.descriptor_t}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder
         implements com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_tOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.dota2.proto.Netmessages.internal_static_CSVCMsg_GameEventList_descriptor_t_descriptor;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.dota2.proto.Netmessages.internal_static_CSVCMsg_GameEventList_descriptor_t_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t.class, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t.Builder.class);
        }

        // Construct using com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getKeysFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          eventid_ = 0;
          bitField0_ = (bitField0_ & ~0x00000001);
          name_ = "";
          bitField0_ = (bitField0_ & ~0x00000002);
          if (keysBuilder_ == null) {
            keys_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            keysBuilder_.clear();
          }
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.dota2.proto.Netmessages.internal_static_CSVCMsg_GameEventList_descriptor_t_descriptor;
        }

        public com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t getDefaultInstanceForType() {
          return com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t.getDefaultInstance();
        }

        public com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t build() {
          com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t buildPartial() {
          com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t result = new com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.eventid_ = eventid_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.name_ = name_;
          if (keysBuilder_ == null) {
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              keys_ = java.util.Collections.unmodifiableList(keys_);
              bitField0_ = (bitField0_ & ~0x00000004);
            }
            result.keys_ = keys_;
          } else {
            result.keys_ = keysBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t) {
            return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t other) {
          if (other == com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t.getDefaultInstance()) return this;
          if (other.hasEventid()) {
            setEventid(other.getEventid());
          }
          if (other.hasName()) {
            bitField0_ |= 0x00000002;
            name_ = other.name_;
            onChanged();
          }
          if (keysBuilder_ == null) {
            if (!other.keys_.isEmpty()) {
              if (keys_.isEmpty()) {
                keys_ = other.keys_;
                bitField0_ = (bitField0_ & ~0x00000004);
              } else {
                ensureKeysIsMutable();
                keys_.addAll(other.keys_);
              }
              onChanged();
            }
          } else {
            if (!other.keys_.isEmpty()) {
              if (keysBuilder_.isEmpty()) {
                keysBuilder_.dispose();
                keysBuilder_ = null;
                keys_ = other.keys_;
                bitField0_ = (bitField0_ & ~0x00000004);
                keysBuilder_ = 
                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                     getKeysFieldBuilder() : null;
              } else {
                keysBuilder_.addAllMessages(other.keys_);
              }
            }
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        // optional int32 eventid = 1;
        private int eventid_ ;
        /**
         * optional int32 eventid = 1;
         */
        public boolean hasEventid() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * optional int32 eventid = 1;
         */
        public int getEventid() {
          return eventid_;
        }
        /**
         * optional int32 eventid = 1;
         */
        public Builder setEventid(int value) {
          bitField0_ |= 0x00000001;
          eventid_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 eventid = 1;
         */
        public Builder clearEventid() {
          bitField0_ = (bitField0_ & ~0x00000001);
          eventid_ = 0;
          onChanged();
          return this;
        }

        // optional string name = 2;
        private java.lang.Object name_ = "";
        /**
         * optional string name = 2;
         */
        public boolean hasName() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * optional string name = 2;
         */
        public java.lang.String getName() {
          java.lang.Object ref = name_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            name_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * optional string name = 2;
         */
        public com.google.protobuf.ByteString
            getNameBytes() {
          java.lang.Object ref = name_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            name_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * optional string name = 2;
         */
        public Builder setName(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
          name_ = value;
          onChanged();
          return this;
        }
        /**
         * optional string name = 2;
         */
        public Builder clearName() {
          bitField0_ = (bitField0_ & ~0x00000002);
          name_ = getDefaultInstance().getName();
          onChanged();
          return this;
        }
        /**
         * optional string name = 2;
         */
        public Builder setNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
          name_ = value;
          onChanged();
          return this;
        }

        // repeated .CSVCMsg_GameEventList.key_t keys = 3;
        private java.util.List keys_ =
          java.util.Collections.emptyList();
        private void ensureKeysIsMutable() {
          if (!((bitField0_ & 0x00000004) == 0x00000004)) {
            keys_ = new java.util.ArrayList(keys_);
            bitField0_ |= 0x00000004;
           }
        }

        private com.google.protobuf.RepeatedFieldBuilder<
            com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t.Builder, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_tOrBuilder> keysBuilder_;

        /**
         * repeated .CSVCMsg_GameEventList.key_t keys = 3;
         */
        public java.util.List getKeysList() {
          if (keysBuilder_ == null) {
            return java.util.Collections.unmodifiableList(keys_);
          } else {
            return keysBuilder_.getMessageList();
          }
        }
        /**
         * repeated .CSVCMsg_GameEventList.key_t keys = 3;
         */
        public int getKeysCount() {
          if (keysBuilder_ == null) {
            return keys_.size();
          } else {
            return keysBuilder_.getCount();
          }
        }
        /**
         * repeated .CSVCMsg_GameEventList.key_t keys = 3;
         */
        public com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t getKeys(int index) {
          if (keysBuilder_ == null) {
            return keys_.get(index);
          } else {
            return keysBuilder_.getMessage(index);
          }
        }
        /**
         * repeated .CSVCMsg_GameEventList.key_t keys = 3;
         */
        public Builder setKeys(
            int index, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t value) {
          if (keysBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureKeysIsMutable();
            keys_.set(index, value);
            onChanged();
          } else {
            keysBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * repeated .CSVCMsg_GameEventList.key_t keys = 3;
         */
        public Builder setKeys(
            int index, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t.Builder builderForValue) {
          if (keysBuilder_ == null) {
            ensureKeysIsMutable();
            keys_.set(index, builderForValue.build());
            onChanged();
          } else {
            keysBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * repeated .CSVCMsg_GameEventList.key_t keys = 3;
         */
        public Builder addKeys(com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t value) {
          if (keysBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureKeysIsMutable();
            keys_.add(value);
            onChanged();
          } else {
            keysBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * repeated .CSVCMsg_GameEventList.key_t keys = 3;
         */
        public Builder addKeys(
            int index, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t value) {
          if (keysBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureKeysIsMutable();
            keys_.add(index, value);
            onChanged();
          } else {
            keysBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * repeated .CSVCMsg_GameEventList.key_t keys = 3;
         */
        public Builder addKeys(
            com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t.Builder builderForValue) {
          if (keysBuilder_ == null) {
            ensureKeysIsMutable();
            keys_.add(builderForValue.build());
            onChanged();
          } else {
            keysBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * repeated .CSVCMsg_GameEventList.key_t keys = 3;
         */
        public Builder addKeys(
            int index, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t.Builder builderForValue) {
          if (keysBuilder_ == null) {
            ensureKeysIsMutable();
            keys_.add(index, builderForValue.build());
            onChanged();
          } else {
            keysBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * repeated .CSVCMsg_GameEventList.key_t keys = 3;
         */
        public Builder addAllKeys(
            java.lang.Iterable values) {
          if (keysBuilder_ == null) {
            ensureKeysIsMutable();
            super.addAll(values, keys_);
            onChanged();
          } else {
            keysBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * repeated .CSVCMsg_GameEventList.key_t keys = 3;
         */
        public Builder clearKeys() {
          if (keysBuilder_ == null) {
            keys_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
            onChanged();
          } else {
            keysBuilder_.clear();
          }
          return this;
        }
        /**
         * repeated .CSVCMsg_GameEventList.key_t keys = 3;
         */
        public Builder removeKeys(int index) {
          if (keysBuilder_ == null) {
            ensureKeysIsMutable();
            keys_.remove(index);
            onChanged();
          } else {
            keysBuilder_.remove(index);
          }
          return this;
        }
        /**
         * repeated .CSVCMsg_GameEventList.key_t keys = 3;
         */
        public com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t.Builder getKeysBuilder(
            int index) {
          return getKeysFieldBuilder().getBuilder(index);
        }
        /**
         * repeated .CSVCMsg_GameEventList.key_t keys = 3;
         */
        public com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_tOrBuilder getKeysOrBuilder(
            int index) {
          if (keysBuilder_ == null) {
            return keys_.get(index);  } else {
            return keysBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * repeated .CSVCMsg_GameEventList.key_t keys = 3;
         */
        public java.util.List 
             getKeysOrBuilderList() {
          if (keysBuilder_ != null) {
            return keysBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(keys_);
          }
        }
        /**
         * repeated .CSVCMsg_GameEventList.key_t keys = 3;
         */
        public com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t.Builder addKeysBuilder() {
          return getKeysFieldBuilder().addBuilder(
              com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t.getDefaultInstance());
        }
        /**
         * repeated .CSVCMsg_GameEventList.key_t keys = 3;
         */
        public com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t.Builder addKeysBuilder(
            int index) {
          return getKeysFieldBuilder().addBuilder(
              index, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t.getDefaultInstance());
        }
        /**
         * repeated .CSVCMsg_GameEventList.key_t keys = 3;
         */
        public java.util.List 
             getKeysBuilderList() {
          return getKeysFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilder<
            com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t.Builder, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_tOrBuilder> 
            getKeysFieldBuilder() {
          if (keysBuilder_ == null) {
            keysBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_t.Builder, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.key_tOrBuilder>(
                    keys_,
                    ((bitField0_ & 0x00000004) == 0x00000004),
                    getParentForChildren(),
                    isClean());
            keys_ = null;
          }
          return keysBuilder_;
        }

        // @@protoc_insertion_point(builder_scope:CSVCMsg_GameEventList.descriptor_t)
      }

      static {
        defaultInstance = new descriptor_t(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:CSVCMsg_GameEventList.descriptor_t)
    }

    // repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
    public static final int DESCRIPTORS_FIELD_NUMBER = 1;
    private java.util.List descriptors_;
    /**
     * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
     */
    public java.util.List getDescriptorsList() {
      return descriptors_;
    }
    /**
     * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
     */
    public java.util.List 
        getDescriptorsOrBuilderList() {
      return descriptors_;
    }
    /**
     * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
     */
    public int getDescriptorsCount() {
      return descriptors_.size();
    }
    /**
     * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
     */
    public com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t getDescriptors(int index) {
      return descriptors_.get(index);
    }
    /**
     * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
     */
    public com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_tOrBuilder getDescriptorsOrBuilder(
        int index) {
      return descriptors_.get(index);
    }

    private void initFields() {
      descriptors_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < descriptors_.size(); i++) {
        output.writeMessage(1, descriptors_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < descriptors_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, descriptors_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_GameEventList parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_GameEventList prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSVCMsg_GameEventList}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CSVCMsg_GameEventListOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_GameEventList_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_GameEventList_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_GameEventList.class, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CSVCMsg_GameEventList.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getDescriptorsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (descriptorsBuilder_ == null) {
          descriptors_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          descriptorsBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_GameEventList_descriptor;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_GameEventList getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CSVCMsg_GameEventList.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CSVCMsg_GameEventList build() {
        com.dota2.proto.Netmessages.CSVCMsg_GameEventList result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_GameEventList buildPartial() {
        com.dota2.proto.Netmessages.CSVCMsg_GameEventList result = new com.dota2.proto.Netmessages.CSVCMsg_GameEventList(this);
        int from_bitField0_ = bitField0_;
        if (descriptorsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            descriptors_ = java.util.Collections.unmodifiableList(descriptors_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.descriptors_ = descriptors_;
        } else {
          result.descriptors_ = descriptorsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_GameEventList) {
          return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_GameEventList)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_GameEventList other) {
        if (other == com.dota2.proto.Netmessages.CSVCMsg_GameEventList.getDefaultInstance()) return this;
        if (descriptorsBuilder_ == null) {
          if (!other.descriptors_.isEmpty()) {
            if (descriptors_.isEmpty()) {
              descriptors_ = other.descriptors_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureDescriptorsIsMutable();
              descriptors_.addAll(other.descriptors_);
            }
            onChanged();
          }
        } else {
          if (!other.descriptors_.isEmpty()) {
            if (descriptorsBuilder_.isEmpty()) {
              descriptorsBuilder_.dispose();
              descriptorsBuilder_ = null;
              descriptors_ = other.descriptors_;
              bitField0_ = (bitField0_ & ~0x00000001);
              descriptorsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getDescriptorsFieldBuilder() : null;
            } else {
              descriptorsBuilder_.addAllMessages(other.descriptors_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CSVCMsg_GameEventList parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_GameEventList) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
      private java.util.List descriptors_ =
        java.util.Collections.emptyList();
      private void ensureDescriptorsIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          descriptors_ = new java.util.ArrayList(descriptors_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t.Builder, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_tOrBuilder> descriptorsBuilder_;

      /**
       * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
       */
      public java.util.List getDescriptorsList() {
        if (descriptorsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(descriptors_);
        } else {
          return descriptorsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
       */
      public int getDescriptorsCount() {
        if (descriptorsBuilder_ == null) {
          return descriptors_.size();
        } else {
          return descriptorsBuilder_.getCount();
        }
      }
      /**
       * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
       */
      public com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t getDescriptors(int index) {
        if (descriptorsBuilder_ == null) {
          return descriptors_.get(index);
        } else {
          return descriptorsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
       */
      public Builder setDescriptors(
          int index, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t value) {
        if (descriptorsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDescriptorsIsMutable();
          descriptors_.set(index, value);
          onChanged();
        } else {
          descriptorsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
       */
      public Builder setDescriptors(
          int index, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t.Builder builderForValue) {
        if (descriptorsBuilder_ == null) {
          ensureDescriptorsIsMutable();
          descriptors_.set(index, builderForValue.build());
          onChanged();
        } else {
          descriptorsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
       */
      public Builder addDescriptors(com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t value) {
        if (descriptorsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDescriptorsIsMutable();
          descriptors_.add(value);
          onChanged();
        } else {
          descriptorsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
       */
      public Builder addDescriptors(
          int index, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t value) {
        if (descriptorsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDescriptorsIsMutable();
          descriptors_.add(index, value);
          onChanged();
        } else {
          descriptorsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
       */
      public Builder addDescriptors(
          com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t.Builder builderForValue) {
        if (descriptorsBuilder_ == null) {
          ensureDescriptorsIsMutable();
          descriptors_.add(builderForValue.build());
          onChanged();
        } else {
          descriptorsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
       */
      public Builder addDescriptors(
          int index, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t.Builder builderForValue) {
        if (descriptorsBuilder_ == null) {
          ensureDescriptorsIsMutable();
          descriptors_.add(index, builderForValue.build());
          onChanged();
        } else {
          descriptorsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
       */
      public Builder addAllDescriptors(
          java.lang.Iterable values) {
        if (descriptorsBuilder_ == null) {
          ensureDescriptorsIsMutable();
          super.addAll(values, descriptors_);
          onChanged();
        } else {
          descriptorsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
       */
      public Builder clearDescriptors() {
        if (descriptorsBuilder_ == null) {
          descriptors_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          descriptorsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
       */
      public Builder removeDescriptors(int index) {
        if (descriptorsBuilder_ == null) {
          ensureDescriptorsIsMutable();
          descriptors_.remove(index);
          onChanged();
        } else {
          descriptorsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
       */
      public com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t.Builder getDescriptorsBuilder(
          int index) {
        return getDescriptorsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
       */
      public com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_tOrBuilder getDescriptorsOrBuilder(
          int index) {
        if (descriptorsBuilder_ == null) {
          return descriptors_.get(index);  } else {
          return descriptorsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
       */
      public java.util.List 
           getDescriptorsOrBuilderList() {
        if (descriptorsBuilder_ != null) {
          return descriptorsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(descriptors_);
        }
      }
      /**
       * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
       */
      public com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t.Builder addDescriptorsBuilder() {
        return getDescriptorsFieldBuilder().addBuilder(
            com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t.getDefaultInstance());
      }
      /**
       * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
       */
      public com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t.Builder addDescriptorsBuilder(
          int index) {
        return getDescriptorsFieldBuilder().addBuilder(
            index, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t.getDefaultInstance());
      }
      /**
       * repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
       */
      public java.util.List 
           getDescriptorsBuilderList() {
        return getDescriptorsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t.Builder, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_tOrBuilder> 
          getDescriptorsFieldBuilder() {
        if (descriptorsBuilder_ == null) {
          descriptorsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_t.Builder, com.dota2.proto.Netmessages.CSVCMsg_GameEventList.descriptor_tOrBuilder>(
                  descriptors_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          descriptors_ = null;
        }
        return descriptorsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CSVCMsg_GameEventList)
    }

    static {
      defaultInstance = new CSVCMsg_GameEventList(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CSVCMsg_GameEventList)
  }

  public interface CSVCMsg_PacketEntitiesOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 max_entries = 1;
    /**
     * optional int32 max_entries = 1;
     */
    boolean hasMaxEntries();
    /**
     * optional int32 max_entries = 1;
     */
    int getMaxEntries();

    // optional int32 updated_entries = 2;
    /**
     * optional int32 updated_entries = 2;
     */
    boolean hasUpdatedEntries();
    /**
     * optional int32 updated_entries = 2;
     */
    int getUpdatedEntries();

    // optional bool is_delta = 3;
    /**
     * optional bool is_delta = 3;
     */
    boolean hasIsDelta();
    /**
     * optional bool is_delta = 3;
     */
    boolean getIsDelta();

    // optional bool update_baseline = 4;
    /**
     * optional bool update_baseline = 4;
     */
    boolean hasUpdateBaseline();
    /**
     * optional bool update_baseline = 4;
     */
    boolean getUpdateBaseline();

    // optional int32 baseline = 5;
    /**
     * optional int32 baseline = 5;
     */
    boolean hasBaseline();
    /**
     * optional int32 baseline = 5;
     */
    int getBaseline();

    // optional int32 delta_from = 6;
    /**
     * optional int32 delta_from = 6;
     */
    boolean hasDeltaFrom();
    /**
     * optional int32 delta_from = 6;
     */
    int getDeltaFrom();

    // optional bytes entity_data = 7;
    /**
     * optional bytes entity_data = 7;
     */
    boolean hasEntityData();
    /**
     * optional bytes entity_data = 7;
     */
    com.google.protobuf.ByteString getEntityData();

    // optional bool pending_full_frame = 8;
    /**
     * optional bool pending_full_frame = 8;
     */
    boolean hasPendingFullFrame();
    /**
     * optional bool pending_full_frame = 8;
     */
    boolean getPendingFullFrame();
  }
  /**
   * Protobuf type {@code CSVCMsg_PacketEntities}
   */
  public static final class CSVCMsg_PacketEntities extends
      com.google.protobuf.GeneratedMessage
      implements CSVCMsg_PacketEntitiesOrBuilder {
    // Use CSVCMsg_PacketEntities.newBuilder() to construct.
    private CSVCMsg_PacketEntities(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CSVCMsg_PacketEntities(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CSVCMsg_PacketEntities defaultInstance;
    public static CSVCMsg_PacketEntities getDefaultInstance() {
      return defaultInstance;
    }

    public CSVCMsg_PacketEntities getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CSVCMsg_PacketEntities(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              maxEntries_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              updatedEntries_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              isDelta_ = input.readBool();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              updateBaseline_ = input.readBool();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              baseline_ = input.readInt32();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              deltaFrom_ = input.readInt32();
              break;
            }
            case 58: {
              bitField0_ |= 0x00000040;
              entityData_ = input.readBytes();
              break;
            }
            case 64: {
              bitField0_ |= 0x00000080;
              pendingFullFrame_ = input.readBool();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_PacketEntities_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_PacketEntities_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CSVCMsg_PacketEntities.class, com.dota2.proto.Netmessages.CSVCMsg_PacketEntities.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CSVCMsg_PacketEntities parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CSVCMsg_PacketEntities(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional int32 max_entries = 1;
    public static final int MAX_ENTRIES_FIELD_NUMBER = 1;
    private int maxEntries_;
    /**
     * optional int32 max_entries = 1;
     */
    public boolean hasMaxEntries() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 max_entries = 1;
     */
    public int getMaxEntries() {
      return maxEntries_;
    }

    // optional int32 updated_entries = 2;
    public static final int UPDATED_ENTRIES_FIELD_NUMBER = 2;
    private int updatedEntries_;
    /**
     * optional int32 updated_entries = 2;
     */
    public boolean hasUpdatedEntries() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 updated_entries = 2;
     */
    public int getUpdatedEntries() {
      return updatedEntries_;
    }

    // optional bool is_delta = 3;
    public static final int IS_DELTA_FIELD_NUMBER = 3;
    private boolean isDelta_;
    /**
     * optional bool is_delta = 3;
     */
    public boolean hasIsDelta() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional bool is_delta = 3;
     */
    public boolean getIsDelta() {
      return isDelta_;
    }

    // optional bool update_baseline = 4;
    public static final int UPDATE_BASELINE_FIELD_NUMBER = 4;
    private boolean updateBaseline_;
    /**
     * optional bool update_baseline = 4;
     */
    public boolean hasUpdateBaseline() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional bool update_baseline = 4;
     */
    public boolean getUpdateBaseline() {
      return updateBaseline_;
    }

    // optional int32 baseline = 5;
    public static final int BASELINE_FIELD_NUMBER = 5;
    private int baseline_;
    /**
     * optional int32 baseline = 5;
     */
    public boolean hasBaseline() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional int32 baseline = 5;
     */
    public int getBaseline() {
      return baseline_;
    }

    // optional int32 delta_from = 6;
    public static final int DELTA_FROM_FIELD_NUMBER = 6;
    private int deltaFrom_;
    /**
     * optional int32 delta_from = 6;
     */
    public boolean hasDeltaFrom() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional int32 delta_from = 6;
     */
    public int getDeltaFrom() {
      return deltaFrom_;
    }

    // optional bytes entity_data = 7;
    public static final int ENTITY_DATA_FIELD_NUMBER = 7;
    private com.google.protobuf.ByteString entityData_;
    /**
     * optional bytes entity_data = 7;
     */
    public boolean hasEntityData() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * optional bytes entity_data = 7;
     */
    public com.google.protobuf.ByteString getEntityData() {
      return entityData_;
    }

    // optional bool pending_full_frame = 8;
    public static final int PENDING_FULL_FRAME_FIELD_NUMBER = 8;
    private boolean pendingFullFrame_;
    /**
     * optional bool pending_full_frame = 8;
     */
    public boolean hasPendingFullFrame() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * optional bool pending_full_frame = 8;
     */
    public boolean getPendingFullFrame() {
      return pendingFullFrame_;
    }

    private void initFields() {
      maxEntries_ = 0;
      updatedEntries_ = 0;
      isDelta_ = false;
      updateBaseline_ = false;
      baseline_ = 0;
      deltaFrom_ = 0;
      entityData_ = com.google.protobuf.ByteString.EMPTY;
      pendingFullFrame_ = false;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, maxEntries_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, updatedEntries_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBool(3, isDelta_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBool(4, updateBaseline_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeInt32(5, baseline_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeInt32(6, deltaFrom_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeBytes(7, entityData_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeBool(8, pendingFullFrame_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, maxEntries_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, updatedEntries_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, isDelta_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(4, updateBaseline_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, baseline_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, deltaFrom_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(7, entityData_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(8, pendingFullFrame_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CSVCMsg_PacketEntities parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_PacketEntities parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_PacketEntities parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_PacketEntities parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_PacketEntities parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_PacketEntities parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_PacketEntities parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_PacketEntities parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_PacketEntities parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_PacketEntities parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_PacketEntities prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSVCMsg_PacketEntities}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CSVCMsg_PacketEntitiesOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_PacketEntities_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_PacketEntities_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_PacketEntities.class, com.dota2.proto.Netmessages.CSVCMsg_PacketEntities.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CSVCMsg_PacketEntities.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        maxEntries_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        updatedEntries_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        isDelta_ = false;
        bitField0_ = (bitField0_ & ~0x00000004);
        updateBaseline_ = false;
        bitField0_ = (bitField0_ & ~0x00000008);
        baseline_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        deltaFrom_ = 0;
        bitField0_ = (bitField0_ & ~0x00000020);
        entityData_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000040);
        pendingFullFrame_ = false;
        bitField0_ = (bitField0_ & ~0x00000080);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_PacketEntities_descriptor;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_PacketEntities getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CSVCMsg_PacketEntities.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CSVCMsg_PacketEntities build() {
        com.dota2.proto.Netmessages.CSVCMsg_PacketEntities result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_PacketEntities buildPartial() {
        com.dota2.proto.Netmessages.CSVCMsg_PacketEntities result = new com.dota2.proto.Netmessages.CSVCMsg_PacketEntities(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.maxEntries_ = maxEntries_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.updatedEntries_ = updatedEntries_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.isDelta_ = isDelta_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.updateBaseline_ = updateBaseline_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.baseline_ = baseline_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.deltaFrom_ = deltaFrom_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.entityData_ = entityData_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        result.pendingFullFrame_ = pendingFullFrame_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_PacketEntities) {
          return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_PacketEntities)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_PacketEntities other) {
        if (other == com.dota2.proto.Netmessages.CSVCMsg_PacketEntities.getDefaultInstance()) return this;
        if (other.hasMaxEntries()) {
          setMaxEntries(other.getMaxEntries());
        }
        if (other.hasUpdatedEntries()) {
          setUpdatedEntries(other.getUpdatedEntries());
        }
        if (other.hasIsDelta()) {
          setIsDelta(other.getIsDelta());
        }
        if (other.hasUpdateBaseline()) {
          setUpdateBaseline(other.getUpdateBaseline());
        }
        if (other.hasBaseline()) {
          setBaseline(other.getBaseline());
        }
        if (other.hasDeltaFrom()) {
          setDeltaFrom(other.getDeltaFrom());
        }
        if (other.hasEntityData()) {
          setEntityData(other.getEntityData());
        }
        if (other.hasPendingFullFrame()) {
          setPendingFullFrame(other.getPendingFullFrame());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CSVCMsg_PacketEntities parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_PacketEntities) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 max_entries = 1;
      private int maxEntries_ ;
      /**
       * optional int32 max_entries = 1;
       */
      public boolean hasMaxEntries() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 max_entries = 1;
       */
      public int getMaxEntries() {
        return maxEntries_;
      }
      /**
       * optional int32 max_entries = 1;
       */
      public Builder setMaxEntries(int value) {
        bitField0_ |= 0x00000001;
        maxEntries_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 max_entries = 1;
       */
      public Builder clearMaxEntries() {
        bitField0_ = (bitField0_ & ~0x00000001);
        maxEntries_ = 0;
        onChanged();
        return this;
      }

      // optional int32 updated_entries = 2;
      private int updatedEntries_ ;
      /**
       * optional int32 updated_entries = 2;
       */
      public boolean hasUpdatedEntries() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 updated_entries = 2;
       */
      public int getUpdatedEntries() {
        return updatedEntries_;
      }
      /**
       * optional int32 updated_entries = 2;
       */
      public Builder setUpdatedEntries(int value) {
        bitField0_ |= 0x00000002;
        updatedEntries_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 updated_entries = 2;
       */
      public Builder clearUpdatedEntries() {
        bitField0_ = (bitField0_ & ~0x00000002);
        updatedEntries_ = 0;
        onChanged();
        return this;
      }

      // optional bool is_delta = 3;
      private boolean isDelta_ ;
      /**
       * optional bool is_delta = 3;
       */
      public boolean hasIsDelta() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional bool is_delta = 3;
       */
      public boolean getIsDelta() {
        return isDelta_;
      }
      /**
       * optional bool is_delta = 3;
       */
      public Builder setIsDelta(boolean value) {
        bitField0_ |= 0x00000004;
        isDelta_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool is_delta = 3;
       */
      public Builder clearIsDelta() {
        bitField0_ = (bitField0_ & ~0x00000004);
        isDelta_ = false;
        onChanged();
        return this;
      }

      // optional bool update_baseline = 4;
      private boolean updateBaseline_ ;
      /**
       * optional bool update_baseline = 4;
       */
      public boolean hasUpdateBaseline() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional bool update_baseline = 4;
       */
      public boolean getUpdateBaseline() {
        return updateBaseline_;
      }
      /**
       * optional bool update_baseline = 4;
       */
      public Builder setUpdateBaseline(boolean value) {
        bitField0_ |= 0x00000008;
        updateBaseline_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool update_baseline = 4;
       */
      public Builder clearUpdateBaseline() {
        bitField0_ = (bitField0_ & ~0x00000008);
        updateBaseline_ = false;
        onChanged();
        return this;
      }

      // optional int32 baseline = 5;
      private int baseline_ ;
      /**
       * optional int32 baseline = 5;
       */
      public boolean hasBaseline() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional int32 baseline = 5;
       */
      public int getBaseline() {
        return baseline_;
      }
      /**
       * optional int32 baseline = 5;
       */
      public Builder setBaseline(int value) {
        bitField0_ |= 0x00000010;
        baseline_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 baseline = 5;
       */
      public Builder clearBaseline() {
        bitField0_ = (bitField0_ & ~0x00000010);
        baseline_ = 0;
        onChanged();
        return this;
      }

      // optional int32 delta_from = 6;
      private int deltaFrom_ ;
      /**
       * optional int32 delta_from = 6;
       */
      public boolean hasDeltaFrom() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional int32 delta_from = 6;
       */
      public int getDeltaFrom() {
        return deltaFrom_;
      }
      /**
       * optional int32 delta_from = 6;
       */
      public Builder setDeltaFrom(int value) {
        bitField0_ |= 0x00000020;
        deltaFrom_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 delta_from = 6;
       */
      public Builder clearDeltaFrom() {
        bitField0_ = (bitField0_ & ~0x00000020);
        deltaFrom_ = 0;
        onChanged();
        return this;
      }

      // optional bytes entity_data = 7;
      private com.google.protobuf.ByteString entityData_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes entity_data = 7;
       */
      public boolean hasEntityData() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * optional bytes entity_data = 7;
       */
      public com.google.protobuf.ByteString getEntityData() {
        return entityData_;
      }
      /**
       * optional bytes entity_data = 7;
       */
      public Builder setEntityData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000040;
        entityData_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes entity_data = 7;
       */
      public Builder clearEntityData() {
        bitField0_ = (bitField0_ & ~0x00000040);
        entityData_ = getDefaultInstance().getEntityData();
        onChanged();
        return this;
      }

      // optional bool pending_full_frame = 8;
      private boolean pendingFullFrame_ ;
      /**
       * optional bool pending_full_frame = 8;
       */
      public boolean hasPendingFullFrame() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * optional bool pending_full_frame = 8;
       */
      public boolean getPendingFullFrame() {
        return pendingFullFrame_;
      }
      /**
       * optional bool pending_full_frame = 8;
       */
      public Builder setPendingFullFrame(boolean value) {
        bitField0_ |= 0x00000080;
        pendingFullFrame_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool pending_full_frame = 8;
       */
      public Builder clearPendingFullFrame() {
        bitField0_ = (bitField0_ & ~0x00000080);
        pendingFullFrame_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSVCMsg_PacketEntities)
    }

    static {
      defaultInstance = new CSVCMsg_PacketEntities(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CSVCMsg_PacketEntities)
  }

  public interface CSVCMsg_TempEntitiesOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional bool reliable = 1;
    /**
     * optional bool reliable = 1;
     */
    boolean hasReliable();
    /**
     * optional bool reliable = 1;
     */
    boolean getReliable();

    // optional int32 num_entries = 2;
    /**
     * optional int32 num_entries = 2;
     */
    boolean hasNumEntries();
    /**
     * optional int32 num_entries = 2;
     */
    int getNumEntries();

    // optional bytes entity_data = 3;
    /**
     * optional bytes entity_data = 3;
     */
    boolean hasEntityData();
    /**
     * optional bytes entity_data = 3;
     */
    com.google.protobuf.ByteString getEntityData();
  }
  /**
   * Protobuf type {@code CSVCMsg_TempEntities}
   */
  public static final class CSVCMsg_TempEntities extends
      com.google.protobuf.GeneratedMessage
      implements CSVCMsg_TempEntitiesOrBuilder {
    // Use CSVCMsg_TempEntities.newBuilder() to construct.
    private CSVCMsg_TempEntities(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CSVCMsg_TempEntities(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CSVCMsg_TempEntities defaultInstance;
    public static CSVCMsg_TempEntities getDefaultInstance() {
      return defaultInstance;
    }

    public CSVCMsg_TempEntities getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CSVCMsg_TempEntities(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              reliable_ = input.readBool();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              numEntries_ = input.readInt32();
              break;
            }
            case 26: {
              bitField0_ |= 0x00000004;
              entityData_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_TempEntities_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_TempEntities_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CSVCMsg_TempEntities.class, com.dota2.proto.Netmessages.CSVCMsg_TempEntities.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CSVCMsg_TempEntities parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CSVCMsg_TempEntities(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional bool reliable = 1;
    public static final int RELIABLE_FIELD_NUMBER = 1;
    private boolean reliable_;
    /**
     * optional bool reliable = 1;
     */
    public boolean hasReliable() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional bool reliable = 1;
     */
    public boolean getReliable() {
      return reliable_;
    }

    // optional int32 num_entries = 2;
    public static final int NUM_ENTRIES_FIELD_NUMBER = 2;
    private int numEntries_;
    /**
     * optional int32 num_entries = 2;
     */
    public boolean hasNumEntries() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 num_entries = 2;
     */
    public int getNumEntries() {
      return numEntries_;
    }

    // optional bytes entity_data = 3;
    public static final int ENTITY_DATA_FIELD_NUMBER = 3;
    private com.google.protobuf.ByteString entityData_;
    /**
     * optional bytes entity_data = 3;
     */
    public boolean hasEntityData() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional bytes entity_data = 3;
     */
    public com.google.protobuf.ByteString getEntityData() {
      return entityData_;
    }

    private void initFields() {
      reliable_ = false;
      numEntries_ = 0;
      entityData_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBool(1, reliable_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, numEntries_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(3, entityData_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(1, reliable_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, numEntries_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, entityData_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CSVCMsg_TempEntities parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_TempEntities parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_TempEntities parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_TempEntities parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_TempEntities parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_TempEntities parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_TempEntities parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_TempEntities parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_TempEntities parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_TempEntities parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_TempEntities prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSVCMsg_TempEntities}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CSVCMsg_TempEntitiesOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_TempEntities_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_TempEntities_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_TempEntities.class, com.dota2.proto.Netmessages.CSVCMsg_TempEntities.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CSVCMsg_TempEntities.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        reliable_ = false;
        bitField0_ = (bitField0_ & ~0x00000001);
        numEntries_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        entityData_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_TempEntities_descriptor;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_TempEntities getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CSVCMsg_TempEntities.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CSVCMsg_TempEntities build() {
        com.dota2.proto.Netmessages.CSVCMsg_TempEntities result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_TempEntities buildPartial() {
        com.dota2.proto.Netmessages.CSVCMsg_TempEntities result = new com.dota2.proto.Netmessages.CSVCMsg_TempEntities(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.reliable_ = reliable_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.numEntries_ = numEntries_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.entityData_ = entityData_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_TempEntities) {
          return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_TempEntities)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_TempEntities other) {
        if (other == com.dota2.proto.Netmessages.CSVCMsg_TempEntities.getDefaultInstance()) return this;
        if (other.hasReliable()) {
          setReliable(other.getReliable());
        }
        if (other.hasNumEntries()) {
          setNumEntries(other.getNumEntries());
        }
        if (other.hasEntityData()) {
          setEntityData(other.getEntityData());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CSVCMsg_TempEntities parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_TempEntities) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional bool reliable = 1;
      private boolean reliable_ ;
      /**
       * optional bool reliable = 1;
       */
      public boolean hasReliable() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional bool reliable = 1;
       */
      public boolean getReliable() {
        return reliable_;
      }
      /**
       * optional bool reliable = 1;
       */
      public Builder setReliable(boolean value) {
        bitField0_ |= 0x00000001;
        reliable_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool reliable = 1;
       */
      public Builder clearReliable() {
        bitField0_ = (bitField0_ & ~0x00000001);
        reliable_ = false;
        onChanged();
        return this;
      }

      // optional int32 num_entries = 2;
      private int numEntries_ ;
      /**
       * optional int32 num_entries = 2;
       */
      public boolean hasNumEntries() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 num_entries = 2;
       */
      public int getNumEntries() {
        return numEntries_;
      }
      /**
       * optional int32 num_entries = 2;
       */
      public Builder setNumEntries(int value) {
        bitField0_ |= 0x00000002;
        numEntries_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 num_entries = 2;
       */
      public Builder clearNumEntries() {
        bitField0_ = (bitField0_ & ~0x00000002);
        numEntries_ = 0;
        onChanged();
        return this;
      }

      // optional bytes entity_data = 3;
      private com.google.protobuf.ByteString entityData_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes entity_data = 3;
       */
      public boolean hasEntityData() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional bytes entity_data = 3;
       */
      public com.google.protobuf.ByteString getEntityData() {
        return entityData_;
      }
      /**
       * optional bytes entity_data = 3;
       */
      public Builder setEntityData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        entityData_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes entity_data = 3;
       */
      public Builder clearEntityData() {
        bitField0_ = (bitField0_ & ~0x00000004);
        entityData_ = getDefaultInstance().getEntityData();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSVCMsg_TempEntities)
    }

    static {
      defaultInstance = new CSVCMsg_TempEntities(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CSVCMsg_TempEntities)
  }

  public interface CSVCMsg_CreateStringTableOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string name = 1;
    /**
     * optional string name = 1;
     */
    boolean hasName();
    /**
     * optional string name = 1;
     */
    java.lang.String getName();
    /**
     * optional string name = 1;
     */
    com.google.protobuf.ByteString
        getNameBytes();

    // optional int32 max_entries = 2;
    /**
     * optional int32 max_entries = 2;
     */
    boolean hasMaxEntries();
    /**
     * optional int32 max_entries = 2;
     */
    int getMaxEntries();

    // optional int32 num_entries = 3;
    /**
     * optional int32 num_entries = 3;
     */
    boolean hasNumEntries();
    /**
     * optional int32 num_entries = 3;
     */
    int getNumEntries();

    // optional bool user_data_fixed_size = 4;
    /**
     * optional bool user_data_fixed_size = 4;
     */
    boolean hasUserDataFixedSize();
    /**
     * optional bool user_data_fixed_size = 4;
     */
    boolean getUserDataFixedSize();

    // optional int32 user_data_size = 5;
    /**
     * optional int32 user_data_size = 5;
     */
    boolean hasUserDataSize();
    /**
     * optional int32 user_data_size = 5;
     */
    int getUserDataSize();

    // optional int32 user_data_size_bits = 6;
    /**
     * optional int32 user_data_size_bits = 6;
     */
    boolean hasUserDataSizeBits();
    /**
     * optional int32 user_data_size_bits = 6;
     */
    int getUserDataSizeBits();

    // optional int32 flags = 7;
    /**
     * optional int32 flags = 7;
     */
    boolean hasFlags();
    /**
     * optional int32 flags = 7;
     */
    int getFlags();

    // optional bytes string_data = 8;
    /**
     * optional bytes string_data = 8;
     */
    boolean hasStringData();
    /**
     * optional bytes string_data = 8;
     */
    com.google.protobuf.ByteString getStringData();
  }
  /**
   * Protobuf type {@code CSVCMsg_CreateStringTable}
   */
  public static final class CSVCMsg_CreateStringTable extends
      com.google.protobuf.GeneratedMessage
      implements CSVCMsg_CreateStringTableOrBuilder {
    // Use CSVCMsg_CreateStringTable.newBuilder() to construct.
    private CSVCMsg_CreateStringTable(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CSVCMsg_CreateStringTable(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CSVCMsg_CreateStringTable defaultInstance;
    public static CSVCMsg_CreateStringTable getDefaultInstance() {
      return defaultInstance;
    }

    public CSVCMsg_CreateStringTable getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CSVCMsg_CreateStringTable(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              name_ = input.readBytes();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              maxEntries_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              numEntries_ = input.readInt32();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              userDataFixedSize_ = input.readBool();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              userDataSize_ = input.readInt32();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              userDataSizeBits_ = input.readInt32();
              break;
            }
            case 56: {
              bitField0_ |= 0x00000040;
              flags_ = input.readInt32();
              break;
            }
            case 66: {
              bitField0_ |= 0x00000080;
              stringData_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_CreateStringTable_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_CreateStringTable_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable.class, com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CSVCMsg_CreateStringTable parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CSVCMsg_CreateStringTable(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional string name = 1;
    public static final int NAME_FIELD_NUMBER = 1;
    private java.lang.Object name_;
    /**
     * optional string name = 1;
     */
    public boolean hasName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional string name = 1;
     */
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          name_ = s;
        }
        return s;
      }
    }
    /**
     * optional string name = 1;
     */
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional int32 max_entries = 2;
    public static final int MAX_ENTRIES_FIELD_NUMBER = 2;
    private int maxEntries_;
    /**
     * optional int32 max_entries = 2;
     */
    public boolean hasMaxEntries() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 max_entries = 2;
     */
    public int getMaxEntries() {
      return maxEntries_;
    }

    // optional int32 num_entries = 3;
    public static final int NUM_ENTRIES_FIELD_NUMBER = 3;
    private int numEntries_;
    /**
     * optional int32 num_entries = 3;
     */
    public boolean hasNumEntries() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional int32 num_entries = 3;
     */
    public int getNumEntries() {
      return numEntries_;
    }

    // optional bool user_data_fixed_size = 4;
    public static final int USER_DATA_FIXED_SIZE_FIELD_NUMBER = 4;
    private boolean userDataFixedSize_;
    /**
     * optional bool user_data_fixed_size = 4;
     */
    public boolean hasUserDataFixedSize() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional bool user_data_fixed_size = 4;
     */
    public boolean getUserDataFixedSize() {
      return userDataFixedSize_;
    }

    // optional int32 user_data_size = 5;
    public static final int USER_DATA_SIZE_FIELD_NUMBER = 5;
    private int userDataSize_;
    /**
     * optional int32 user_data_size = 5;
     */
    public boolean hasUserDataSize() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional int32 user_data_size = 5;
     */
    public int getUserDataSize() {
      return userDataSize_;
    }

    // optional int32 user_data_size_bits = 6;
    public static final int USER_DATA_SIZE_BITS_FIELD_NUMBER = 6;
    private int userDataSizeBits_;
    /**
     * optional int32 user_data_size_bits = 6;
     */
    public boolean hasUserDataSizeBits() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional int32 user_data_size_bits = 6;
     */
    public int getUserDataSizeBits() {
      return userDataSizeBits_;
    }

    // optional int32 flags = 7;
    public static final int FLAGS_FIELD_NUMBER = 7;
    private int flags_;
    /**
     * optional int32 flags = 7;
     */
    public boolean hasFlags() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * optional int32 flags = 7;
     */
    public int getFlags() {
      return flags_;
    }

    // optional bytes string_data = 8;
    public static final int STRING_DATA_FIELD_NUMBER = 8;
    private com.google.protobuf.ByteString stringData_;
    /**
     * optional bytes string_data = 8;
     */
    public boolean hasStringData() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * optional bytes string_data = 8;
     */
    public com.google.protobuf.ByteString getStringData() {
      return stringData_;
    }

    private void initFields() {
      name_ = "";
      maxEntries_ = 0;
      numEntries_ = 0;
      userDataFixedSize_ = false;
      userDataSize_ = 0;
      userDataSizeBits_ = 0;
      flags_ = 0;
      stringData_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, maxEntries_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, numEntries_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBool(4, userDataFixedSize_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeInt32(5, userDataSize_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeInt32(6, userDataSizeBits_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeInt32(7, flags_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeBytes(8, stringData_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, maxEntries_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, numEntries_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(4, userDataFixedSize_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, userDataSize_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, userDataSizeBits_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(7, flags_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(8, stringData_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSVCMsg_CreateStringTable}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CSVCMsg_CreateStringTableOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_CreateStringTable_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_CreateStringTable_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable.class, com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        name_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        maxEntries_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        numEntries_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        userDataFixedSize_ = false;
        bitField0_ = (bitField0_ & ~0x00000008);
        userDataSize_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        userDataSizeBits_ = 0;
        bitField0_ = (bitField0_ & ~0x00000020);
        flags_ = 0;
        bitField0_ = (bitField0_ & ~0x00000040);
        stringData_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000080);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_CreateStringTable_descriptor;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable build() {
        com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable buildPartial() {
        com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable result = new com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.name_ = name_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.maxEntries_ = maxEntries_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.numEntries_ = numEntries_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.userDataFixedSize_ = userDataFixedSize_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.userDataSize_ = userDataSize_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.userDataSizeBits_ = userDataSizeBits_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.flags_ = flags_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        result.stringData_ = stringData_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable) {
          return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable other) {
        if (other == com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable.getDefaultInstance()) return this;
        if (other.hasName()) {
          bitField0_ |= 0x00000001;
          name_ = other.name_;
          onChanged();
        }
        if (other.hasMaxEntries()) {
          setMaxEntries(other.getMaxEntries());
        }
        if (other.hasNumEntries()) {
          setNumEntries(other.getNumEntries());
        }
        if (other.hasUserDataFixedSize()) {
          setUserDataFixedSize(other.getUserDataFixedSize());
        }
        if (other.hasUserDataSize()) {
          setUserDataSize(other.getUserDataSize());
        }
        if (other.hasUserDataSizeBits()) {
          setUserDataSizeBits(other.getUserDataSizeBits());
        }
        if (other.hasFlags()) {
          setFlags(other.getFlags());
        }
        if (other.hasStringData()) {
          setStringData(other.getStringData());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_CreateStringTable) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string name = 1;
      private java.lang.Object name_ = "";
      /**
       * optional string name = 1;
       */
      public boolean hasName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional string name = 1;
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string name = 1;
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string name = 1;
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        name_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string name = 1;
       */
      public Builder clearName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      /**
       * optional string name = 1;
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        name_ = value;
        onChanged();
        return this;
      }

      // optional int32 max_entries = 2;
      private int maxEntries_ ;
      /**
       * optional int32 max_entries = 2;
       */
      public boolean hasMaxEntries() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 max_entries = 2;
       */
      public int getMaxEntries() {
        return maxEntries_;
      }
      /**
       * optional int32 max_entries = 2;
       */
      public Builder setMaxEntries(int value) {
        bitField0_ |= 0x00000002;
        maxEntries_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 max_entries = 2;
       */
      public Builder clearMaxEntries() {
        bitField0_ = (bitField0_ & ~0x00000002);
        maxEntries_ = 0;
        onChanged();
        return this;
      }

      // optional int32 num_entries = 3;
      private int numEntries_ ;
      /**
       * optional int32 num_entries = 3;
       */
      public boolean hasNumEntries() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional int32 num_entries = 3;
       */
      public int getNumEntries() {
        return numEntries_;
      }
      /**
       * optional int32 num_entries = 3;
       */
      public Builder setNumEntries(int value) {
        bitField0_ |= 0x00000004;
        numEntries_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 num_entries = 3;
       */
      public Builder clearNumEntries() {
        bitField0_ = (bitField0_ & ~0x00000004);
        numEntries_ = 0;
        onChanged();
        return this;
      }

      // optional bool user_data_fixed_size = 4;
      private boolean userDataFixedSize_ ;
      /**
       * optional bool user_data_fixed_size = 4;
       */
      public boolean hasUserDataFixedSize() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional bool user_data_fixed_size = 4;
       */
      public boolean getUserDataFixedSize() {
        return userDataFixedSize_;
      }
      /**
       * optional bool user_data_fixed_size = 4;
       */
      public Builder setUserDataFixedSize(boolean value) {
        bitField0_ |= 0x00000008;
        userDataFixedSize_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool user_data_fixed_size = 4;
       */
      public Builder clearUserDataFixedSize() {
        bitField0_ = (bitField0_ & ~0x00000008);
        userDataFixedSize_ = false;
        onChanged();
        return this;
      }

      // optional int32 user_data_size = 5;
      private int userDataSize_ ;
      /**
       * optional int32 user_data_size = 5;
       */
      public boolean hasUserDataSize() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional int32 user_data_size = 5;
       */
      public int getUserDataSize() {
        return userDataSize_;
      }
      /**
       * optional int32 user_data_size = 5;
       */
      public Builder setUserDataSize(int value) {
        bitField0_ |= 0x00000010;
        userDataSize_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 user_data_size = 5;
       */
      public Builder clearUserDataSize() {
        bitField0_ = (bitField0_ & ~0x00000010);
        userDataSize_ = 0;
        onChanged();
        return this;
      }

      // optional int32 user_data_size_bits = 6;
      private int userDataSizeBits_ ;
      /**
       * optional int32 user_data_size_bits = 6;
       */
      public boolean hasUserDataSizeBits() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional int32 user_data_size_bits = 6;
       */
      public int getUserDataSizeBits() {
        return userDataSizeBits_;
      }
      /**
       * optional int32 user_data_size_bits = 6;
       */
      public Builder setUserDataSizeBits(int value) {
        bitField0_ |= 0x00000020;
        userDataSizeBits_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 user_data_size_bits = 6;
       */
      public Builder clearUserDataSizeBits() {
        bitField0_ = (bitField0_ & ~0x00000020);
        userDataSizeBits_ = 0;
        onChanged();
        return this;
      }

      // optional int32 flags = 7;
      private int flags_ ;
      /**
       * optional int32 flags = 7;
       */
      public boolean hasFlags() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * optional int32 flags = 7;
       */
      public int getFlags() {
        return flags_;
      }
      /**
       * optional int32 flags = 7;
       */
      public Builder setFlags(int value) {
        bitField0_ |= 0x00000040;
        flags_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 flags = 7;
       */
      public Builder clearFlags() {
        bitField0_ = (bitField0_ & ~0x00000040);
        flags_ = 0;
        onChanged();
        return this;
      }

      // optional bytes string_data = 8;
      private com.google.protobuf.ByteString stringData_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes string_data = 8;
       */
      public boolean hasStringData() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * optional bytes string_data = 8;
       */
      public com.google.protobuf.ByteString getStringData() {
        return stringData_;
      }
      /**
       * optional bytes string_data = 8;
       */
      public Builder setStringData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000080;
        stringData_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes string_data = 8;
       */
      public Builder clearStringData() {
        bitField0_ = (bitField0_ & ~0x00000080);
        stringData_ = getDefaultInstance().getStringData();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSVCMsg_CreateStringTable)
    }

    static {
      defaultInstance = new CSVCMsg_CreateStringTable(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CSVCMsg_CreateStringTable)
  }

  public interface CSVCMsg_UpdateStringTableOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 table_id = 1;
    /**
     * optional int32 table_id = 1;
     */
    boolean hasTableId();
    /**
     * optional int32 table_id = 1;
     */
    int getTableId();

    // optional int32 num_changed_entries = 2;
    /**
     * optional int32 num_changed_entries = 2;
     */
    boolean hasNumChangedEntries();
    /**
     * optional int32 num_changed_entries = 2;
     */
    int getNumChangedEntries();

    // optional bytes string_data = 3;
    /**
     * optional bytes string_data = 3;
     */
    boolean hasStringData();
    /**
     * optional bytes string_data = 3;
     */
    com.google.protobuf.ByteString getStringData();
  }
  /**
   * Protobuf type {@code CSVCMsg_UpdateStringTable}
   */
  public static final class CSVCMsg_UpdateStringTable extends
      com.google.protobuf.GeneratedMessage
      implements CSVCMsg_UpdateStringTableOrBuilder {
    // Use CSVCMsg_UpdateStringTable.newBuilder() to construct.
    private CSVCMsg_UpdateStringTable(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CSVCMsg_UpdateStringTable(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CSVCMsg_UpdateStringTable defaultInstance;
    public static CSVCMsg_UpdateStringTable getDefaultInstance() {
      return defaultInstance;
    }

    public CSVCMsg_UpdateStringTable getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CSVCMsg_UpdateStringTable(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              tableId_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              numChangedEntries_ = input.readInt32();
              break;
            }
            case 26: {
              bitField0_ |= 0x00000004;
              stringData_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_UpdateStringTable_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_UpdateStringTable_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable.class, com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CSVCMsg_UpdateStringTable parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CSVCMsg_UpdateStringTable(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional int32 table_id = 1;
    public static final int TABLE_ID_FIELD_NUMBER = 1;
    private int tableId_;
    /**
     * optional int32 table_id = 1;
     */
    public boolean hasTableId() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 table_id = 1;
     */
    public int getTableId() {
      return tableId_;
    }

    // optional int32 num_changed_entries = 2;
    public static final int NUM_CHANGED_ENTRIES_FIELD_NUMBER = 2;
    private int numChangedEntries_;
    /**
     * optional int32 num_changed_entries = 2;
     */
    public boolean hasNumChangedEntries() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 num_changed_entries = 2;
     */
    public int getNumChangedEntries() {
      return numChangedEntries_;
    }

    // optional bytes string_data = 3;
    public static final int STRING_DATA_FIELD_NUMBER = 3;
    private com.google.protobuf.ByteString stringData_;
    /**
     * optional bytes string_data = 3;
     */
    public boolean hasStringData() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional bytes string_data = 3;
     */
    public com.google.protobuf.ByteString getStringData() {
      return stringData_;
    }

    private void initFields() {
      tableId_ = 0;
      numChangedEntries_ = 0;
      stringData_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, tableId_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, numChangedEntries_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(3, stringData_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, tableId_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, numChangedEntries_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, stringData_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSVCMsg_UpdateStringTable}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTableOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_UpdateStringTable_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_UpdateStringTable_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable.class, com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        tableId_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        numChangedEntries_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        stringData_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_UpdateStringTable_descriptor;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable build() {
        com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable buildPartial() {
        com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable result = new com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.tableId_ = tableId_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.numChangedEntries_ = numChangedEntries_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.stringData_ = stringData_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable) {
          return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable other) {
        if (other == com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable.getDefaultInstance()) return this;
        if (other.hasTableId()) {
          setTableId(other.getTableId());
        }
        if (other.hasNumChangedEntries()) {
          setNumChangedEntries(other.getNumChangedEntries());
        }
        if (other.hasStringData()) {
          setStringData(other.getStringData());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_UpdateStringTable) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 table_id = 1;
      private int tableId_ ;
      /**
       * optional int32 table_id = 1;
       */
      public boolean hasTableId() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 table_id = 1;
       */
      public int getTableId() {
        return tableId_;
      }
      /**
       * optional int32 table_id = 1;
       */
      public Builder setTableId(int value) {
        bitField0_ |= 0x00000001;
        tableId_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 table_id = 1;
       */
      public Builder clearTableId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        tableId_ = 0;
        onChanged();
        return this;
      }

      // optional int32 num_changed_entries = 2;
      private int numChangedEntries_ ;
      /**
       * optional int32 num_changed_entries = 2;
       */
      public boolean hasNumChangedEntries() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 num_changed_entries = 2;
       */
      public int getNumChangedEntries() {
        return numChangedEntries_;
      }
      /**
       * optional int32 num_changed_entries = 2;
       */
      public Builder setNumChangedEntries(int value) {
        bitField0_ |= 0x00000002;
        numChangedEntries_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 num_changed_entries = 2;
       */
      public Builder clearNumChangedEntries() {
        bitField0_ = (bitField0_ & ~0x00000002);
        numChangedEntries_ = 0;
        onChanged();
        return this;
      }

      // optional bytes string_data = 3;
      private com.google.protobuf.ByteString stringData_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes string_data = 3;
       */
      public boolean hasStringData() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional bytes string_data = 3;
       */
      public com.google.protobuf.ByteString getStringData() {
        return stringData_;
      }
      /**
       * optional bytes string_data = 3;
       */
      public Builder setStringData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        stringData_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes string_data = 3;
       */
      public Builder clearStringData() {
        bitField0_ = (bitField0_ & ~0x00000004);
        stringData_ = getDefaultInstance().getStringData();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSVCMsg_UpdateStringTable)
    }

    static {
      defaultInstance = new CSVCMsg_UpdateStringTable(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CSVCMsg_UpdateStringTable)
  }

  public interface CSVCMsg_VoiceDataOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 client = 1;
    /**
     * optional int32 client = 1;
     */
    boolean hasClient();
    /**
     * optional int32 client = 1;
     */
    int getClient();

    // optional bool proximity = 2;
    /**
     * optional bool proximity = 2;
     */
    boolean hasProximity();
    /**
     * optional bool proximity = 2;
     */
    boolean getProximity();

    // optional fixed64 xuid = 3;
    /**
     * optional fixed64 xuid = 3;
     */
    boolean hasXuid();
    /**
     * optional fixed64 xuid = 3;
     */
    long getXuid();

    // optional int32 audible_mask = 4;
    /**
     * optional int32 audible_mask = 4;
     */
    boolean hasAudibleMask();
    /**
     * optional int32 audible_mask = 4;
     */
    int getAudibleMask();

    // optional bytes voice_data = 5;
    /**
     * optional bytes voice_data = 5;
     */
    boolean hasVoiceData();
    /**
     * optional bytes voice_data = 5;
     */
    com.google.protobuf.ByteString getVoiceData();

    // optional .VoiceDataFormat_t format = 6 [default = VOICEDATA_FORMAT_STEAM];
    /**
     * optional .VoiceDataFormat_t format = 6 [default = VOICEDATA_FORMAT_STEAM];
     */
    boolean hasFormat();
    /**
     * optional .VoiceDataFormat_t format = 6 [default = VOICEDATA_FORMAT_STEAM];
     */
    com.dota2.proto.Netmessages.VoiceDataFormat_t getFormat();

    // optional int32 sequence_bytes = 7;
    /**
     * optional int32 sequence_bytes = 7;
     */
    boolean hasSequenceBytes();
    /**
     * optional int32 sequence_bytes = 7;
     */
    int getSequenceBytes();

    // optional uint32 section_number = 8;
    /**
     * optional uint32 section_number = 8;
     */
    boolean hasSectionNumber();
    /**
     * optional uint32 section_number = 8;
     */
    int getSectionNumber();

    // optional uint32 uncompressed_sample_offset = 9;
    /**
     * optional uint32 uncompressed_sample_offset = 9;
     */
    boolean hasUncompressedSampleOffset();
    /**
     * optional uint32 uncompressed_sample_offset = 9;
     */
    int getUncompressedSampleOffset();

    // optional uint32 tick = 10;
    /**
     * optional uint32 tick = 10;
     */
    boolean hasTick();
    /**
     * optional uint32 tick = 10;
     */
    int getTick();
  }
  /**
   * Protobuf type {@code CSVCMsg_VoiceData}
   */
  public static final class CSVCMsg_VoiceData extends
      com.google.protobuf.GeneratedMessage
      implements CSVCMsg_VoiceDataOrBuilder {
    // Use CSVCMsg_VoiceData.newBuilder() to construct.
    private CSVCMsg_VoiceData(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CSVCMsg_VoiceData(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CSVCMsg_VoiceData defaultInstance;
    public static CSVCMsg_VoiceData getDefaultInstance() {
      return defaultInstance;
    }

    public CSVCMsg_VoiceData getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CSVCMsg_VoiceData(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              client_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              proximity_ = input.readBool();
              break;
            }
            case 25: {
              bitField0_ |= 0x00000004;
              xuid_ = input.readFixed64();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              audibleMask_ = input.readInt32();
              break;
            }
            case 42: {
              bitField0_ |= 0x00000010;
              voiceData_ = input.readBytes();
              break;
            }
            case 48: {
              int rawValue = input.readEnum();
              com.dota2.proto.Netmessages.VoiceDataFormat_t value = com.dota2.proto.Netmessages.VoiceDataFormat_t.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(6, rawValue);
              } else {
                bitField0_ |= 0x00000020;
                format_ = value;
              }
              break;
            }
            case 56: {
              bitField0_ |= 0x00000040;
              sequenceBytes_ = input.readInt32();
              break;
            }
            case 64: {
              bitField0_ |= 0x00000080;
              sectionNumber_ = input.readUInt32();
              break;
            }
            case 72: {
              bitField0_ |= 0x00000100;
              uncompressedSampleOffset_ = input.readUInt32();
              break;
            }
            case 80: {
              bitField0_ |= 0x00000200;
              tick_ = input.readUInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_VoiceData_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_VoiceData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CSVCMsg_VoiceData.class, com.dota2.proto.Netmessages.CSVCMsg_VoiceData.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CSVCMsg_VoiceData parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CSVCMsg_VoiceData(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional int32 client = 1;
    public static final int CLIENT_FIELD_NUMBER = 1;
    private int client_;
    /**
     * optional int32 client = 1;
     */
    public boolean hasClient() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 client = 1;
     */
    public int getClient() {
      return client_;
    }

    // optional bool proximity = 2;
    public static final int PROXIMITY_FIELD_NUMBER = 2;
    private boolean proximity_;
    /**
     * optional bool proximity = 2;
     */
    public boolean hasProximity() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional bool proximity = 2;
     */
    public boolean getProximity() {
      return proximity_;
    }

    // optional fixed64 xuid = 3;
    public static final int XUID_FIELD_NUMBER = 3;
    private long xuid_;
    /**
     * optional fixed64 xuid = 3;
     */
    public boolean hasXuid() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional fixed64 xuid = 3;
     */
    public long getXuid() {
      return xuid_;
    }

    // optional int32 audible_mask = 4;
    public static final int AUDIBLE_MASK_FIELD_NUMBER = 4;
    private int audibleMask_;
    /**
     * optional int32 audible_mask = 4;
     */
    public boolean hasAudibleMask() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional int32 audible_mask = 4;
     */
    public int getAudibleMask() {
      return audibleMask_;
    }

    // optional bytes voice_data = 5;
    public static final int VOICE_DATA_FIELD_NUMBER = 5;
    private com.google.protobuf.ByteString voiceData_;
    /**
     * optional bytes voice_data = 5;
     */
    public boolean hasVoiceData() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional bytes voice_data = 5;
     */
    public com.google.protobuf.ByteString getVoiceData() {
      return voiceData_;
    }

    // optional .VoiceDataFormat_t format = 6 [default = VOICEDATA_FORMAT_STEAM];
    public static final int FORMAT_FIELD_NUMBER = 6;
    private com.dota2.proto.Netmessages.VoiceDataFormat_t format_;
    /**
     * optional .VoiceDataFormat_t format = 6 [default = VOICEDATA_FORMAT_STEAM];
     */
    public boolean hasFormat() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional .VoiceDataFormat_t format = 6 [default = VOICEDATA_FORMAT_STEAM];
     */
    public com.dota2.proto.Netmessages.VoiceDataFormat_t getFormat() {
      return format_;
    }

    // optional int32 sequence_bytes = 7;
    public static final int SEQUENCE_BYTES_FIELD_NUMBER = 7;
    private int sequenceBytes_;
    /**
     * optional int32 sequence_bytes = 7;
     */
    public boolean hasSequenceBytes() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * optional int32 sequence_bytes = 7;
     */
    public int getSequenceBytes() {
      return sequenceBytes_;
    }

    // optional uint32 section_number = 8;
    public static final int SECTION_NUMBER_FIELD_NUMBER = 8;
    private int sectionNumber_;
    /**
     * optional uint32 section_number = 8;
     */
    public boolean hasSectionNumber() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * optional uint32 section_number = 8;
     */
    public int getSectionNumber() {
      return sectionNumber_;
    }

    // optional uint32 uncompressed_sample_offset = 9;
    public static final int UNCOMPRESSED_SAMPLE_OFFSET_FIELD_NUMBER = 9;
    private int uncompressedSampleOffset_;
    /**
     * optional uint32 uncompressed_sample_offset = 9;
     */
    public boolean hasUncompressedSampleOffset() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * optional uint32 uncompressed_sample_offset = 9;
     */
    public int getUncompressedSampleOffset() {
      return uncompressedSampleOffset_;
    }

    // optional uint32 tick = 10;
    public static final int TICK_FIELD_NUMBER = 10;
    private int tick_;
    /**
     * optional uint32 tick = 10;
     */
    public boolean hasTick() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * optional uint32 tick = 10;
     */
    public int getTick() {
      return tick_;
    }

    private void initFields() {
      client_ = 0;
      proximity_ = false;
      xuid_ = 0L;
      audibleMask_ = 0;
      voiceData_ = com.google.protobuf.ByteString.EMPTY;
      format_ = com.dota2.proto.Netmessages.VoiceDataFormat_t.VOICEDATA_FORMAT_STEAM;
      sequenceBytes_ = 0;
      sectionNumber_ = 0;
      uncompressedSampleOffset_ = 0;
      tick_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, client_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBool(2, proximity_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeFixed64(3, xuid_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt32(4, audibleMask_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeBytes(5, voiceData_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeEnum(6, format_.getNumber());
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeInt32(7, sequenceBytes_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeUInt32(8, sectionNumber_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeUInt32(9, uncompressedSampleOffset_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeUInt32(10, tick_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, client_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, proximity_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed64Size(3, xuid_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, audibleMask_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(5, voiceData_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(6, format_.getNumber());
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(7, sequenceBytes_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(8, sectionNumber_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(9, uncompressedSampleOffset_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(10, tick_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CSVCMsg_VoiceData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_VoiceData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_VoiceData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_VoiceData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_VoiceData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_VoiceData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_VoiceData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_VoiceData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_VoiceData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_VoiceData parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_VoiceData prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSVCMsg_VoiceData}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CSVCMsg_VoiceDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_VoiceData_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_VoiceData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_VoiceData.class, com.dota2.proto.Netmessages.CSVCMsg_VoiceData.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CSVCMsg_VoiceData.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        client_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        proximity_ = false;
        bitField0_ = (bitField0_ & ~0x00000002);
        xuid_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000004);
        audibleMask_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        voiceData_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000010);
        format_ = com.dota2.proto.Netmessages.VoiceDataFormat_t.VOICEDATA_FORMAT_STEAM;
        bitField0_ = (bitField0_ & ~0x00000020);
        sequenceBytes_ = 0;
        bitField0_ = (bitField0_ & ~0x00000040);
        sectionNumber_ = 0;
        bitField0_ = (bitField0_ & ~0x00000080);
        uncompressedSampleOffset_ = 0;
        bitField0_ = (bitField0_ & ~0x00000100);
        tick_ = 0;
        bitField0_ = (bitField0_ & ~0x00000200);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_VoiceData_descriptor;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_VoiceData getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CSVCMsg_VoiceData.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CSVCMsg_VoiceData build() {
        com.dota2.proto.Netmessages.CSVCMsg_VoiceData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_VoiceData buildPartial() {
        com.dota2.proto.Netmessages.CSVCMsg_VoiceData result = new com.dota2.proto.Netmessages.CSVCMsg_VoiceData(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.client_ = client_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.proximity_ = proximity_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.xuid_ = xuid_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.audibleMask_ = audibleMask_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.voiceData_ = voiceData_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.format_ = format_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.sequenceBytes_ = sequenceBytes_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        result.sectionNumber_ = sectionNumber_;
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        result.uncompressedSampleOffset_ = uncompressedSampleOffset_;
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000200;
        }
        result.tick_ = tick_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_VoiceData) {
          return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_VoiceData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_VoiceData other) {
        if (other == com.dota2.proto.Netmessages.CSVCMsg_VoiceData.getDefaultInstance()) return this;
        if (other.hasClient()) {
          setClient(other.getClient());
        }
        if (other.hasProximity()) {
          setProximity(other.getProximity());
        }
        if (other.hasXuid()) {
          setXuid(other.getXuid());
        }
        if (other.hasAudibleMask()) {
          setAudibleMask(other.getAudibleMask());
        }
        if (other.hasVoiceData()) {
          setVoiceData(other.getVoiceData());
        }
        if (other.hasFormat()) {
          setFormat(other.getFormat());
        }
        if (other.hasSequenceBytes()) {
          setSequenceBytes(other.getSequenceBytes());
        }
        if (other.hasSectionNumber()) {
          setSectionNumber(other.getSectionNumber());
        }
        if (other.hasUncompressedSampleOffset()) {
          setUncompressedSampleOffset(other.getUncompressedSampleOffset());
        }
        if (other.hasTick()) {
          setTick(other.getTick());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CSVCMsg_VoiceData parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_VoiceData) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 client = 1;
      private int client_ ;
      /**
       * optional int32 client = 1;
       */
      public boolean hasClient() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 client = 1;
       */
      public int getClient() {
        return client_;
      }
      /**
       * optional int32 client = 1;
       */
      public Builder setClient(int value) {
        bitField0_ |= 0x00000001;
        client_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 client = 1;
       */
      public Builder clearClient() {
        bitField0_ = (bitField0_ & ~0x00000001);
        client_ = 0;
        onChanged();
        return this;
      }

      // optional bool proximity = 2;
      private boolean proximity_ ;
      /**
       * optional bool proximity = 2;
       */
      public boolean hasProximity() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional bool proximity = 2;
       */
      public boolean getProximity() {
        return proximity_;
      }
      /**
       * optional bool proximity = 2;
       */
      public Builder setProximity(boolean value) {
        bitField0_ |= 0x00000002;
        proximity_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool proximity = 2;
       */
      public Builder clearProximity() {
        bitField0_ = (bitField0_ & ~0x00000002);
        proximity_ = false;
        onChanged();
        return this;
      }

      // optional fixed64 xuid = 3;
      private long xuid_ ;
      /**
       * optional fixed64 xuid = 3;
       */
      public boolean hasXuid() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional fixed64 xuid = 3;
       */
      public long getXuid() {
        return xuid_;
      }
      /**
       * optional fixed64 xuid = 3;
       */
      public Builder setXuid(long value) {
        bitField0_ |= 0x00000004;
        xuid_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed64 xuid = 3;
       */
      public Builder clearXuid() {
        bitField0_ = (bitField0_ & ~0x00000004);
        xuid_ = 0L;
        onChanged();
        return this;
      }

      // optional int32 audible_mask = 4;
      private int audibleMask_ ;
      /**
       * optional int32 audible_mask = 4;
       */
      public boolean hasAudibleMask() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional int32 audible_mask = 4;
       */
      public int getAudibleMask() {
        return audibleMask_;
      }
      /**
       * optional int32 audible_mask = 4;
       */
      public Builder setAudibleMask(int value) {
        bitField0_ |= 0x00000008;
        audibleMask_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 audible_mask = 4;
       */
      public Builder clearAudibleMask() {
        bitField0_ = (bitField0_ & ~0x00000008);
        audibleMask_ = 0;
        onChanged();
        return this;
      }

      // optional bytes voice_data = 5;
      private com.google.protobuf.ByteString voiceData_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes voice_data = 5;
       */
      public boolean hasVoiceData() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional bytes voice_data = 5;
       */
      public com.google.protobuf.ByteString getVoiceData() {
        return voiceData_;
      }
      /**
       * optional bytes voice_data = 5;
       */
      public Builder setVoiceData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        voiceData_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes voice_data = 5;
       */
      public Builder clearVoiceData() {
        bitField0_ = (bitField0_ & ~0x00000010);
        voiceData_ = getDefaultInstance().getVoiceData();
        onChanged();
        return this;
      }

      // optional .VoiceDataFormat_t format = 6 [default = VOICEDATA_FORMAT_STEAM];
      private com.dota2.proto.Netmessages.VoiceDataFormat_t format_ = com.dota2.proto.Netmessages.VoiceDataFormat_t.VOICEDATA_FORMAT_STEAM;
      /**
       * optional .VoiceDataFormat_t format = 6 [default = VOICEDATA_FORMAT_STEAM];
       */
      public boolean hasFormat() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional .VoiceDataFormat_t format = 6 [default = VOICEDATA_FORMAT_STEAM];
       */
      public com.dota2.proto.Netmessages.VoiceDataFormat_t getFormat() {
        return format_;
      }
      /**
       * optional .VoiceDataFormat_t format = 6 [default = VOICEDATA_FORMAT_STEAM];
       */
      public Builder setFormat(com.dota2.proto.Netmessages.VoiceDataFormat_t value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000020;
        format_ = value;
        onChanged();
        return this;
      }
      /**
       * optional .VoiceDataFormat_t format = 6 [default = VOICEDATA_FORMAT_STEAM];
       */
      public Builder clearFormat() {
        bitField0_ = (bitField0_ & ~0x00000020);
        format_ = com.dota2.proto.Netmessages.VoiceDataFormat_t.VOICEDATA_FORMAT_STEAM;
        onChanged();
        return this;
      }

      // optional int32 sequence_bytes = 7;
      private int sequenceBytes_ ;
      /**
       * optional int32 sequence_bytes = 7;
       */
      public boolean hasSequenceBytes() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * optional int32 sequence_bytes = 7;
       */
      public int getSequenceBytes() {
        return sequenceBytes_;
      }
      /**
       * optional int32 sequence_bytes = 7;
       */
      public Builder setSequenceBytes(int value) {
        bitField0_ |= 0x00000040;
        sequenceBytes_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 sequence_bytes = 7;
       */
      public Builder clearSequenceBytes() {
        bitField0_ = (bitField0_ & ~0x00000040);
        sequenceBytes_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 section_number = 8;
      private int sectionNumber_ ;
      /**
       * optional uint32 section_number = 8;
       */
      public boolean hasSectionNumber() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * optional uint32 section_number = 8;
       */
      public int getSectionNumber() {
        return sectionNumber_;
      }
      /**
       * optional uint32 section_number = 8;
       */
      public Builder setSectionNumber(int value) {
        bitField0_ |= 0x00000080;
        sectionNumber_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 section_number = 8;
       */
      public Builder clearSectionNumber() {
        bitField0_ = (bitField0_ & ~0x00000080);
        sectionNumber_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 uncompressed_sample_offset = 9;
      private int uncompressedSampleOffset_ ;
      /**
       * optional uint32 uncompressed_sample_offset = 9;
       */
      public boolean hasUncompressedSampleOffset() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * optional uint32 uncompressed_sample_offset = 9;
       */
      public int getUncompressedSampleOffset() {
        return uncompressedSampleOffset_;
      }
      /**
       * optional uint32 uncompressed_sample_offset = 9;
       */
      public Builder setUncompressedSampleOffset(int value) {
        bitField0_ |= 0x00000100;
        uncompressedSampleOffset_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 uncompressed_sample_offset = 9;
       */
      public Builder clearUncompressedSampleOffset() {
        bitField0_ = (bitField0_ & ~0x00000100);
        uncompressedSampleOffset_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 tick = 10;
      private int tick_ ;
      /**
       * optional uint32 tick = 10;
       */
      public boolean hasTick() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * optional uint32 tick = 10;
       */
      public int getTick() {
        return tick_;
      }
      /**
       * optional uint32 tick = 10;
       */
      public Builder setTick(int value) {
        bitField0_ |= 0x00000200;
        tick_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 tick = 10;
       */
      public Builder clearTick() {
        bitField0_ = (bitField0_ & ~0x00000200);
        tick_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSVCMsg_VoiceData)
    }

    static {
      defaultInstance = new CSVCMsg_VoiceData(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CSVCMsg_VoiceData)
  }

  public interface CSVCMsg_PacketReliableOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 tick = 1;
    /**
     * optional int32 tick = 1;
     */
    boolean hasTick();
    /**
     * optional int32 tick = 1;
     */
    int getTick();

    // optional int32 messagessize = 2;
    /**
     * optional int32 messagessize = 2;
     */
    boolean hasMessagessize();
    /**
     * optional int32 messagessize = 2;
     */
    int getMessagessize();
  }
  /**
   * Protobuf type {@code CSVCMsg_PacketReliable}
   */
  public static final class CSVCMsg_PacketReliable extends
      com.google.protobuf.GeneratedMessage
      implements CSVCMsg_PacketReliableOrBuilder {
    // Use CSVCMsg_PacketReliable.newBuilder() to construct.
    private CSVCMsg_PacketReliable(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CSVCMsg_PacketReliable(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CSVCMsg_PacketReliable defaultInstance;
    public static CSVCMsg_PacketReliable getDefaultInstance() {
      return defaultInstance;
    }

    public CSVCMsg_PacketReliable getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CSVCMsg_PacketReliable(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              tick_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              messagessize_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_PacketReliable_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_PacketReliable_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CSVCMsg_PacketReliable.class, com.dota2.proto.Netmessages.CSVCMsg_PacketReliable.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CSVCMsg_PacketReliable parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CSVCMsg_PacketReliable(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional int32 tick = 1;
    public static final int TICK_FIELD_NUMBER = 1;
    private int tick_;
    /**
     * optional int32 tick = 1;
     */
    public boolean hasTick() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 tick = 1;
     */
    public int getTick() {
      return tick_;
    }

    // optional int32 messagessize = 2;
    public static final int MESSAGESSIZE_FIELD_NUMBER = 2;
    private int messagessize_;
    /**
     * optional int32 messagessize = 2;
     */
    public boolean hasMessagessize() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 messagessize = 2;
     */
    public int getMessagessize() {
      return messagessize_;
    }

    private void initFields() {
      tick_ = 0;
      messagessize_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, tick_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, messagessize_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, tick_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, messagessize_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CSVCMsg_PacketReliable parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_PacketReliable parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_PacketReliable parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_PacketReliable parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_PacketReliable parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_PacketReliable parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_PacketReliable parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_PacketReliable parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_PacketReliable parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_PacketReliable parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_PacketReliable prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSVCMsg_PacketReliable}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CSVCMsg_PacketReliableOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_PacketReliable_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_PacketReliable_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_PacketReliable.class, com.dota2.proto.Netmessages.CSVCMsg_PacketReliable.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CSVCMsg_PacketReliable.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        tick_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        messagessize_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_PacketReliable_descriptor;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_PacketReliable getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CSVCMsg_PacketReliable.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CSVCMsg_PacketReliable build() {
        com.dota2.proto.Netmessages.CSVCMsg_PacketReliable result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_PacketReliable buildPartial() {
        com.dota2.proto.Netmessages.CSVCMsg_PacketReliable result = new com.dota2.proto.Netmessages.CSVCMsg_PacketReliable(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.tick_ = tick_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.messagessize_ = messagessize_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_PacketReliable) {
          return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_PacketReliable)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_PacketReliable other) {
        if (other == com.dota2.proto.Netmessages.CSVCMsg_PacketReliable.getDefaultInstance()) return this;
        if (other.hasTick()) {
          setTick(other.getTick());
        }
        if (other.hasMessagessize()) {
          setMessagessize(other.getMessagessize());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CSVCMsg_PacketReliable parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_PacketReliable) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 tick = 1;
      private int tick_ ;
      /**
       * optional int32 tick = 1;
       */
      public boolean hasTick() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 tick = 1;
       */
      public int getTick() {
        return tick_;
      }
      /**
       * optional int32 tick = 1;
       */
      public Builder setTick(int value) {
        bitField0_ |= 0x00000001;
        tick_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 tick = 1;
       */
      public Builder clearTick() {
        bitField0_ = (bitField0_ & ~0x00000001);
        tick_ = 0;
        onChanged();
        return this;
      }

      // optional int32 messagessize = 2;
      private int messagessize_ ;
      /**
       * optional int32 messagessize = 2;
       */
      public boolean hasMessagessize() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 messagessize = 2;
       */
      public int getMessagessize() {
        return messagessize_;
      }
      /**
       * optional int32 messagessize = 2;
       */
      public Builder setMessagessize(int value) {
        bitField0_ |= 0x00000002;
        messagessize_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 messagessize = 2;
       */
      public Builder clearMessagessize() {
        bitField0_ = (bitField0_ & ~0x00000002);
        messagessize_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSVCMsg_PacketReliable)
    }

    static {
      defaultInstance = new CSVCMsg_PacketReliable(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CSVCMsg_PacketReliable)
  }

  public interface CSVCMsg_FullFrameSplitOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 tick = 1;
    /**
     * optional int32 tick = 1;
     */
    boolean hasTick();
    /**
     * optional int32 tick = 1;
     */
    int getTick();

    // optional int32 section = 2;
    /**
     * optional int32 section = 2;
     */
    boolean hasSection();
    /**
     * optional int32 section = 2;
     */
    int getSection();

    // optional int32 total = 3;
    /**
     * optional int32 total = 3;
     */
    boolean hasTotal();
    /**
     * optional int32 total = 3;
     */
    int getTotal();

    // optional bytes data = 4;
    /**
     * optional bytes data = 4;
     */
    boolean hasData();
    /**
     * optional bytes data = 4;
     */
    com.google.protobuf.ByteString getData();
  }
  /**
   * Protobuf type {@code CSVCMsg_FullFrameSplit}
   */
  public static final class CSVCMsg_FullFrameSplit extends
      com.google.protobuf.GeneratedMessage
      implements CSVCMsg_FullFrameSplitOrBuilder {
    // Use CSVCMsg_FullFrameSplit.newBuilder() to construct.
    private CSVCMsg_FullFrameSplit(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CSVCMsg_FullFrameSplit(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CSVCMsg_FullFrameSplit defaultInstance;
    public static CSVCMsg_FullFrameSplit getDefaultInstance() {
      return defaultInstance;
    }

    public CSVCMsg_FullFrameSplit getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CSVCMsg_FullFrameSplit(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              tick_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              section_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              total_ = input.readInt32();
              break;
            }
            case 34: {
              bitField0_ |= 0x00000008;
              data_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_FullFrameSplit_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.Netmessages.internal_static_CSVCMsg_FullFrameSplit_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit.class, com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CSVCMsg_FullFrameSplit parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CSVCMsg_FullFrameSplit(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    // optional int32 tick = 1;
    public static final int TICK_FIELD_NUMBER = 1;
    private int tick_;
    /**
     * optional int32 tick = 1;
     */
    public boolean hasTick() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 tick = 1;
     */
    public int getTick() {
      return tick_;
    }

    // optional int32 section = 2;
    public static final int SECTION_FIELD_NUMBER = 2;
    private int section_;
    /**
     * optional int32 section = 2;
     */
    public boolean hasSection() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 section = 2;
     */
    public int getSection() {
      return section_;
    }

    // optional int32 total = 3;
    public static final int TOTAL_FIELD_NUMBER = 3;
    private int total_;
    /**
     * optional int32 total = 3;
     */
    public boolean hasTotal() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional int32 total = 3;
     */
    public int getTotal() {
      return total_;
    }

    // optional bytes data = 4;
    public static final int DATA_FIELD_NUMBER = 4;
    private com.google.protobuf.ByteString data_;
    /**
     * optional bytes data = 4;
     */
    public boolean hasData() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional bytes data = 4;
     */
    public com.google.protobuf.ByteString getData() {
      return data_;
    }

    private void initFields() {
      tick_ = 0;
      section_ = 0;
      total_ = 0;
      data_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, tick_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, section_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, total_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBytes(4, data_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, tick_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, section_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, total_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(4, data_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSVCMsg_FullFrameSplit}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplitOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_FullFrameSplit_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_FullFrameSplit_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit.class, com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit.Builder.class);
      }

      // Construct using com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        tick_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        section_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        total_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        data_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.Netmessages.internal_static_CSVCMsg_FullFrameSplit_descriptor;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit getDefaultInstanceForType() {
        return com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit.getDefaultInstance();
      }

      public com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit build() {
        com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit buildPartial() {
        com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit result = new com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.tick_ = tick_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.section_ = section_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.total_ = total_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.data_ = data_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit) {
          return mergeFrom((com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit other) {
        if (other == com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit.getDefaultInstance()) return this;
        if (other.hasTick()) {
          setTick(other.getTick());
        }
        if (other.hasSection()) {
          setSection(other.getSection());
        }
        if (other.hasTotal()) {
          setTotal(other.getTotal());
        }
        if (other.hasData()) {
          setData(other.getData());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.Netmessages.CSVCMsg_FullFrameSplit) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 tick = 1;
      private int tick_ ;
      /**
       * optional int32 tick = 1;
       */
      public boolean hasTick() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 tick = 1;
       */
      public int getTick() {
        return tick_;
      }
      /**
       * optional int32 tick = 1;
       */
      public Builder setTick(int value) {
        bitField0_ |= 0x00000001;
        tick_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 tick = 1;
       */
      public Builder clearTick() {
        bitField0_ = (bitField0_ & ~0x00000001);
        tick_ = 0;
        onChanged();
        return this;
      }

      // optional int32 section = 2;
      private int section_ ;
      /**
       * optional int32 section = 2;
       */
      public boolean hasSection() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 section = 2;
       */
      public int getSection() {
        return section_;
      }
      /**
       * optional int32 section = 2;
       */
      public Builder setSection(int value) {
        bitField0_ |= 0x00000002;
        section_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 section = 2;
       */
      public Builder clearSection() {
        bitField0_ = (bitField0_ & ~0x00000002);
        section_ = 0;
        onChanged();
        return this;
      }

      // optional int32 total = 3;
      private int total_ ;
      /**
       * optional int32 total = 3;
       */
      public boolean hasTotal() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional int32 total = 3;
       */
      public int getTotal() {
        return total_;
      }
      /**
       * optional int32 total = 3;
       */
      public Builder setTotal(int value) {
        bitField0_ |= 0x00000004;
        total_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 total = 3;
       */
      public Builder clearTotal() {
        bitField0_ = (bitField0_ & ~0x00000004);
        total_ = 0;
        onChanged();
        return this;
      }

      // optional bytes data = 4;
      private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes data = 4;
       */
      public boolean hasData() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional bytes data = 4;
       */
      public com.google.protobuf.ByteString getData() {
        return data_;
      }
      /**
       * optional bytes data = 4;
       */
      public Builder setData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        data_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes data = 4;
       */
      public Builder clearData() {
        bitField0_ = (bitField0_ & ~0x00000008);
        data_ = getDefaultInstance().getData();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSVCMsg_FullFrameSplit)
    }

    static {
      defaultInstance = new CSVCMsg_FullFrameSplit(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CSVCMsg_FullFrameSplit)
  }

  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CCLCMsg_ClientInfo_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CCLCMsg_ClientInfo_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CCLCMsg_Move_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CCLCMsg_Move_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CCLCMsg_VoiceData_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CCLCMsg_VoiceData_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CCLCMsg_BaselineAck_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CCLCMsg_BaselineAck_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CCLCMsg_ListenEvents_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CCLCMsg_ListenEvents_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CCLCMsg_RespondCvarValue_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CCLCMsg_RespondCvarValue_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CCLCMsg_FileCRCCheck_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CCLCMsg_FileCRCCheck_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CCLCMsg_LoadingProgress_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CCLCMsg_LoadingProgress_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CCLCMsg_SplitPlayerConnect_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CCLCMsg_SplitPlayerConnect_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CCLCMsg_ClientMessage_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CCLCMsg_ClientMessage_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_ServerInfo_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_ServerInfo_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_ClassInfo_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_ClassInfo_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_ClassInfo_class_t_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_ClassInfo_class_t_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_SetPause_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_SetPause_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_VoiceInit_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_VoiceInit_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_Print_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_Print_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_Sounds_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_Sounds_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_Sounds_sounddata_t_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_Sounds_sounddata_t_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_Prefetch_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_Prefetch_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_SetView_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_SetView_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_FixAngle_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_FixAngle_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_CrosshairAngle_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_CrosshairAngle_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_BSPDecal_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_BSPDecal_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_SplitScreen_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_SplitScreen_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_GetCvarValue_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_GetCvarValue_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_Menu_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_Menu_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_SendTable_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_SendTable_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_SendTable_sendprop_t_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_SendTable_sendprop_t_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_GameEventList_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_GameEventList_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_GameEventList_key_t_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_GameEventList_key_t_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_GameEventList_descriptor_t_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_GameEventList_descriptor_t_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_PacketEntities_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_PacketEntities_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_TempEntities_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_TempEntities_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_CreateStringTable_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_CreateStringTable_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_UpdateStringTable_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_UpdateStringTable_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_VoiceData_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_VoiceData_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_PacketReliable_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_PacketReliable_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CSVCMsg_FullFrameSplit_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSVCMsg_FullFrameSplit_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\021netmessages.proto\032 google/protobuf/des" +
      "criptor.proto\032\026networkbasetypes.proto\"\246\001" +
      "\n\022CCLCMsg_ClientInfo\022\026\n\016send_table_crc\030\001" +
      " \001(\007\022\024\n\014server_count\030\002 \001(\r\022\017\n\007is_hltv\030\003 " +
      "\001(\010\022\021\n\tis_replay\030\004 \001(\010\022\022\n\nfriends_id\030\005 \001" +
      "(\r\022\024\n\014friends_name\030\006 \001(\t\022\024\n\014custom_files" +
      "\030\007 \003(\007\"S\n\014CCLCMsg_Move\022\033\n\023num_backup_com" +
      "mands\030\001 \001(\r\022\030\n\020num_new_commands\030\002 \001(\r\022\014\n" +
      "\004data\030\003 \001(\014\"\315\001\n\021CCLCMsg_VoiceData\022\014\n\004dat" +
      "a\030\001 \001(\014\022\014\n\004xuid\030\002 \001(\006\022:\n\006format\030\003 \001(\0162\022.",
      "VoiceDataFormat_t:\026VOICEDATA_FORMAT_STEA" +
      "M\022\026\n\016sequence_bytes\030\004 \001(\005\022\026\n\016section_num" +
      "ber\030\005 \001(\r\022\"\n\032uncompressed_sample_offset\030" +
      "\006 \001(\r\022\014\n\004tick\030\007 \001(\r\"A\n\023CCLCMsg_BaselineA" +
      "ck\022\025\n\rbaseline_tick\030\001 \001(\005\022\023\n\013baseline_nr" +
      "\030\002 \001(\005\"*\n\024CCLCMsg_ListenEvents\022\022\n\nevent_" +
      "mask\030\001 \003(\007\"\\\n\030CCLCMsg_RespondCvarValue\022\016" +
      "\n\006cookie\030\001 \001(\005\022\023\n\013status_code\030\002 \001(\005\022\014\n\004n" +
      "ame\030\003 \001(\t\022\r\n\005value\030\004 \001(\t\"m\n\024CCLCMsg_File" +
      "CRCCheck\022\021\n\tcode_path\030\001 \001(\005\022\014\n\004path\030\002 \001(",
      "\t\022\025\n\rcode_filename\030\003 \001(\005\022\020\n\010filename\030\004 \001" +
      "(\t\022\013\n\003crc\030\005 \001(\007\"+\n\027CCLCMsg_LoadingProgre" +
      "ss\022\020\n\010progress\030\001 \001(\005\":\n\032CCLCMsg_SplitPla" +
      "yerConnect\022\034\n\007convars\030\001 \001(\0132\013.CMsg_CVars" +
      "\"7\n\025CCLCMsg_ClientMessage\022\020\n\010msg_type\030\001 " +
      "\001(\005\022\014\n\004data\030\002 \001(\014\"\366\002\n\022CSVCMsg_ServerInfo" +
      "\022\020\n\010protocol\030\001 \001(\005\022\024\n\014server_count\030\002 \001(\005" +
      "\022\024\n\014is_dedicated\030\003 \001(\010\022\017\n\007is_hltv\030\004 \001(\010\022" +
      "\021\n\tis_replay\030\005 \001(\010\022\014\n\004c_os\030\006 \001(\005\022\017\n\007map_" +
      "crc\030\007 \001(\007\022\022\n\nclient_crc\030\010 \001(\007\022\030\n\020string_",
      "table_crc\030\t \001(\007\022\023\n\013max_clients\030\n \001(\005\022\023\n\013" +
      "max_classes\030\013 \001(\005\022\023\n\013player_slot\030\014 \001(\005\022\025" +
      "\n\rtick_interval\030\r \001(\002\022\020\n\010game_dir\030\016 \001(\t\022" +
      "\020\n\010map_name\030\017 \001(\t\022\020\n\010sky_name\030\020 \001(\t\022\021\n\th" +
      "ost_name\030\021 \001(\t\022\022\n\naddon_name\030\022 \001(\t\"\244\001\n\021C" +
      "SVCMsg_ClassInfo\022\030\n\020create_on_client\030\001 \001" +
      "(\010\022+\n\007classes\030\002 \003(\0132\032.CSVCMsg_ClassInfo." +
      "class_t\032H\n\007class_t\022\020\n\010class_id\030\001 \001(\005\022\027\n\017" +
      "data_table_name\030\002 \001(\t\022\022\n\nclass_name\030\003 \001(" +
      "\t\"\"\n\020CSVCMsg_SetPause\022\016\n\006paused\030\001 \001(\010\"G\n",
      "\021CSVCMsg_VoiceInit\022\017\n\007quality\030\001 \001(\005\022\r\n\005c" +
      "odec\030\002 \001(\t\022\022\n\007version\030\003 \001(\005:\0010\"\035\n\rCSVCMs" +
      "g_Print\022\014\n\004text\030\001 \001(\t\"\266\003\n\016CSVCMsg_Sounds" +
      "\022\026\n\016reliable_sound\030\001 \001(\010\022+\n\006sounds\030\002 \003(\013" +
      "2\033.CSVCMsg_Sounds.sounddata_t\032\336\002\n\013soundd" +
      "ata_t\022\020\n\010origin_x\030\001 \001(\021\022\020\n\010origin_y\030\002 \001(" +
      "\021\022\020\n\010origin_z\030\003 \001(\021\022\016\n\006volume\030\004 \001(\r\022\023\n\013d" +
      "elay_value\030\005 \001(\002\022\027\n\017sequence_number\030\006 \001(" +
      "\005\022\024\n\014entity_index\030\007 \001(\005\022\017\n\007channel\030\010 \001(\005" +
      "\022\r\n\005pitch\030\t \001(\005\022\r\n\005flags\030\n \001(\005\022\021\n\tsound_",
      "num\030\013 \001(\r\022\030\n\020sound_num_handle\030\014 \001(\007\022\026\n\016s" +
      "peaker_entity\030\r \001(\005\022\023\n\013random_seed\030\016 \001(\005" +
      "\022\023\n\013sound_level\030\017 \001(\005\022\023\n\013is_sentence\030\020 \001" +
      "(\010\022\022\n\nis_ambient\030\021 \001(\010\"\'\n\020CSVCMsg_Prefet" +
      "ch\022\023\n\013sound_index\030\001 \001(\005\"\'\n\017CSVCMsg_SetVi" +
      "ew\022\024\n\014entity_index\030\001 \001(\005\"@\n\020CSVCMsg_FixA" +
      "ngle\022\020\n\010relative\030\001 \001(\010\022\032\n\005angle\030\002 \001(\0132\013." +
      "CMsgQAngle\"4\n\026CSVCMsg_CrosshairAngle\022\032\n\005" +
      "angle\030\001 \001(\0132\013.CMsgQAngle\"\212\001\n\020CSVCMsg_BSP" +
      "Decal\022\030\n\003pos\030\001 \001(\0132\013.CMsgVector\022\033\n\023decal",
      "_texture_index\030\002 \001(\005\022\024\n\014entity_index\030\003 \001" +
      "(\005\022\023\n\013model_index\030\004 \001(\005\022\024\n\014low_priority\030" +
      "\005 \001(\010\"z\n\023CSVCMsg_SplitScreen\022?\n\004type\030\001 \001" +
      "(\0162\030.ESplitScreenMessageType:\027MSG_SPLITS" +
      "CREEN_ADDUSER\022\014\n\004slot\030\002 \001(\005\022\024\n\014player_in" +
      "dex\030\003 \001(\005\"9\n\024CSVCMsg_GetCvarValue\022\016\n\006coo" +
      "kie\030\001 \001(\005\022\021\n\tcvar_name\030\002 \001(\t\"<\n\014CSVCMsg_" +
      "Menu\022\023\n\013dialog_type\030\001 \001(\005\022\027\n\017menu_key_va" +
      "lues\030\002 \001(\014\"\260\002\n\021CSVCMsg_SendTable\022\016\n\006is_e" +
      "nd\030\001 \001(\010\022\026\n\016net_table_name\030\002 \001(\t\022\025\n\rneed",
      "s_decoder\030\003 \001(\010\022,\n\005props\030\004 \003(\0132\035.CSVCMsg" +
      "_SendTable.sendprop_t\032\255\001\n\nsendprop_t\022\014\n\004" +
      "type\030\001 \001(\005\022\020\n\010var_name\030\002 \001(\t\022\r\n\005flags\030\003 " +
      "\001(\005\022\020\n\010priority\030\004 \001(\005\022\017\n\007dt_name\030\005 \001(\t\022\024" +
      "\n\014num_elements\030\006 \001(\005\022\021\n\tlow_value\030\007 \001(\002\022" +
      "\022\n\nhigh_value\030\010 \001(\002\022\020\n\010num_bits\030\t \001(\005\"\321\001" +
      "\n\025CSVCMsg_GameEventList\0228\n\013descriptors\030\001" +
      " \003(\0132#.CSVCMsg_GameEventList.descriptor_" +
      "t\032#\n\005key_t\022\014\n\004type\030\001 \001(\005\022\014\n\004name\030\002 \001(\t\032Y" +
      "\n\014descriptor_t\022\017\n\007eventid\030\001 \001(\005\022\014\n\004name\030",
      "\002 \001(\t\022*\n\004keys\030\003 \003(\0132\034.CSVCMsg_GameEventL" +
      "ist.key_t\"\310\001\n\026CSVCMsg_PacketEntities\022\023\n\013" +
      "max_entries\030\001 \001(\005\022\027\n\017updated_entries\030\002 \001" +
      "(\005\022\020\n\010is_delta\030\003 \001(\010\022\027\n\017update_baseline\030" +
      "\004 \001(\010\022\020\n\010baseline\030\005 \001(\005\022\022\n\ndelta_from\030\006 " +
      "\001(\005\022\023\n\013entity_data\030\007 \001(\014\022\032\n\022pending_full" +
      "_frame\030\010 \001(\010\"R\n\024CSVCMsg_TempEntities\022\020\n\010" +
      "reliable\030\001 \001(\010\022\023\n\013num_entries\030\002 \001(\005\022\023\n\013e" +
      "ntity_data\030\003 \001(\014\"\312\001\n\031CSVCMsg_CreateStrin" +
      "gTable\022\014\n\004name\030\001 \001(\t\022\023\n\013max_entries\030\002 \001(",
      "\005\022\023\n\013num_entries\030\003 \001(\005\022\034\n\024user_data_fixe" +
      "d_size\030\004 \001(\010\022\026\n\016user_data_size\030\005 \001(\005\022\033\n\023" +
      "user_data_size_bits\030\006 \001(\005\022\r\n\005flags\030\007 \001(\005" +
      "\022\023\n\013string_data\030\010 \001(\014\"_\n\031CSVCMsg_UpdateS" +
      "tringTable\022\020\n\010table_id\030\001 \001(\005\022\033\n\023num_chan" +
      "ged_entries\030\002 \001(\005\022\023\n\013string_data\030\003 \001(\014\"\214" +
      "\002\n\021CSVCMsg_VoiceData\022\016\n\006client\030\001 \001(\005\022\021\n\t" +
      "proximity\030\002 \001(\010\022\014\n\004xuid\030\003 \001(\006\022\024\n\014audible" +
      "_mask\030\004 \001(\005\022\022\n\nvoice_data\030\005 \001(\014\022:\n\006forma" +
      "t\030\006 \001(\0162\022.VoiceDataFormat_t:\026VOICEDATA_F",
      "ORMAT_STEAM\022\026\n\016sequence_bytes\030\007 \001(\005\022\026\n\016s" +
      "ection_number\030\010 \001(\r\022\"\n\032uncompressed_samp" +
      "le_offset\030\t \001(\r\022\014\n\004tick\030\n \001(\r\"<\n\026CSVCMsg" +
      "_PacketReliable\022\014\n\004tick\030\001 \001(\005\022\024\n\014message" +
      "ssize\030\002 \001(\005\"T\n\026CSVCMsg_FullFrameSplit\022\014\n" +
      "\004tick\030\001 \001(\005\022\017\n\007section\030\002 \001(\005\022\r\n\005total\030\003 " +
      "\001(\005\022\014\n\004data\030\004 \001(\014*\352\001\n\014CLC_Messages\022\022\n\016cl" +
      "c_ClientInfo\020\010\022\014\n\010clc_Move\020\t\022\021\n\rclc_Voic" +
      "eData\020\n\022\023\n\017clc_BaselineAck\020\013\022\024\n\020clc_List" +
      "enEvents\020\014\022\030\n\024clc_RespondCvarValue\020\r\022\024\n\020",
      "clc_FileCRCCheck\020\016\022\027\n\023clc_LoadingProgres" +
      "s\020\017\022\032\n\026clc_SplitPlayerConnect\020\020\022\025\n\021clc_C" +
      "lientMessage\020\021*\241\004\n\014SVC_Messages\022\022\n\016svc_S" +
      "erverInfo\020\010\022\021\n\rsvc_SendTable\020\t\022\021\n\rsvc_Cl" +
      "assInfo\020\n\022\020\n\014svc_SetPause\020\013\022\031\n\025svc_Creat" +
      "eStringTable\020\014\022\031\n\025svc_UpdateStringTable\020" +
      "\r\022\021\n\rsvc_VoiceInit\020\016\022\021\n\rsvc_VoiceData\020\017\022" +
      "\r\n\tsvc_Print\020\020\022\016\n\nsvc_Sounds\020\021\022\017\n\013svc_Se" +
      "tView\020\022\022\020\n\014svc_FixAngle\020\023\022\026\n\022svc_Crossha" +
      "irAngle\020\024\022\020\n\014svc_BSPDecal\020\025\022\023\n\017svc_Split",
      "Screen\020\026\022\023\n\017svc_UserMessage\020\027\022\025\n\021svc_Ent" +
      "ityMessage\020\030\022\021\n\rsvc_GameEvent\020\031\022\026\n\022svc_P" +
      "acketEntities\020\032\022\024\n\020svc_TempEntities\020\033\022\020\n" +
      "\014svc_Prefetch\020\034\022\014\n\010svc_Menu\020\035\022\025\n\021svc_Gam" +
      "eEventList\020\036\022\024\n\020svc_GetCvarValue\020\037\022\026\n\022sv" +
      "c_PacketReliable\020 \022\026\n\022svc_FullFrameSplit" +
      "\020!*L\n\021VoiceDataFormat_t\022\032\n\026VOICEDATA_FOR" +
      "MAT_STEAM\020\000\022\033\n\027VOICEDATA_FORMAT_ENGINE\020\001" +
      "*V\n\027ESplitScreenMessageType\022\033\n\027MSG_SPLIT" +
      "SCREEN_ADDUSER\020\000\022\036\n\032MSG_SPLITSCREEN_REMO",
      "VEUSER\020\001B\021\n\017com.dota2.proto"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
      new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
        public com.google.protobuf.ExtensionRegistry assignDescriptors(
            com.google.protobuf.Descriptors.FileDescriptor root) {
          descriptor = root;
          internal_static_CCLCMsg_ClientInfo_descriptor =
            getDescriptor().getMessageTypes().get(0);
          internal_static_CCLCMsg_ClientInfo_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CCLCMsg_ClientInfo_descriptor,
              new java.lang.String[] { "SendTableCrc", "ServerCount", "IsHltv", "IsReplay", "FriendsId", "FriendsName", "CustomFiles", });
          internal_static_CCLCMsg_Move_descriptor =
            getDescriptor().getMessageTypes().get(1);
          internal_static_CCLCMsg_Move_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CCLCMsg_Move_descriptor,
              new java.lang.String[] { "NumBackupCommands", "NumNewCommands", "Data", });
          internal_static_CCLCMsg_VoiceData_descriptor =
            getDescriptor().getMessageTypes().get(2);
          internal_static_CCLCMsg_VoiceData_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CCLCMsg_VoiceData_descriptor,
              new java.lang.String[] { "Data", "Xuid", "Format", "SequenceBytes", "SectionNumber", "UncompressedSampleOffset", "Tick", });
          internal_static_CCLCMsg_BaselineAck_descriptor =
            getDescriptor().getMessageTypes().get(3);
          internal_static_CCLCMsg_BaselineAck_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CCLCMsg_BaselineAck_descriptor,
              new java.lang.String[] { "BaselineTick", "BaselineNr", });
          internal_static_CCLCMsg_ListenEvents_descriptor =
            getDescriptor().getMessageTypes().get(4);
          internal_static_CCLCMsg_ListenEvents_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CCLCMsg_ListenEvents_descriptor,
              new java.lang.String[] { "EventMask", });
          internal_static_CCLCMsg_RespondCvarValue_descriptor =
            getDescriptor().getMessageTypes().get(5);
          internal_static_CCLCMsg_RespondCvarValue_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CCLCMsg_RespondCvarValue_descriptor,
              new java.lang.String[] { "Cookie", "StatusCode", "Name", "Value", });
          internal_static_CCLCMsg_FileCRCCheck_descriptor =
            getDescriptor().getMessageTypes().get(6);
          internal_static_CCLCMsg_FileCRCCheck_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CCLCMsg_FileCRCCheck_descriptor,
              new java.lang.String[] { "CodePath", "Path", "CodeFilename", "Filename", "Crc", });
          internal_static_CCLCMsg_LoadingProgress_descriptor =
            getDescriptor().getMessageTypes().get(7);
          internal_static_CCLCMsg_LoadingProgress_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CCLCMsg_LoadingProgress_descriptor,
              new java.lang.String[] { "Progress", });
          internal_static_CCLCMsg_SplitPlayerConnect_descriptor =
            getDescriptor().getMessageTypes().get(8);
          internal_static_CCLCMsg_SplitPlayerConnect_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CCLCMsg_SplitPlayerConnect_descriptor,
              new java.lang.String[] { "Convars", });
          internal_static_CCLCMsg_ClientMessage_descriptor =
            getDescriptor().getMessageTypes().get(9);
          internal_static_CCLCMsg_ClientMessage_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CCLCMsg_ClientMessage_descriptor,
              new java.lang.String[] { "MsgType", "Data", });
          internal_static_CSVCMsg_ServerInfo_descriptor =
            getDescriptor().getMessageTypes().get(10);
          internal_static_CSVCMsg_ServerInfo_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_ServerInfo_descriptor,
              new java.lang.String[] { "Protocol", "ServerCount", "IsDedicated", "IsHltv", "IsReplay", "COs", "MapCrc", "ClientCrc", "StringTableCrc", "MaxClients", "MaxClasses", "PlayerSlot", "TickInterval", "GameDir", "MapName", "SkyName", "HostName", "AddonName", });
          internal_static_CSVCMsg_ClassInfo_descriptor =
            getDescriptor().getMessageTypes().get(11);
          internal_static_CSVCMsg_ClassInfo_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_ClassInfo_descriptor,
              new java.lang.String[] { "CreateOnClient", "Classes", });
          internal_static_CSVCMsg_ClassInfo_class_t_descriptor =
            internal_static_CSVCMsg_ClassInfo_descriptor.getNestedTypes().get(0);
          internal_static_CSVCMsg_ClassInfo_class_t_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_ClassInfo_class_t_descriptor,
              new java.lang.String[] { "ClassId", "DataTableName", "ClassName", });
          internal_static_CSVCMsg_SetPause_descriptor =
            getDescriptor().getMessageTypes().get(12);
          internal_static_CSVCMsg_SetPause_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_SetPause_descriptor,
              new java.lang.String[] { "Paused", });
          internal_static_CSVCMsg_VoiceInit_descriptor =
            getDescriptor().getMessageTypes().get(13);
          internal_static_CSVCMsg_VoiceInit_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_VoiceInit_descriptor,
              new java.lang.String[] { "Quality", "Codec", "Version", });
          internal_static_CSVCMsg_Print_descriptor =
            getDescriptor().getMessageTypes().get(14);
          internal_static_CSVCMsg_Print_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_Print_descriptor,
              new java.lang.String[] { "Text", });
          internal_static_CSVCMsg_Sounds_descriptor =
            getDescriptor().getMessageTypes().get(15);
          internal_static_CSVCMsg_Sounds_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_Sounds_descriptor,
              new java.lang.String[] { "ReliableSound", "Sounds", });
          internal_static_CSVCMsg_Sounds_sounddata_t_descriptor =
            internal_static_CSVCMsg_Sounds_descriptor.getNestedTypes().get(0);
          internal_static_CSVCMsg_Sounds_sounddata_t_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_Sounds_sounddata_t_descriptor,
              new java.lang.String[] { "OriginX", "OriginY", "OriginZ", "Volume", "DelayValue", "SequenceNumber", "EntityIndex", "Channel", "Pitch", "Flags", "SoundNum", "SoundNumHandle", "SpeakerEntity", "RandomSeed", "SoundLevel", "IsSentence", "IsAmbient", });
          internal_static_CSVCMsg_Prefetch_descriptor =
            getDescriptor().getMessageTypes().get(16);
          internal_static_CSVCMsg_Prefetch_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_Prefetch_descriptor,
              new java.lang.String[] { "SoundIndex", });
          internal_static_CSVCMsg_SetView_descriptor =
            getDescriptor().getMessageTypes().get(17);
          internal_static_CSVCMsg_SetView_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_SetView_descriptor,
              new java.lang.String[] { "EntityIndex", });
          internal_static_CSVCMsg_FixAngle_descriptor =
            getDescriptor().getMessageTypes().get(18);
          internal_static_CSVCMsg_FixAngle_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_FixAngle_descriptor,
              new java.lang.String[] { "Relative", "Angle", });
          internal_static_CSVCMsg_CrosshairAngle_descriptor =
            getDescriptor().getMessageTypes().get(19);
          internal_static_CSVCMsg_CrosshairAngle_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_CrosshairAngle_descriptor,
              new java.lang.String[] { "Angle", });
          internal_static_CSVCMsg_BSPDecal_descriptor =
            getDescriptor().getMessageTypes().get(20);
          internal_static_CSVCMsg_BSPDecal_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_BSPDecal_descriptor,
              new java.lang.String[] { "Pos", "DecalTextureIndex", "EntityIndex", "ModelIndex", "LowPriority", });
          internal_static_CSVCMsg_SplitScreen_descriptor =
            getDescriptor().getMessageTypes().get(21);
          internal_static_CSVCMsg_SplitScreen_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_SplitScreen_descriptor,
              new java.lang.String[] { "Type", "Slot", "PlayerIndex", });
          internal_static_CSVCMsg_GetCvarValue_descriptor =
            getDescriptor().getMessageTypes().get(22);
          internal_static_CSVCMsg_GetCvarValue_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_GetCvarValue_descriptor,
              new java.lang.String[] { "Cookie", "CvarName", });
          internal_static_CSVCMsg_Menu_descriptor =
            getDescriptor().getMessageTypes().get(23);
          internal_static_CSVCMsg_Menu_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_Menu_descriptor,
              new java.lang.String[] { "DialogType", "MenuKeyValues", });
          internal_static_CSVCMsg_SendTable_descriptor =
            getDescriptor().getMessageTypes().get(24);
          internal_static_CSVCMsg_SendTable_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_SendTable_descriptor,
              new java.lang.String[] { "IsEnd", "NetTableName", "NeedsDecoder", "Props", });
          internal_static_CSVCMsg_SendTable_sendprop_t_descriptor =
            internal_static_CSVCMsg_SendTable_descriptor.getNestedTypes().get(0);
          internal_static_CSVCMsg_SendTable_sendprop_t_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_SendTable_sendprop_t_descriptor,
              new java.lang.String[] { "Type", "VarName", "Flags", "Priority", "DtName", "NumElements", "LowValue", "HighValue", "NumBits", });
          internal_static_CSVCMsg_GameEventList_descriptor =
            getDescriptor().getMessageTypes().get(25);
          internal_static_CSVCMsg_GameEventList_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_GameEventList_descriptor,
              new java.lang.String[] { "Descriptors", });
          internal_static_CSVCMsg_GameEventList_key_t_descriptor =
            internal_static_CSVCMsg_GameEventList_descriptor.getNestedTypes().get(0);
          internal_static_CSVCMsg_GameEventList_key_t_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_GameEventList_key_t_descriptor,
              new java.lang.String[] { "Type", "Name", });
          internal_static_CSVCMsg_GameEventList_descriptor_t_descriptor =
            internal_static_CSVCMsg_GameEventList_descriptor.getNestedTypes().get(1);
          internal_static_CSVCMsg_GameEventList_descriptor_t_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_GameEventList_descriptor_t_descriptor,
              new java.lang.String[] { "Eventid", "Name", "Keys", });
          internal_static_CSVCMsg_PacketEntities_descriptor =
            getDescriptor().getMessageTypes().get(26);
          internal_static_CSVCMsg_PacketEntities_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_PacketEntities_descriptor,
              new java.lang.String[] { "MaxEntries", "UpdatedEntries", "IsDelta", "UpdateBaseline", "Baseline", "DeltaFrom", "EntityData", "PendingFullFrame", });
          internal_static_CSVCMsg_TempEntities_descriptor =
            getDescriptor().getMessageTypes().get(27);
          internal_static_CSVCMsg_TempEntities_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_TempEntities_descriptor,
              new java.lang.String[] { "Reliable", "NumEntries", "EntityData", });
          internal_static_CSVCMsg_CreateStringTable_descriptor =
            getDescriptor().getMessageTypes().get(28);
          internal_static_CSVCMsg_CreateStringTable_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_CreateStringTable_descriptor,
              new java.lang.String[] { "Name", "MaxEntries", "NumEntries", "UserDataFixedSize", "UserDataSize", "UserDataSizeBits", "Flags", "StringData", });
          internal_static_CSVCMsg_UpdateStringTable_descriptor =
            getDescriptor().getMessageTypes().get(29);
          internal_static_CSVCMsg_UpdateStringTable_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_UpdateStringTable_descriptor,
              new java.lang.String[] { "TableId", "NumChangedEntries", "StringData", });
          internal_static_CSVCMsg_VoiceData_descriptor =
            getDescriptor().getMessageTypes().get(30);
          internal_static_CSVCMsg_VoiceData_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_VoiceData_descriptor,
              new java.lang.String[] { "Client", "Proximity", "Xuid", "AudibleMask", "VoiceData", "Format", "SequenceBytes", "SectionNumber", "UncompressedSampleOffset", "Tick", });
          internal_static_CSVCMsg_PacketReliable_descriptor =
            getDescriptor().getMessageTypes().get(31);
          internal_static_CSVCMsg_PacketReliable_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_PacketReliable_descriptor,
              new java.lang.String[] { "Tick", "Messagessize", });
          internal_static_CSVCMsg_FullFrameSplit_descriptor =
            getDescriptor().getMessageTypes().get(32);
          internal_static_CSVCMsg_FullFrameSplit_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CSVCMsg_FullFrameSplit_descriptor,
              new java.lang.String[] { "Tick", "Section", "Total", "Data", });
          return null;
        }
      };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          com.google.protobuf.DescriptorProtos.getDescriptor(),
          com.dota2.proto.Networkbasetypes.getDescriptor(),
        }, assigner);
  }

  // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy