text: /* Generated by the protocol buffer compiler.  DO NOT EDIT! */
  /* Generated from: s2_dota_match_metadata.proto */
  
  /* Do not generate deprecated warnings for self */
  #ifndef PROTOBUF_C__NO_DEPRECATED
  #define PROTOBUF_C__NO_DEPRECATED
  #endif
  
  #include <libeffigywire/s2_dota_match_metadata.pb-c.h>
  void   cdotamatch_metadata_file__init
                       (CDOTAMatchMetadataFile         *message)
  {
    static CDOTAMatchMetadataFile init_value = CDOTAMATCH_METADATA_FILE__INIT;
    *message = init_value;
  }
  size_t cdotamatch_metadata_file__get_packed_size
                       (const CDOTAMatchMetadataFile *message)
  {
    assert(message->base.descriptor == &cdotamatch_metadata_file__descriptor);
    return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
  }
  size_t cdotamatch_metadata_file__pack
                       (const CDOTAMatchMetadataFile *message,
                        uint8_t       *out)
  {
    assert(message->base.descriptor == &cdotamatch_metadata_file__descriptor);
    return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
  }
  size_t cdotamatch_metadata_file__pack_to_buffer
                       (const CDOTAMatchMetadataFile *message,
                        ProtobufCBuffer *buffer)
  {
    assert(message->base.descriptor == &cdotamatch_metadata_file__descriptor);
    return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
  }
  CDOTAMatchMetadataFile *
         cdotamatch_metadata_file__unpack
                       (ProtobufCAllocator  *allocator,
                        size_t               len,
                        const uint8_t       *data)
  {
    return (CDOTAMatchMetadataFile *)
       protobuf_c_message_unpack (&cdotamatch_metadata_file__descriptor,
                                  allocator, len, data);
  }
  void   cdotamatch_metadata_file__free_unpacked
                       (CDOTAMatchMetadataFile *message,
                        ProtobufCAllocator *allocator)
  {
    assert(message->base.descriptor == &cdotamatch_metadata_file__descriptor);
    protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
  }
  void   cdotamatch_metadata__team__player_kill__init
                       (CDOTAMatchMetadata__Team__PlayerKill         *message)
  {
    static CDOTAMatchMetadata__Team__PlayerKill init_value = CDOTAMATCH_METADATA__TEAM__PLAYER_KILL__INIT;
    *message = init_value;
  }
  void   cdotamatch_metadata__team__player__init
                       (CDOTAMatchMetadata__Team__Player         *message)
  {
    static CDOTAMatchMetadata__Team__Player init_value = CDOTAMATCH_METADATA__TEAM__PLAYER__INIT;
    *message = init_value;
  }
  void   cdotamatch_metadata__team__init
                       (CDOTAMatchMetadata__Team         *message)
  {
    static CDOTAMatchMetadata__Team init_value = CDOTAMATCH_METADATA__TEAM__INIT;
    *message = init_value;
  }
  void   cdotamatch_metadata__init
                       (CDOTAMatchMetadata         *message)
  {
    static CDOTAMatchMetadata init_value = CDOTAMATCH_METADATA__INIT;
    *message = init_value;
  }
  size_t cdotamatch_metadata__get_packed_size
                       (const CDOTAMatchMetadata *message)
  {
    assert(message->base.descriptor == &cdotamatch_metadata__descriptor);
    return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
  }
  size_t cdotamatch_metadata__pack
                       (const CDOTAMatchMetadata *message,
                        uint8_t       *out)
  {
    assert(message->base.descriptor == &cdotamatch_metadata__descriptor);
    return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
  }
  size_t cdotamatch_metadata__pack_to_buffer
                       (const CDOTAMatchMetadata *message,
                        ProtobufCBuffer *buffer)
  {
    assert(message->base.descriptor == &cdotamatch_metadata__descriptor);
    return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
  }
  CDOTAMatchMetadata *
         cdotamatch_metadata__unpack
                       (ProtobufCAllocator  *allocator,
                        size_t               len,
                        const uint8_t       *data)
  {
    return (CDOTAMatchMetadata *)
       protobuf_c_message_unpack (&cdotamatch_metadata__descriptor,
                                  allocator, len, data);
  }
  void   cdotamatch_metadata__free_unpacked
                       (CDOTAMatchMetadata *message,
                        ProtobufCAllocator *allocator)
  {
    assert(message->base.descriptor == &cdotamatch_metadata__descriptor);
    protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
  }
  void   cdotamatch_private_metadata__kill__init
                       (CDOTAMatchPrivateMetadata__Kill         *message)
  {
    static CDOTAMatchPrivateMetadata__Kill init_value = CDOTAMATCH_PRIVATE_METADATA__KILL__INIT;
    *message = init_value;
  }
  void   cdotamatch_private_metadata__init
                       (CDOTAMatchPrivateMetadata         *message)
  {
    static CDOTAMatchPrivateMetadata init_value = CDOTAMATCH_PRIVATE_METADATA__INIT;
    *message = init_value;
  }
  size_t cdotamatch_private_metadata__get_packed_size
                       (const CDOTAMatchPrivateMetadata *message)
  {
    assert(message->base.descriptor == &cdotamatch_private_metadata__descriptor);
    return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
  }
  size_t cdotamatch_private_metadata__pack
                       (const CDOTAMatchPrivateMetadata *message,
                        uint8_t       *out)
  {
    assert(message->base.descriptor == &cdotamatch_private_metadata__descriptor);
    return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
  }
  size_t cdotamatch_private_metadata__pack_to_buffer
                       (const CDOTAMatchPrivateMetadata *message,
                        ProtobufCBuffer *buffer)
  {
    assert(message->base.descriptor == &cdotamatch_private_metadata__descriptor);
    return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
  }
  CDOTAMatchPrivateMetadata *
         cdotamatch_private_metadata__unpack
                       (ProtobufCAllocator  *allocator,
                        size_t               len,
                        const uint8_t       *data)
  {
    return (CDOTAMatchPrivateMetadata *)
       protobuf_c_message_unpack (&cdotamatch_private_metadata__descriptor,
                                  allocator, len, data);
  }
  void   cdotamatch_private_metadata__free_unpacked
                       (CDOTAMatchPrivateMetadata *message,
                        ProtobufCAllocator *allocator)
  {
    assert(message->base.descriptor == &cdotamatch_private_metadata__descriptor);
    protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
  }
  void   clobby_timed_reward_details__init
                       (CLobbyTimedRewardDetails         *message)
  {
    static CLobbyTimedRewardDetails init_value = CLOBBY_TIMED_REWARD_DETAILS__INIT;
    *message = init_value;
  }
  size_t clobby_timed_reward_details__get_packed_size
                       (const CLobbyTimedRewardDetails *message)
  {
    assert(message->base.descriptor == &clobby_timed_reward_details__descriptor);
    return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
  }
  size_t clobby_timed_reward_details__pack
                       (const CLobbyTimedRewardDetails *message,
                        uint8_t       *out)
  {
    assert(message->base.descriptor == &clobby_timed_reward_details__descriptor);
    return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
  }
  size_t clobby_timed_reward_details__pack_to_buffer
                       (const CLobbyTimedRewardDetails *message,
                        ProtobufCBuffer *buffer)
  {
    assert(message->base.descriptor == &clobby_timed_reward_details__descriptor);
    return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
  }
  CLobbyTimedRewardDetails *
         clobby_timed_reward_details__unpack
                       (ProtobufCAllocator  *allocator,
                        size_t               len,
                        const uint8_t       *data)
  {
    return (CLobbyTimedRewardDetails *)
       protobuf_c_message_unpack (&clobby_timed_reward_details__descriptor,
                                  allocator, len, data);
  }
  void   clobby_timed_reward_details__free_unpacked
                       (CLobbyTimedRewardDetails *message,
                        ProtobufCAllocator *allocator)
  {
    assert(message->base.descriptor == &clobby_timed_reward_details__descriptor);
    protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
  }
  static const ProtobufCFieldDescriptor cdotamatch_metadata_file__field_descriptors[4] =
  {
    {
      "version",
      1,
      PROTOBUF_C_LABEL_REQUIRED,
      PROTOBUF_C_TYPE_INT32,
      0,   /* quantifier_offset */
      offsetof(CDOTAMatchMetadataFile, version),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "match_id",
      2,
      PROTOBUF_C_LABEL_REQUIRED,
      PROTOBUF_C_TYPE_UINT64,
      0,   /* quantifier_offset */
      offsetof(CDOTAMatchMetadataFile, match_id),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "metadata",
      3,
      PROTOBUF_C_LABEL_OPTIONAL,
      PROTOBUF_C_TYPE_MESSAGE,
      0,   /* quantifier_offset */
      offsetof(CDOTAMatchMetadataFile, metadata),
      &cdotamatch_metadata__descriptor,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "private_metadata",
      4,
      PROTOBUF_C_LABEL_OPTIONAL,
      PROTOBUF_C_TYPE_BYTES,
      offsetof(CDOTAMatchMetadataFile, has_private_metadata),
      offsetof(CDOTAMatchMetadataFile, private_metadata),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
  };
  static const unsigned cdotamatch_metadata_file__field_indices_by_name[] = {
    1,   /* field[1] = match_id */
    2,   /* field[2] = metadata */
    3,   /* field[3] = private_metadata */
    0,   /* field[0] = version */
  };
  static const ProtobufCIntRange cdotamatch_metadata_file__number_ranges[1 + 1] =
  {
    { 1, 0 },
    { 0, 4 }
  };
  const ProtobufCMessageDescriptor cdotamatch_metadata_file__descriptor =
  {
    PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
    "CDOTAMatchMetadataFile",
    "CDOTAMatchMetadataFile",
    "CDOTAMatchMetadataFile",
    "",
    sizeof(CDOTAMatchMetadataFile),
    4,
    cdotamatch_metadata_file__field_descriptors,
    cdotamatch_metadata_file__field_indices_by_name,
    1,  cdotamatch_metadata_file__number_ranges,
    (ProtobufCMessageInit) cdotamatch_metadata_file__init,
    NULL,NULL,NULL    /* reserved[123] */
  };
  static const ProtobufCFieldDescriptor cdotamatch_metadata__team__player_kill__field_descriptors[2] =
  {
    {
      "victim_slot",
      1,
      PROTOBUF_C_LABEL_OPTIONAL,
      PROTOBUF_C_TYPE_UINT32,
      offsetof(CDOTAMatchMetadata__Team__PlayerKill, has_victim_slot),
      offsetof(CDOTAMatchMetadata__Team__PlayerKill, victim_slot),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "count",
      2,
      PROTOBUF_C_LABEL_OPTIONAL,
      PROTOBUF_C_TYPE_UINT32,
      offsetof(CDOTAMatchMetadata__Team__PlayerKill, has_count),
      offsetof(CDOTAMatchMetadata__Team__PlayerKill, count),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
  };
  static const unsigned cdotamatch_metadata__team__player_kill__field_indices_by_name[] = {
    1,   /* field[1] = count */
    0,   /* field[0] = victim_slot */
  };
  static const ProtobufCIntRange cdotamatch_metadata__team__player_kill__number_ranges[1 + 1] =
  {
    { 1, 0 },
    { 0, 2 }
  };
  const ProtobufCMessageDescriptor cdotamatch_metadata__team__player_kill__descriptor =
  {
    PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
    "CDOTAMatchMetadata.Team.PlayerKill",
    "PlayerKill",
    "CDOTAMatchMetadata__Team__PlayerKill",
    "",
    sizeof(CDOTAMatchMetadata__Team__PlayerKill),
    2,
    cdotamatch_metadata__team__player_kill__field_descriptors,
    cdotamatch_metadata__team__player_kill__field_indices_by_name,
    1,  cdotamatch_metadata__team__player_kill__number_ranges,
    (ProtobufCMessageInit) cdotamatch_metadata__team__player_kill__init,
    NULL,NULL,NULL    /* reserved[123] */
  };
  static const ProtobufCFieldDescriptor cdotamatch_metadata__team__player__field_descriptors[5] =
  {
    {
      "account_id",
      1,
      PROTOBUF_C_LABEL_OPTIONAL,
      PROTOBUF_C_TYPE_UINT32,
      offsetof(CDOTAMatchMetadata__Team__Player, has_account_id),
      offsetof(CDOTAMatchMetadata__Team__Player, account_id),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "ability_upgrades",
      2,
      PROTOBUF_C_LABEL_REPEATED,
      PROTOBUF_C_TYPE_UINT32,
      offsetof(CDOTAMatchMetadata__Team__Player, n_ability_upgrades),
      offsetof(CDOTAMatchMetadata__Team__Player, ability_upgrades),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "player_slot",
      3,
      PROTOBUF_C_LABEL_OPTIONAL,
      PROTOBUF_C_TYPE_UINT32,
      offsetof(CDOTAMatchMetadata__Team__Player, has_player_slot),
      offsetof(CDOTAMatchMetadata__Team__Player, player_slot),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "equipped_econ_items",
      4,
      PROTOBUF_C_LABEL_REPEATED,
      PROTOBUF_C_TYPE_MESSAGE,
      offsetof(CDOTAMatchMetadata__Team__Player, n_equipped_econ_items),
      offsetof(CDOTAMatchMetadata__Team__Player, equipped_econ_items),
      &csoecon_item__descriptor,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "kills",
      5,
      PROTOBUF_C_LABEL_REPEATED,
      PROTOBUF_C_TYPE_MESSAGE,
      offsetof(CDOTAMatchMetadata__Team__Player, n_kills),
      offsetof(CDOTAMatchMetadata__Team__Player, kills),
      &cdotamatch_metadata__team__player_kill__descriptor,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
  };
  static const unsigned cdotamatch_metadata__team__player__field_indices_by_name[] = {
    1,   /* field[1] = ability_upgrades */
    0,   /* field[0] = account_id */
    3,   /* field[3] = equipped_econ_items */
    4,   /* field[4] = kills */
    2,   /* field[2] = player_slot */
  };
  static const ProtobufCIntRange cdotamatch_metadata__team__player__number_ranges[1 + 1] =
  {
    { 1, 0 },
    { 0, 5 }
  };
  const ProtobufCMessageDescriptor cdotamatch_metadata__team__player__descriptor =
  {
    PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
    "CDOTAMatchMetadata.Team.Player",
    "Player",
    "CDOTAMatchMetadata__Team__Player",
    "",
    sizeof(CDOTAMatchMetadata__Team__Player),
    5,
    cdotamatch_metadata__team__player__field_descriptors,
    cdotamatch_metadata__team__player__field_indices_by_name,
    1,  cdotamatch_metadata__team__player__number_ranges,
    (ProtobufCMessageInit) cdotamatch_metadata__team__player__init,
    NULL,NULL,NULL    /* reserved[123] */
  };
  static const ProtobufCFieldDescriptor cdotamatch_metadata__team__field_descriptors[10] =
  {
    {
      "dota_team",
      1,
      PROTOBUF_C_LABEL_OPTIONAL,
      PROTOBUF_C_TYPE_UINT32,
      offsetof(CDOTAMatchMetadata__Team, has_dota_team),
      offsetof(CDOTAMatchMetadata__Team, dota_team),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "players",
      2,
      PROTOBUF_C_LABEL_REPEATED,
      PROTOBUF_C_TYPE_MESSAGE,
      offsetof(CDOTAMatchMetadata__Team, n_players),
      offsetof(CDOTAMatchMetadata__Team, players),
      &cdotamatch_metadata__team__player__descriptor,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "graph_experience",
      3,
      PROTOBUF_C_LABEL_REPEATED,
      PROTOBUF_C_TYPE_FLOAT,
      offsetof(CDOTAMatchMetadata__Team, n_graph_experience),
      offsetof(CDOTAMatchMetadata__Team, graph_experience),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "graph_gold_earned",
      4,
      PROTOBUF_C_LABEL_REPEATED,
      PROTOBUF_C_TYPE_FLOAT,
      offsetof(CDOTAMatchMetadata__Team, n_graph_gold_earned),
      offsetof(CDOTAMatchMetadata__Team, graph_gold_earned),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "graph_net_worth",
      5,
      PROTOBUF_C_LABEL_REPEATED,
      PROTOBUF_C_TYPE_FLOAT,
      offsetof(CDOTAMatchMetadata__Team, n_graph_net_worth),
      offsetof(CDOTAMatchMetadata__Team, graph_net_worth),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "cm_first_pick",
      6,
      PROTOBUF_C_LABEL_OPTIONAL,
      PROTOBUF_C_TYPE_BOOL,
      offsetof(CDOTAMatchMetadata__Team, has_cm_first_pick),
      offsetof(CDOTAMatchMetadata__Team, cm_first_pick),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "cm_captain_player_id",
      7,
      PROTOBUF_C_LABEL_OPTIONAL,
      PROTOBUF_C_TYPE_UINT32,
      offsetof(CDOTAMatchMetadata__Team, has_cm_captain_player_id),
      offsetof(CDOTAMatchMetadata__Team, cm_captain_player_id),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "cm_bans",
      8,
      PROTOBUF_C_LABEL_REPEATED,
      PROTOBUF_C_TYPE_UINT32,
      offsetof(CDOTAMatchMetadata__Team, n_cm_bans),
      offsetof(CDOTAMatchMetadata__Team, cm_bans),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "cm_picks",
      9,
      PROTOBUF_C_LABEL_REPEATED,
      PROTOBUF_C_TYPE_UINT32,
      offsetof(CDOTAMatchMetadata__Team, n_cm_picks),
      offsetof(CDOTAMatchMetadata__Team, cm_picks),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "cm_penalty",
      10,
      PROTOBUF_C_LABEL_OPTIONAL,
      PROTOBUF_C_TYPE_UINT32,
      offsetof(CDOTAMatchMetadata__Team, has_cm_penalty),
      offsetof(CDOTAMatchMetadata__Team, cm_penalty),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
  };
  static const unsigned cdotamatch_metadata__team__field_indices_by_name[] = {
    7,   /* field[7] = cm_bans */
    6,   /* field[6] = cm_captain_player_id */
    5,   /* field[5] = cm_first_pick */
    9,   /* field[9] = cm_penalty */
    8,   /* field[8] = cm_picks */
    0,   /* field[0] = dota_team */
    2,   /* field[2] = graph_experience */
    3,   /* field[3] = graph_gold_earned */
    4,   /* field[4] = graph_net_worth */
    1,   /* field[1] = players */
  };
  static const ProtobufCIntRange cdotamatch_metadata__team__number_ranges[1 + 1] =
  {
    { 1, 0 },
    { 0, 10 }
  };
  const ProtobufCMessageDescriptor cdotamatch_metadata__team__descriptor =
  {
    PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
    "CDOTAMatchMetadata.Team",
    "Team",
    "CDOTAMatchMetadata__Team",
    "",
    sizeof(CDOTAMatchMetadata__Team),
    10,
    cdotamatch_metadata__team__field_descriptors,
    cdotamatch_metadata__team__field_indices_by_name,
    1,  cdotamatch_metadata__team__number_ranges,
    (ProtobufCMessageInit) cdotamatch_metadata__team__init,
    NULL,NULL,NULL    /* reserved[123] */
  };
  static const ProtobufCFieldDescriptor cdotamatch_metadata__field_descriptors[2] =
  {
    {
      "teams",
      1,
      PROTOBUF_C_LABEL_REPEATED,
      PROTOBUF_C_TYPE_MESSAGE,
      offsetof(CDOTAMatchMetadata, n_teams),
      offsetof(CDOTAMatchMetadata, teams),
      &cdotamatch_metadata__team__descriptor,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "item_rewards",
      2,
      PROTOBUF_C_LABEL_REPEATED,
      PROTOBUF_C_TYPE_MESSAGE,
      offsetof(CDOTAMatchMetadata, n_item_rewards),
      offsetof(CDOTAMatchMetadata, item_rewards),
      &clobby_timed_reward_details__descriptor,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
  };
  static const unsigned cdotamatch_metadata__field_indices_by_name[] = {
    1,   /* field[1] = item_rewards */
    0,   /* field[0] = teams */
  };
  static const ProtobufCIntRange cdotamatch_metadata__number_ranges[1 + 1] =
  {
    { 1, 0 },
    { 0, 2 }
  };
  const ProtobufCMessageDescriptor cdotamatch_metadata__descriptor =
  {
    PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
    "CDOTAMatchMetadata",
    "CDOTAMatchMetadata",
    "CDOTAMatchMetadata",
    "",
    sizeof(CDOTAMatchMetadata),
    2,
    cdotamatch_metadata__field_descriptors,
    cdotamatch_metadata__field_indices_by_name,
    1,  cdotamatch_metadata__number_ranges,
    (ProtobufCMessageInit) cdotamatch_metadata__init,
    NULL,NULL,NULL    /* reserved[123] */
  };
  static const ProtobufCFieldDescriptor cdotamatch_private_metadata__kill__field_descriptors[4] =
  {
    {
      "timestamp",
      1,
      PROTOBUF_C_LABEL_OPTIONAL,
      PROTOBUF_C_TYPE_INT32,
      offsetof(CDOTAMatchPrivateMetadata__Kill, has_timestamp),
      offsetof(CDOTAMatchPrivateMetadata__Kill, timestamp),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "killer_hero_id",
      2,
      PROTOBUF_C_LABEL_OPTIONAL,
      PROTOBUF_C_TYPE_UINT32,
      offsetof(CDOTAMatchPrivateMetadata__Kill, has_killer_hero_id),
      offsetof(CDOTAMatchPrivateMetadata__Kill, killer_hero_id),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "victim_hero_id",
      3,
      PROTOBUF_C_LABEL_OPTIONAL,
      PROTOBUF_C_TYPE_UINT32,
      offsetof(CDOTAMatchPrivateMetadata__Kill, has_victim_hero_id),
      offsetof(CDOTAMatchPrivateMetadata__Kill, victim_hero_id),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "assist_hero_ids",
      4,
      PROTOBUF_C_LABEL_REPEATED,
      PROTOBUF_C_TYPE_UINT32,
      offsetof(CDOTAMatchPrivateMetadata__Kill, n_assist_hero_ids),
      offsetof(CDOTAMatchPrivateMetadata__Kill, assist_hero_ids),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
  };
  static const unsigned cdotamatch_private_metadata__kill__field_indices_by_name[] = {
    3,   /* field[3] = assist_hero_ids */
    1,   /* field[1] = killer_hero_id */
    0,   /* field[0] = timestamp */
    2,   /* field[2] = victim_hero_id */
  };
  static const ProtobufCIntRange cdotamatch_private_metadata__kill__number_ranges[1 + 1] =
  {
    { 1, 0 },
    { 0, 4 }
  };
  const ProtobufCMessageDescriptor cdotamatch_private_metadata__kill__descriptor =
  {
    PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
    "CDOTAMatchPrivateMetadata.Kill",
    "Kill",
    "CDOTAMatchPrivateMetadata__Kill",
    "",
    sizeof(CDOTAMatchPrivateMetadata__Kill),
    4,
    cdotamatch_private_metadata__kill__field_descriptors,
    cdotamatch_private_metadata__kill__field_indices_by_name,
    1,  cdotamatch_private_metadata__kill__number_ranges,
    (ProtobufCMessageInit) cdotamatch_private_metadata__kill__init,
    NULL,NULL,NULL    /* reserved[123] */
  };
  static const ProtobufCFieldDescriptor cdotamatch_private_metadata__field_descriptors[2] =
  {
    {
      "kills",
      1,
      PROTOBUF_C_LABEL_REPEATED,
      PROTOBUF_C_TYPE_MESSAGE,
      offsetof(CDOTAMatchPrivateMetadata, n_kills),
      offsetof(CDOTAMatchPrivateMetadata, kills),
      &cdotamatch_private_metadata__kill__descriptor,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "test_string",
      100,
      PROTOBUF_C_LABEL_OPTIONAL,
      PROTOBUF_C_TYPE_STRING,
      0,   /* quantifier_offset */
      offsetof(CDOTAMatchPrivateMetadata, test_string),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
  };
  static const unsigned cdotamatch_private_metadata__field_indices_by_name[] = {
    0,   /* field[0] = kills */
    1,   /* field[1] = test_string */
  };
  static const ProtobufCIntRange cdotamatch_private_metadata__number_ranges[2 + 1] =
  {
    { 1, 0 },
    { 100, 1 },
    { 0, 2 }
  };
  const ProtobufCMessageDescriptor cdotamatch_private_metadata__descriptor =
  {
    PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
    "CDOTAMatchPrivateMetadata",
    "CDOTAMatchPrivateMetadata",
    "CDOTAMatchPrivateMetadata",
    "",
    sizeof(CDOTAMatchPrivateMetadata),
    2,
    cdotamatch_private_metadata__field_descriptors,
    cdotamatch_private_metadata__field_indices_by_name,
    2,  cdotamatch_private_metadata__number_ranges,
    (ProtobufCMessageInit) cdotamatch_private_metadata__init,
    NULL,NULL,NULL    /* reserved[123] */
  };
  static const ProtobufCFieldDescriptor clobby_timed_reward_details__field_descriptors[5] =
  {
    {
      "item_def_index",
      2,
      PROTOBUF_C_LABEL_OPTIONAL,
      PROTOBUF_C_TYPE_UINT32,
      offsetof(CLobbyTimedRewardDetails, has_item_def_index),
      offsetof(CLobbyTimedRewardDetails, item_def_index),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "is_supply_crate",
      3,
      PROTOBUF_C_LABEL_OPTIONAL,
      PROTOBUF_C_TYPE_BOOL,
      offsetof(CLobbyTimedRewardDetails, has_is_supply_crate),
      offsetof(CLobbyTimedRewardDetails, is_supply_crate),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "is_timed_drop",
      4,
      PROTOBUF_C_LABEL_OPTIONAL,
      PROTOBUF_C_TYPE_BOOL,
      offsetof(CLobbyTimedRewardDetails, has_is_timed_drop),
      offsetof(CLobbyTimedRewardDetails, is_timed_drop),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "account_id",
      5,
      PROTOBUF_C_LABEL_OPTIONAL,
      PROTOBUF_C_TYPE_UINT32,
      offsetof(CLobbyTimedRewardDetails, has_account_id),
      offsetof(CLobbyTimedRewardDetails, account_id),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
    {
      "origin",
      6,
      PROTOBUF_C_LABEL_OPTIONAL,
      PROTOBUF_C_TYPE_UINT32,
      offsetof(CLobbyTimedRewardDetails, has_origin),
      offsetof(CLobbyTimedRewardDetails, origin),
      NULL,
      NULL,
      0,             /* flags */
      0,NULL,NULL    /* reserved1,reserved2, etc */
    },
  };
  static const unsigned clobby_timed_reward_details__field_indices_by_name[] = {
    3,   /* field[3] = account_id */
    1,   /* field[1] = is_supply_crate */
    2,   /* field[2] = is_timed_drop */
    0,   /* field[0] = item_def_index */
    4,   /* field[4] = origin */
  };
  static const ProtobufCIntRange clobby_timed_reward_details__number_ranges[1 + 1] =
  {
    { 2, 0 },
    { 0, 5 }
  };
  const ProtobufCMessageDescriptor clobby_timed_reward_details__descriptor =
  {
    PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
    "CLobbyTimedRewardDetails",
    "CLobbyTimedRewardDetails",
    "CLobbyTimedRewardDetails",
    "",
    sizeof(CLobbyTimedRewardDetails),
    5,
    clobby_timed_reward_details__field_descriptors,
    clobby_timed_reward_details__field_indices_by_name,
    1,  clobby_timed_reward_details__number_ranges,
    (ProtobufCMessageInit) clobby_timed_reward_details__init,
    NULL,NULL,NULL    /* reserved[123] */
  };
  