{
  "options": {
    "optimize_for": "SPEED",
    "cc_generic_services": false
  },
  "nested": {
    "MODIFIER_ENTRY_TYPE": {
      "edition": "proto2",
      "values": {
        "MODIFIER_ENTRY_TYPE_ACTIVE": 1,
        "MODIFIER_ENTRY_TYPE_REMOVED": 2
      }
    },
    "CModifierTableEntry": {
      "edition": "proto2",
      "fields": {
        "entryType": {
          "type": ".MODIFIER_ENTRY_TYPE",
          "id": 1,
          "protoName": "entry_type",
          "options": {
            "default": "MODIFIER_ENTRY_TYPE_ACTIVE"
          }
        },
        "parent": {
          "type": "uint32",
          "id": 2,
          "options": {
            "default": 16777215
          }
        },
        "serialNumber": {
          "type": "uint32",
          "id": 3,
          "protoName": "serial_number"
        },
        "modifierSubclass": {
          "type": "uint32",
          "id": 4,
          "protoName": "modifier_subclass",
          "options": {
            "default": 0
          }
        },
        "stackCount": {
          "type": "int32",
          "id": 5,
          "protoName": "stack_count"
        },
        "maxStackCount": {
          "type": "int32",
          "id": 6,
          "protoName": "max_stack_count"
        },
        "lastAppliedTime": {
          "type": "float",
          "id": 7,
          "protoName": "last_applied_time"
        },
        "duration": {
          "type": "float",
          "id": 8,
          "options": {
            "default": -1
          }
        },
        "caster": {
          "type": "uint32",
          "id": 9,
          "options": {
            "default": 16777215
          }
        },
        "ability": {
          "type": "uint32",
          "id": 10,
          "options": {
            "default": 16777215
          }
        },
        "auraProviderSerialNumber": {
          "type": "int32",
          "id": 11,
          "protoName": "aura_provider_serial_number"
        },
        "auraProviderEhandle": {
          "type": "uint32",
          "id": 12,
          "protoName": "aura_provider_ehandle",
          "options": {
            "default": 16777215
          }
        },
        "abilitySubclass": {
          "type": "uint32",
          "id": 13,
          "protoName": "ability_subclass",
          "options": {
            "default": 0
          }
        },
        "inAuraRange": {
          "type": "bool",
          "id": 14,
          "protoName": "in_aura_range"
        },
        "bool1_": {
          "type": "bool",
          "id": 20
        },
        "bool2_": {
          "type": "bool",
          "id": 21
        },
        "bool3_": {
          "type": "bool",
          "id": 22
        },
        "bool4_": {
          "type": "bool",
          "id": 23
        },
        "int1_": {
          "type": "int32",
          "id": 25
        },
        "int2_": {
          "type": "int32",
          "id": 26
        },
        "int3_": {
          "type": "int32",
          "id": 27
        },
        "int4_": {
          "type": "int32",
          "id": 28
        },
        "float1_": {
          "type": "float",
          "id": 30
        },
        "float2_": {
          "type": "float",
          "id": 31
        },
        "float3_": {
          "type": "float",
          "id": 32
        },
        "float4_": {
          "type": "float",
          "id": 33
        },
        "float5_": {
          "type": "float",
          "id": 49
        },
        "float6_": {
          "type": "float",
          "id": 50
        },
        "float7_": {
          "type": "float",
          "id": 51
        },
        "float8_": {
          "type": "float",
          "id": 52
        },
        "float9_": {
          "type": "float",
          "id": 53
        },
        "float10_": {
          "type": "float",
          "id": 54
        },
        "float11_": {
          "type": "float",
          "id": 55
        },
        "float12_": {
          "type": "float",
          "id": 56
        },
        "float13_": {
          "type": "float",
          "id": 57
        },
        "float14_": {
          "type": "float",
          "id": 58
        },
        "float15_": {
          "type": "float",
          "id": 59
        },
        "float16_": {
          "type": "float",
          "id": 60
        },
        "uint1_": {
          "type": "uint64",
          "id": 35
        },
        "uint2_": {
          "type": "uint64",
          "id": 36
        },
        "uint3_": {
          "type": "uint64",
          "id": 37
        },
        "uint4_": {
          "type": "uint64",
          "id": 38
        },
        "vec1_": {
          "type": ".CMsgVector",
          "id": 40
        },
        "vec2_": {
          "type": ".CMsgVector",
          "id": 41
        },
        "vec3_": {
          "type": ".CMsgVector",
          "id": 42
        },
        "vec4_": {
          "type": ".CMsgVector",
          "id": 43
        },
        "string1_": {
          "type": "string",
          "id": 45
        },
        "string2_": {
          "type": "string",
          "id": 46
        },
        "string3_": {
          "type": "string",
          "id": 47
        },
        "string4_": {
          "type": "string",
          "id": 48
        }
      }
    },
    "SignonState_t": {
      "edition": "proto2",
      "values": {
        "SIGNONSTATE_NONE": 0,
        "SIGNONSTATE_CHALLENGE": 1,
        "SIGNONSTATE_CONNECTED": 2,
        "SIGNONSTATE_NEW": 3,
        "SIGNONSTATE_PRESPAWN": 4,
        "SIGNONSTATE_SPAWN": 5,
        "SIGNONSTATE_FULL": 6,
        "SIGNONSTATE_CHANGELEVEL": 7
      }
    },
    "CMsgVector": {
      "edition": "proto2",
      "fields": {
        "x": {
          "type": "float",
          "id": 1
        },
        "y": {
          "type": "float",
          "id": 2
        },
        "z": {
          "type": "float",
          "id": 3
        },
        "w": {
          "type": "float",
          "id": 4
        }
      }
    },
    "CMsgQAngle": {
      "edition": "proto2",
      "fields": {
        "x": {
          "type": "float",
          "id": 1
        },
        "y": {
          "type": "float",
          "id": 2
        },
        "z": {
          "type": "float",
          "id": 3
        }
      }
    },
    "CMsgQuaternion": {
      "edition": "proto2",
      "fields": {
        "x": {
          "type": "float",
          "id": 1
        },
        "y": {
          "type": "float",
          "id": 2
        },
        "z": {
          "type": "float",
          "id": 3
        },
        "w": {
          "type": "float",
          "id": 4
        }
      }
    },
    "CMsgTransform": {
      "edition": "proto2",
      "fields": {
        "position": {
          "type": ".CMsgVector",
          "id": 1
        },
        "scale": {
          "type": "float",
          "id": 2
        },
        "orientation": {
          "type": ".CMsgQuaternion",
          "id": 3
        }
      }
    },
    "CMsgPlayerInfo": {
      "edition": "proto2",
      "fields": {
        "name": {
          "type": "string",
          "id": 1
        },
        "xuid": {
          "type": "fixed64",
          "id": 2
        },
        "userid": {
          "type": "int32",
          "id": 3
        },
        "steamid": {
          "type": "fixed64",
          "id": 4
        },
        "fakeplayer": {
          "type": "bool",
          "id": 5
        },
        "ishltv": {
          "type": "bool",
          "id": 6
        }
      }
    },
    "CEntityMsg": {
      "edition": "proto2",
      "fields": {
        "targetEntity": {
          "type": "uint32",
          "id": 1,
          "protoName": "target_entity",
          "options": {
            "default": 16777215
          }
        }
      }
    },
    "CMsg_CVars": {
      "edition": "proto2",
      "fields": {
        "cvars": {
          "rule": "repeated",
          "type": ".CMsg_CVars.CVar",
          "id": 1
        }
      },
      "nested": {
        "CVar": {
          "fields": {
            "name": {
              "type": "string",
              "id": 1
            },
            "value": {
              "type": "string",
              "id": 2
            }
          }
        }
      }
    },
    "CNETMsg_Tick": {
      "edition": "proto2",
      "fields": {
        "tick": {
          "type": "uint32",
          "id": 1
        },
        "hostComputationtime": {
          "type": "uint32",
          "id": 4,
          "protoName": "host_computationtime"
        },
        "hostComputationtimeStdDeviation": {
          "type": "uint32",
          "id": 5,
          "protoName": "host_computationtime_std_deviation"
        },
        "legacyHostLoss": {
          "type": "uint32",
          "id": 7,
          "protoName": "legacy_host_loss"
        },
        "hostUnfilteredFrametime": {
          "type": "uint32",
          "id": 8,
          "protoName": "host_unfiltered_frametime"
        },
        "hltvReplayFlags": {
          "type": "uint32",
          "id": 9,
          "protoName": "hltv_replay_flags"
        },
        "expectedLongTick": {
          "type": "uint32",
          "id": 10,
          "protoName": "expected_long_tick"
        },
        "expectedLongTickReason": {
          "type": "string",
          "id": 11,
          "protoName": "expected_long_tick_reason"
        },
        "hostFrameDroppedPctX10": {
          "type": "uint32",
          "id": 12,
          "protoName": "host_frame_dropped_pct_x10"
        },
        "hostFrameIrregularArrivalPctX10": {
          "type": "uint32",
          "id": 13,
          "protoName": "host_frame_irregular_arrival_pct_x10"
        }
      }
    },
    "CNETMsg_SetConVar": {
      "edition": "proto2",
      "options": {
        "(maximum_size_bytes)": 4096
      },
      "fields": {
        "convars": {
          "type": ".CMsg_CVars",
          "id": 1
        }
      }
    },
    "CNETMsg_SignonState": {
      "edition": "proto2",
      "fields": {
        "signonState": {
          "type": ".SignonState_t",
          "id": 1,
          "protoName": "signon_state",
          "options": {
            "default": "SIGNONSTATE_NONE"
          }
        },
        "spawnCount": {
          "type": "uint32",
          "id": 2,
          "protoName": "spawn_count"
        },
        "numServerPlayers": {
          "type": "uint32",
          "id": 3,
          "protoName": "num_server_players"
        },
        "playersNetworkids": {
          "rule": "repeated",
          "type": "string",
          "id": 4,
          "protoName": "players_networkids"
        },
        "mapName": {
          "type": "string",
          "id": 5,
          "protoName": "map_name"
        },
        "addons": {
          "type": "string",
          "id": 6
        }
      }
    },
    "CNETMsg_SpawnGroup_Load": {
      "edition": "proto2",
      "options": {
        "(maximum_size_bytes)": 131072
      },
      "fields": {
        "worldname": {
          "type": "string",
          "id": 1
        },
        "entitylumpname": {
          "type": "string",
          "id": 2
        },
        "entityfiltername": {
          "type": "string",
          "id": 3
        },
        "spawngrouphandle": {
          "type": "uint32",
          "id": 4
        },
        "spawngroupownerhandle": {
          "type": "uint32",
          "id": 5
        },
        "worldOffsetPos": {
          "type": ".CMsgVector",
          "id": 6,
          "protoName": "world_offset_pos"
        },
        "worldOffsetAngle": {
          "type": ".CMsgQAngle",
          "id": 7,
          "protoName": "world_offset_angle"
        },
        "spawngroupmanifest": {
          "type": "bytes",
          "id": 8
        },
        "flags": {
          "type": "uint32",
          "id": 9
        },
        "tickcount": {
          "type": "int32",
          "id": 10
        },
        "manifestincomplete": {
          "type": "bool",
          "id": 11
        },
        "localnamefixup": {
          "type": "string",
          "id": 12
        },
        "parentnamefixup": {
          "type": "string",
          "id": 13
        },
        "manifestloadpriority": {
          "type": "int32",
          "id": 14
        },
        "worldgroupid": {
          "type": "uint32",
          "id": 15
        },
        "creationsequence": {
          "type": "uint32",
          "id": 16
        },
        "savegamefilename": {
          "type": "string",
          "id": 17
        },
        "spawngroupparenthandle": {
          "type": "uint32",
          "id": 18
        },
        "leveltransition": {
          "type": "bool",
          "id": 19
        },
        "worldgroupname": {
          "type": "string",
          "id": 20
        }
      }
    },
    "CNETMsg_SpawnGroup_ManifestUpdate": {
      "edition": "proto2",
      "options": {
        "(maximum_size_bytes)": 2048
      },
      "fields": {
        "spawngrouphandle": {
          "type": "uint32",
          "id": 1
        },
        "spawngroupmanifest": {
          "type": "bytes",
          "id": 2
        },
        "manifestincomplete": {
          "type": "bool",
          "id": 3
        }
      }
    },
    "CNETMsg_SpawnGroup_SetCreationTick": {
      "edition": "proto2",
      "fields": {
        "spawngrouphandle": {
          "type": "uint32",
          "id": 1
        },
        "tickcount": {
          "type": "int32",
          "id": 2
        },
        "creationsequence": {
          "type": "uint32",
          "id": 3
        }
      }
    },
    "CSVCMsg_GameSessionConfiguration": {
      "edition": "proto2",
      "fields": {
        "isMultiplayer": {
          "type": "bool",
          "id": 1,
          "protoName": "is_multiplayer"
        },
        "isLoadsavegame": {
          "type": "bool",
          "id": 2,
          "protoName": "is_loadsavegame"
        },
        "isBackgroundMap": {
          "type": "bool",
          "id": 3,
          "protoName": "is_background_map"
        },
        "isHeadless": {
          "type": "bool",
          "id": 4,
          "protoName": "is_headless"
        },
        "minClientLimit": {
          "type": "uint32",
          "id": 5,
          "protoName": "min_client_limit"
        },
        "maxClientLimit": {
          "type": "uint32",
          "id": 6,
          "protoName": "max_client_limit"
        },
        "maxClients": {
          "type": "uint32",
          "id": 7,
          "protoName": "max_clients"
        },
        "tickInterval": {
          "type": "fixed32",
          "id": 8,
          "protoName": "tick_interval"
        },
        "hostname": {
          "type": "string",
          "id": 9
        },
        "savegamename": {
          "type": "string",
          "id": 10
        },
        "s1Mapname": {
          "type": "string",
          "id": 11,
          "protoName": "s1_mapname"
        },
        "gamemode": {
          "type": "string",
          "id": 12
        },
        "serverIpAddress": {
          "type": "string",
          "id": 13,
          "protoName": "server_ip_address"
        },
        "data": {
          "type": "bytes",
          "id": 14
        },
        "isLocalonly": {
          "type": "bool",
          "id": 15,
          "protoName": "is_localonly"
        },
        "noSteamServer": {
          "type": "bool",
          "id": 19,
          "protoName": "no_steam_server"
        },
        "isTransition": {
          "type": "bool",
          "id": 16,
          "protoName": "is_transition"
        },
        "previouslevel": {
          "type": "string",
          "id": 17
        },
        "landmarkname": {
          "type": "string",
          "id": 18
        }
      }
    },
    "PARTICLE_SYSTEM_MANAGER_MESSAGE": {
      "edition": "proto2",
      "values": {
        "PARTICLE_SYSTEM_MANAGER_EVENT_CREATE": 0,
        "PARTICLE_SYSTEM_MANAGER_EVENT_DESTROY": 1,
        "PARTICLE_SYSTEM_MANAGER_EVENT_DESTROY_INVOLVING": 2,
        "PARTICLE_SYSTEM_MANAGER_EVENT_RELEASE": 3,
        "PARTICLE_SYSTEM_MANAGER_EVENT_UPDATE": 4,
        "PARTICLE_SYSTEM_MANAGER_EVENT_UPDATE_FORWARD": 5,
        "PARTICLE_SYSTEM_MANAGER_EVENT_UPDATE_ORIENTATION": 6,
        "PARTICLE_SYSTEM_MANAGER_EVENT_UPDATE_FALLBACK": 7,
        "PARTICLE_SYSTEM_MANAGER_EVENT_UPDATE_ENT": 8,
        "PARTICLE_SYSTEM_MANAGER_EVENT_UPDATE_OFFSET": 9,
        "PARTICLE_SYSTEM_MANAGER_EVENT_UPDATE_FROZEN": 10,
        "PARTICLE_SYSTEM_MANAGER_EVENT_UPDATE_SHOULD_DRAW": 11
      }
    },
    "CMsgFireBullets": {
      "edition": "proto2",
      "fields": {
        "origin": {
          "type": ".CMsgVector",
          "id": 1
        },
        "angles": {
          "type": ".CMsgQAngle",
          "id": 2
        },
        "seed": {
          "type": "uint32",
          "id": 4
        },
        "shooterEntity": {
          "type": "int32",
          "id": 5,
          "protoName": "shooter_entity",
          "options": {
            "default": -1
          }
        },
        "ability": {
          "type": "int32",
          "id": 7,
          "options": {
            "default": -1
          }
        },
        "penetrationPercent": {
          "type": "float",
          "id": 8,
          "protoName": "penetration_percent"
        },
        "spread": {
          "type": "float",
          "id": 9
        },
        "firedFromGun": {
          "type": "bool",
          "id": 10,
          "protoName": "fired_from_gun",
          "options": {
            "default": true
          }
        },
        "bulletsOverride": {
          "type": "uint32",
          "id": 11,
          "protoName": "bullets_override"
        },
        "tracerReplacement": {
          "type": ".CMsgFireBullets.TracerAssignment",
          "id": 12,
          "protoName": "tracer_replacement"
        },
        "tracerAdditional": {
          "rule": "repeated",
          "type": ".CMsgFireBullets.TracerAssignment",
          "id": 13,
          "protoName": "tracer_additional"
        },
        "anglesOriginal": {
          "type": ".CMsgQAngle",
          "id": 14,
          "protoName": "angles_original"
        },
        "weaponSubclassId": {
          "type": "uint32",
          "id": 15,
          "protoName": "weapon_subclass_id"
        },
        "shotNumber": {
          "type": "uint32",
          "id": 16,
          "protoName": "shot_number"
        },
        "ignoreEntity": {
          "type": "int32",
          "id": 17,
          "protoName": "ignore_entity",
          "options": {
            "default": -1
          }
        },
        "maxRange": {
          "type": "float",
          "id": 18,
          "protoName": "max_range"
        },
        "shotId": {
          "type": "uint32",
          "id": 19,
          "protoName": "shot_id"
        },
        "predictHitsAgainstUnits": {
          "type": "bool",
          "id": 20,
          "protoName": "predict_hits_against_units",
          "options": {
            "default": true
          }
        },
        "bulletRadiusOverride": {
          "type": "float",
          "id": 21,
          "protoName": "bullet_radius_override",
          "options": {
            "default": 0
          }
        },
        "bulletSpeedOverride": {
          "type": "float",
          "id": 22,
          "protoName": "bullet_speed_override",
          "options": {
            "default": 0
          }
        },
        "bulletGravityOverride": {
          "type": "float",
          "id": 23,
          "protoName": "bullet_gravity_override",
          "options": {
            "default": 0
          }
        },
        "muzzleNumber": {
          "type": "int32",
          "id": 24,
          "protoName": "muzzle_number"
        },
        "abilityAsBullet": {
          "type": "bool",
          "id": 25,
          "protoName": "ability_as_bullet"
        }
      },
      "nested": {
        "TracerAssignment": {
          "fields": {
            "tracerResourceId": {
              "type": "uint64",
              "id": 1,
              "protoName": "tracer_resource_id"
            },
            "bulletIndicies": {
              "type": "uint32",
              "id": 2,
              "protoName": "bullet_indicies"
            }
          }
        }
      }
    },
    "CMsgBulletImpact": {
      "edition": "proto2",
      "fields": {
        "traceStart": {
          "type": ".CMsgVector",
          "id": 1,
          "protoName": "trace_start"
        },
        "impactOrigin": {
          "type": ".CMsgVector",
          "id": 2,
          "protoName": "impact_origin"
        },
        "surfaceNormal": {
          "type": ".CMsgVector",
          "id": 3,
          "protoName": "surface_normal"
        },
        "damage": {
          "type": "uint32",
          "id": 4
        },
        "surfaceType": {
          "type": "uint32",
          "id": 5,
          "protoName": "surface_type"
        },
        "abilityEhandle": {
          "type": "uint32",
          "id": 7,
          "protoName": "ability_ehandle",
          "options": {
            "default": 16777215
          }
        },
        "impactedEhandle": {
          "type": "uint32",
          "id": 8,
          "protoName": "impacted_ehandle",
          "options": {
            "default": 16777215
          }
        },
        "impactedBoneIndex": {
          "type": "uint32",
          "id": 9,
          "protoName": "impacted_bone_index"
        },
        "weaponSubclassId": {
          "type": "uint32",
          "id": 10,
          "protoName": "weapon_subclass_id"
        },
        "shooterEhandle": {
          "type": "uint32",
          "id": 11,
          "protoName": "shooter_ehandle",
          "options": {
            "default": 16777215
          }
        },
        "bulletRadiusOverride": {
          "type": "float",
          "id": 12,
          "protoName": "bullet_radius_override"
        }
      }
    },
    "CMsgPlayerAnimEvent": {
      "edition": "proto2",
      "fields": {
        "player": {
          "type": "fixed32",
          "id": 1,
          "options": {
            "default": 16777215
          }
        },
        "event": {
          "type": "uint32",
          "id": 2
        },
        "data": {
          "type": "int32",
          "id": 3
        }
      }
    },
    "CMsgParticleSystemManager": {
      "edition": "proto2",
      "fields": {
        "type": {
          "type": ".PARTICLE_SYSTEM_MANAGER_MESSAGE",
          "id": 1,
          "options": {
            "default": "PARTICLE_SYSTEM_MANAGER_EVENT_CREATE"
          }
        },
        "index": {
          "type": "uint32",
          "id": 2
        },
        "createParticle": {
          "type": ".CMsgParticleSystemManager.CreateParticle",
          "id": 3,
          "protoName": "create_particle"
        },
        "destroyParticle": {
          "type": ".CMsgParticleSystemManager.DestroyParticle",
          "id": 4,
          "protoName": "destroy_particle"
        },
        "destroyParticleInvolving": {
          "type": ".CMsgParticleSystemManager.DestroyParticleInvolving",
          "id": 5,
          "protoName": "destroy_particle_involving"
        },
        "releaseParticleIndex": {
          "type": ".CMsgParticleSystemManager.ReleaseParticleIndex",
          "id": 6,
          "protoName": "release_particle_index"
        },
        "updateParticle": {
          "type": ".CMsgParticleSystemManager.UpdateParticle",
          "id": 7,
          "protoName": "update_particle"
        },
        "updateParticleFwd": {
          "type": ".CMsgParticleSystemManager.UpdateParticleFwd",
          "id": 8,
          "protoName": "update_particle_fwd"
        },
        "updateParticleOrient": {
          "type": ".CMsgParticleSystemManager.UpdateParticleOrient",
          "id": 9,
          "protoName": "update_particle_orient"
        },
        "updateParticleFallback": {
          "type": ".CMsgParticleSystemManager.UpdateParticleFallback",
          "id": 10,
          "protoName": "update_particle_fallback"
        },
        "updateParticleOffset": {
          "type": ".CMsgParticleSystemManager.UpdateParticleOffset",
          "id": 11,
          "protoName": "update_particle_offset"
        },
        "updateParticleEnt": {
          "type": ".CMsgParticleSystemManager.UpdateParticleEnt",
          "id": 12,
          "protoName": "update_particle_ent"
        },
        "updateParticleFrozen": {
          "type": ".CMsgParticleSystemManager.UpdateParticleFrozen",
          "id": 13,
          "protoName": "update_particle_frozen"
        },
        "updateParticleShouldDraw": {
          "type": ".CMsgParticleSystemManager.UpdateParticleShouldDraw",
          "id": 14,
          "protoName": "update_particle_should_draw"
        }
      },
      "nested": {
        "CreateParticle": {
          "fields": {
            "particleNameIndex": {
              "type": "fixed64",
              "id": 1,
              "protoName": "particle_name_index"
            },
            "attachType": {
              "type": "int32",
              "id": 2,
              "protoName": "attach_type"
            },
            "entityHandle": {
              "type": "uint32",
              "id": 3,
              "protoName": "entity_handle",
              "options": {
                "default": 16777215
              }
            },
            "position": {
              "type": ".CMsgVector",
              "id": 4
            },
            "angles": {
              "type": ".CMsgQAngle",
              "id": 5
            }
          }
        },
        "DestroyParticle": {
          "fields": {
            "destroyImmediately": {
              "type": "bool",
              "id": 1,
              "protoName": "destroy_immediately"
            }
          }
        },
        "DestroyParticleInvolving": {
          "fields": {
            "destroyImmediately": {
              "type": "bool",
              "id": 1,
              "protoName": "destroy_immediately"
            },
            "entityHandle": {
              "type": "uint32",
              "id": 3,
              "protoName": "entity_handle",
              "options": {
                "default": 16777215
              }
            }
          }
        },
        "ReleaseParticleIndex": {
          "fields": {}
        },
        "UpdateParticle": {
          "fields": {
            "controlPoint": {
              "type": "int32",
              "id": 1,
              "protoName": "control_point"
            },
            "position": {
              "type": ".CMsgVector",
              "id": 2
            }
          }
        },
        "UpdateParticleFwd": {
          "fields": {
            "controlPoint": {
              "type": "int32",
              "id": 1,
              "protoName": "control_point"
            },
            "forward": {
              "type": ".CMsgVector",
              "id": 2
            }
          }
        },
        "UpdateParticleOrient": {
          "fields": {
            "controlPoint": {
              "type": "int32",
              "id": 1,
              "protoName": "control_point"
            },
            "forward": {
              "type": ".CMsgVector",
              "id": 2
            },
            "left": {
              "type": ".CMsgVector",
              "id": 3
            },
            "up": {
              "type": ".CMsgVector",
              "id": 4
            }
          }
        },
        "UpdateParticleFallback": {
          "fields": {
            "controlPoint": {
              "type": "int32",
              "id": 1,
              "protoName": "control_point"
            },
            "position": {
              "type": ".CMsgVector",
              "id": 2
            }
          }
        },
        "UpdateParticleEnt": {
          "fields": {
            "controlPoint": {
              "type": "int32",
              "id": 1,
              "protoName": "control_point"
            },
            "entityHandle": {
              "type": "uint32",
              "id": 2,
              "protoName": "entity_handle",
              "options": {
                "default": 16777215
              }
            },
            "attachType": {
              "type": "int32",
              "id": 3,
              "protoName": "attach_type"
            },
            "attachment": {
              "type": "int32",
              "id": 4
            },
            "fallbackPosition": {
              "type": ".CMsgVector",
              "id": 5,
              "protoName": "fallback_position"
            }
          }
        },
        "UpdateParticleOffset": {
          "fields": {
            "controlPoint": {
              "type": "int32",
              "id": 1,
              "protoName": "control_point"
            },
            "originOffset": {
              "type": ".CMsgVector",
              "id": 2,
              "protoName": "origin_offset"
            }
          }
        },
        "UpdateParticleFrozen": {
          "fields": {
            "setFrozen": {
              "type": "bool",
              "id": 1,
              "protoName": "set_frozen"
            }
          }
        },
        "UpdateParticleShouldDraw": {
          "fields": {
            "shouldDraw": {
              "type": "bool",
              "id": 1,
              "protoName": "should_draw"
            }
          }
        }
      }
    },
    "CMsgScreenTextPretty": {
      "edition": "proto2",
      "fields": {
        "xPos": {
          "type": "float",
          "id": 1,
          "protoName": "x_pos"
        },
        "yPos": {
          "type": "float",
          "id": 2,
          "protoName": "y_pos"
        },
        "line": {
          "type": "int32",
          "id": 3
        },
        "text": {
          "type": "string",
          "id": 4
        },
        "r": {
          "type": "int32",
          "id": 5
        },
        "g": {
          "type": "int32",
          "id": 6
        },
        "b": {
          "type": "int32",
          "id": 7
        },
        "a": {
          "type": "int32",
          "id": 8
        },
        "duration": {
          "type": "float",
          "id": 9
        },
        "fontName": {
          "type": "string",
          "id": 10,
          "protoName": "font_name"
        },
        "fontSize": {
          "type": "int32",
          "id": 11,
          "protoName": "font_size"
        },
        "boldFont": {
          "type": "bool",
          "id": 12,
          "protoName": "bold_font"
        }
      }
    },
    "CMsgEnableSatVolumesEvent": {
      "edition": "proto2",
      "fields": {
        "mode": {
          "type": "uint32",
          "id": 1
        },
        "desatAmount": {
          "type": "float",
          "id": 2,
          "protoName": "desat_amount"
        },
        "satTint": {
          "type": "fixed32",
          "id": 3,
          "protoName": "sat_tint"
        },
        "desatTint": {
          "type": "fixed32",
          "id": 4,
          "protoName": "desat_tint"
        },
        "outlineColor": {
          "type": "fixed32",
          "id": 5,
          "protoName": "outline_color"
        }
      }
    },
    "CMsgPlaceSatVolumeEvent": {
      "edition": "proto2",
      "fields": {
        "position": {
          "type": ".CMsgVector",
          "id": 1
        },
        "direction": {
          "type": ".CMsgVector",
          "id": 2
        },
        "radius": {
          "type": "float",
          "id": 3
        },
        "falloffDistance": {
          "type": "float",
          "id": 4,
          "protoName": "falloff_distance"
        },
        "thetaDot": {
          "type": "float",
          "id": 5,
          "protoName": "theta_dot"
        },
        "phiDot": {
          "type": "float",
          "id": 6,
          "protoName": "phi_dot"
        },
        "entityHandle": {
          "type": "uint32",
          "id": 7,
          "protoName": "entity_handle",
          "options": {
            "default": 16777215
          }
        },
        "attachmentHandle": {
          "type": "uint32",
          "id": 8,
          "protoName": "attachment_handle"
        },
        "type": {
          "type": "uint32",
          "id": 9
        },
        "volumeId": {
          "type": "int32",
          "id": 10,
          "protoName": "volume_id"
        }
      }
    },
    "CMsgRemoveSatVolumeEvent": {
      "edition": "proto2",
      "fields": {
        "volumeId": {
          "type": "int32",
          "id": 1,
          "protoName": "volume_id"
        }
      }
    },
    "CMsgDisableSatVolumesEvent": {
      "edition": "proto2",
      "fields": {}
    },
    "CMsgRemoveBullet": {
      "edition": "proto2",
      "fields": {
        "shooterEntindex": {
          "type": "int32",
          "id": 1,
          "protoName": "shooter_entindex",
          "options": {
            "default": -1
          }
        },
        "shotId": {
          "type": "uint32",
          "id": 2,
          "protoName": "shot_id"
        },
        "bulletIndex": {
          "type": "uint32",
          "id": 3,
          "protoName": "bullet_index"
        }
      }
    },
    "CMsgLaneColor": {
      "edition": "proto2",
      "valuesOptions": {
        "k_ELaneColor_Invalid": {
          "(schema_friendly_name)": "None"
        },
        "k_ELaneColor_Yellow": {
          "(schema_friendly_name)": "Yellow"
        },
        "k_ELaneColor_Green": {
          "(schema_friendly_name)": "Green"
        },
        "k_ELaneColor_Blue": {
          "(schema_friendly_name)": "Blue"
        },
        "k_ELaneColor_Purple": {
          "(schema_friendly_name)": "Purple"
        }
      },
      "values": {
        "k_ELaneColor_Invalid": 0,
        "k_ELaneColor_Yellow": 1,
        "k_ELaneColor_Green": 3,
        "k_ELaneColor_Blue": 4,
        "k_ELaneColor_Purple": 6
      }
    },
    "CMsgMapLine": {
      "edition": "proto2",
      "fields": {
        "x": {
          "type": "int32",
          "id": 1
        },
        "y": {
          "type": "int32",
          "id": 2
        },
        "initial": {
          "type": "bool",
          "id": 3
        }
      }
    },
    "ChatMsgPingMarkerInfo": {
      "edition": "proto2",
      "valuesOptions": {
        "k_EPingMarkerInfo_ShowMarkerAndSound": {
          "(schema_friendly_name)": "Show Ping Indicator at Ping Location, Play Ping Sound, and Play VO"
        },
        "k_EPingMarkerInfo_ShowMarkerOnSender": {
          "(schema_friendly_name)": "Show Ping Indicator on Pinging Player, Play Ping Sound, and Play VO"
        },
        "k_EPingMarkerInfo_HideMarkerAndSound": {
          "(schema_friendly_name)": "No Marker or Sound (just VO)"
        },
        "k_EPingMarkerInfo_OnlyShowMarker": {
          "(schema_friendly_name)": "Only Show Ping Indicator at Ping Location (no ping sound)"
        },
        "k_EPingMarkerInfo_OnlyPlaySound": {
          "(schema_friendly_name)": "Only Play Ping Sound (and VO)"
        },
        "k_EPingMarkerInfo_OnlyMiniMap": {
          "(schema_friendly_name)": "Only show on Minimap, no world, no sound"
        },
        "k_EPingMarkerInfo_NoMarkerYesSoundMiniMap": {
          "(schema_friendly_name)": "No World, Just Minimap and sound"
        }
      },
      "values": {
        "k_EPingMarkerInfo_ShowMarkerAndSound": 0,
        "k_EPingMarkerInfo_ShowMarkerOnSender": 1,
        "k_EPingMarkerInfo_HideMarkerAndSound": 2,
        "k_EPingMarkerInfo_OnlyShowMarker": 3,
        "k_EPingMarkerInfo_OnlyPlaySound": 4,
        "k_EPingMarkerInfo_OnlyMiniMap": 5,
        "k_EPingMarkerInfo_NoMarkerYesSoundMiniMap": 6
      }
    },
    "CameraOperation": {
      "edition": "proto2",
      "values": {
        "k_ECameraOp_Maintain": 2,
        "k_ECameraOp_Approach": 3,
        "k_ECameraOp_Spring": 4,
        "k_ECameraOp_Lerp": 5,
        "k_ECameraOp_Lag": 6
      }
    },
    "CameraParam": {
      "edition": "proto2",
      "values": {
        "k_EParam_ClearAllOps": 0,
        "k_EParam_ClearAllOpsForContext": 1,
        "k_EParam_Distance": 2,
        "k_EParam_FOV": 3,
        "k_EParam_TargetPosition": 4,
        "k_EParam_VertOffset": 5,
        "k_EParam_HorizOffset": 6
      }
    },
    "CameraParamMode": {
      "edition": "proto2",
      "values": {
        "k_EParamMode_AllowInOneContext": 0,
        "k_EParamMode_AllowInMultipleContexts": 1
      }
    },
    "CameraAction": {
      "edition": "proto2",
      "values": {
        "k_EAction_AddOp": 0,
        "k_EAction_ClearAllOps": 1,
        "k_EAction_ClearOpsForContext": 2
      }
    },
    "ECitadelChatMessage": {
      "edition": "proto2",
      "values": {
        "CITADEL_CHAT_MESSAGE_UNPAUSE_COUNTDOWN": 1,
        "CITADEL_CHAT_MESSAGE_UNPAUSED": 2,
        "CITADEL_CHAT_MESSAGE_AUTO_UNPAUSED": 3,
        "CITADEL_CHAT_MESSAGE_PAUSE_COUNTDOWN": 4,
        "CITADEL_CHAT_MESSAGE_PAUSED": 5,
        "CITADEL_CHAT_MESSAGE_YOUPAUSED": 6,
        "CITADEL_CHAT_MESSAGE_CANTPAUSE": 7,
        "CITADEL_CHAT_MESSAGE_CANTUNPAUSETEAM": 8,
        "CITADEL_CHAT_MESSAGE_NOPAUSESLEFT": 9,
        "CITADEL_CHAT_MESSAGE_CANTPAUSEYET": 10,
        "CITADEL_CHAT_MESSAGE_PREGAME_COUNTDOWN": 11,
        "CITADEL_CHAT_MESSAGE_NOTEAMPAUSESLEFT": 12,
        "CITADEL_CHAT_MESSAGE_COMMS_RESTRICTED": 13
      }
    },
    "PostProcessingGameStates": {
      "edition": "proto2",
      "values": {
        "PostProcState_Killed": 0,
        "PostProcState_Black": 1,
        "PostProcState_DoormanHotelVictim": 2,
        "PostProcState_Blinded": 3,
        "PostProcState_DrifterDarknessCaster": 4,
        "PostProcState_MatchIntro": 5
      }
    },
    "CCitadelUserMessage_Damage": {
      "edition": "proto2",
      "fields": {
        "damage": {
          "type": "int32",
          "id": 1
        },
        "preDamageDeprecated": {
          "type": "int32",
          "id": 2,
          "protoName": "pre_damage_deprecated"
        },
        "preDamage": {
          "type": "float",
          "id": 27,
          "protoName": "pre_damage"
        },
        "type": {
          "type": "int32",
          "id": 3
        },
        "citadelType": {
          "type": "int32",
          "id": 4,
          "protoName": "citadel_type"
        },
        "origin": {
          "type": ".CMsgVector",
          "id": 5
        },
        "entindexVictim": {
          "type": "int32",
          "id": 6,
          "protoName": "entindex_victim",
          "options": {
            "default": -1
          }
        },
        "entindexInflictor": {
          "type": "int32",
          "id": 7,
          "protoName": "entindex_inflictor",
          "options": {
            "default": -1
          }
        },
        "entindexAttacker": {
          "type": "int32",
          "id": 8,
          "protoName": "entindex_attacker",
          "options": {
            "default": -1
          }
        },
        "entindexAbility": {
          "type": "int32",
          "id": 9,
          "protoName": "entindex_ability",
          "options": {
            "default": -1
          }
        },
        "damageAbsorbedDeprecated": {
          "type": "int32",
          "id": 10,
          "protoName": "damage_absorbed_deprecated"
        },
        "damageAbsorbed": {
          "type": "float",
          "id": 28,
          "protoName": "damage_absorbed"
        },
        "victimHealthMax": {
          "type": "int32",
          "id": 11,
          "protoName": "victim_health_max"
        },
        "victimHealthNew": {
          "type": "int32",
          "id": 12,
          "protoName": "victim_health_new"
        },
        "flags": {
          "type": "uint64",
          "id": 13
        },
        "abilityId": {
          "type": "uint32",
          "id": 14,
          "protoName": "ability_id"
        },
        "attackerClass": {
          "type": "uint32",
          "id": 15,
          "protoName": "attacker_class"
        },
        "victimClass": {
          "type": "uint32",
          "id": 16,
          "protoName": "victim_class"
        },
        "victimShieldMax": {
          "type": "int32",
          "id": 17,
          "protoName": "victim_shield_max"
        },
        "victimShieldNew": {
          "type": "int32",
          "id": 18,
          "protoName": "victim_shield_new"
        },
        "hits": {
          "type": "int32",
          "id": 19
        },
        "healthLost": {
          "type": "int32",
          "id": 20,
          "protoName": "health_lost"
        },
        "hitgroupId": {
          "type": "int32",
          "id": 21,
          "protoName": "hitgroup_id"
        },
        "entindexAttackingObject": {
          "type": "int32",
          "id": 22,
          "protoName": "entindex_attacking_object",
          "options": {
            "default": -1
          }
        },
        "damageDirection": {
          "type": ".CMsgVector",
          "id": 23,
          "protoName": "damage_direction"
        },
        "isSecondaryStat": {
          "type": "bool",
          "id": 24,
          "protoName": "is_secondary_stat"
        },
        "effectiveness": {
          "type": "float",
          "id": 25
        },
        "critDamage": {
          "type": "float",
          "id": 26,
          "protoName": "crit_damage"
        },
        "serverTick": {
          "type": "int32",
          "id": 29,
          "protoName": "server_tick"
        }
      }
    },
    "PingCommonData": {
      "edition": "proto2",
      "fields": {
        "pingMessageId": {
          "type": "uint32",
          "id": 1,
          "protoName": "ping_message_id"
        },
        "pingLocation": {
          "type": ".CMsgVector",
          "id": 2,
          "protoName": "ping_location"
        },
        "entityIndex": {
          "type": "uint32",
          "id": 3,
          "protoName": "entity_index",
          "options": {
            "default": 16777215
          }
        },
        "senderPlayerSlot": {
          "type": "int32",
          "id": 4,
          "protoName": "sender_player_slot",
          "options": {
            "default": -1
          }
        },
        "speechConcept": {
          "type": "int32",
          "id": 5,
          "protoName": "speech_concept"
        },
        "responseChosen": {
          "type": "string",
          "id": 6,
          "protoName": "response_chosen"
        },
        "cooldownTime": {
          "type": "float",
          "id": 7,
          "protoName": "cooldown_time"
        }
      }
    },
    "CCitadelUserMsg_MapPing": {
      "edition": "proto2",
      "fields": {
        "pingData": {
          "type": ".PingCommonData",
          "id": 1,
          "protoName": "ping_data"
        },
        "eventType": {
          "type": "uint32",
          "id": 2,
          "protoName": "event_type"
        },
        "pingMarkerAndSoundInfo": {
          "type": ".ChatMsgPingMarkerInfo",
          "id": 3,
          "protoName": "ping_marker_and_sound_info",
          "options": {
            "default": "k_EPingMarkerInfo_ShowMarkerAndSound"
          }
        },
        "pingedEnemyEntity": {
          "type": "bool",
          "id": 4,
          "protoName": "pinged_enemy_entity"
        },
        "pingedEntityClass": {
          "type": "uint32",
          "id": 5,
          "protoName": "pinged_entity_class"
        },
        "isMinimapPing": {
          "type": "bool",
          "id": 6,
          "protoName": "is_minimap_ping"
        },
        "pingedHeroName": {
          "type": "string",
          "id": 7,
          "protoName": "pinged_hero_name"
        },
        "isBlindPing": {
          "type": "bool",
          "id": 8,
          "protoName": "is_blind_ping"
        }
      }
    },
    "CCitadelUserMsg_AbilityPing": {
      "edition": "proto2",
      "fields": {
        "pingData": {
          "type": ".PingCommonData",
          "id": 1,
          "protoName": "ping_data"
        },
        "abilityId": {
          "type": "uint32",
          "id": 2,
          "protoName": "ability_id"
        },
        "abilityCooldown": {
          "type": "float",
          "id": 3,
          "protoName": "ability_cooldown"
        },
        "pingMarkerAndSoundInfo": {
          "type": ".ChatMsgPingMarkerInfo",
          "id": 4,
          "protoName": "ping_marker_and_sound_info",
          "options": {
            "default": "k_EPingMarkerInfo_ShowMarkerAndSound"
          }
        }
      }
    },
    "CCitadelUserMsg_QuickResponse": {
      "edition": "proto2",
      "fields": {
        "pingData": {
          "type": ".PingCommonData",
          "id": 1,
          "protoName": "ping_data"
        },
        "respondingToPingMessageId": {
          "type": "uint32",
          "id": 2,
          "protoName": "responding_to_ping_message_id"
        },
        "respondingToPlayerSlot": {
          "type": "int32",
          "id": 3,
          "protoName": "responding_to_player_slot",
          "options": {
            "default": -1
          }
        },
        "laneColor": {
          "type": ".CMsgLaneColor",
          "id": 4,
          "protoName": "lane_color",
          "options": {
            "default": "k_ELaneColor_Invalid"
          }
        }
      }
    },
    "CCitadelUserMsg_ItemDraftReaction": {
      "edition": "proto2",
      "fields": {
        "pingData": {
          "type": ".PingCommonData",
          "id": 1,
          "protoName": "ping_data"
        },
        "rare": {
          "type": "bool",
          "id": 2
        },
        "legendary": {
          "type": "bool",
          "id": 3
        }
      }
    },
    "CCitadelUserMsg_MapLine": {
      "edition": "proto2",
      "fields": {
        "senderPlayerSlot": {
          "type": "int32",
          "id": 1,
          "protoName": "sender_player_slot",
          "options": {
            "default": -1
          }
        },
        "mapline": {
          "type": ".CMsgMapLine",
          "id": 2
        }
      }
    },
    "CCitadelUserMsg_TeamRewards": {
      "edition": "proto2",
      "fields": {
        "xp": {
          "type": "uint32",
          "id": 1
        },
        "gold": {
          "type": "uint32",
          "id": 2
        },
        "winner": {
          "type": "bool",
          "id": 3
        }
      }
    },
    "CCitadelUserMsg_TriggerDamageFlash": {
      "edition": "proto2",
      "fields": {
        "entindexFlashVictim": {
          "type": "int32",
          "id": 1,
          "protoName": "entindex_flash_victim",
          "options": {
            "default": -1
          }
        },
        "entindexFlashAttacker": {
          "type": "int32",
          "id": 2,
          "protoName": "entindex_flash_attacker",
          "options": {
            "default": -1
          }
        },
        "entindexFlashHitgroup": {
          "type": "int32",
          "id": 3,
          "protoName": "entindex_flash_hitgroup"
        },
        "flashValue": {
          "type": "uint32",
          "id": 4,
          "protoName": "flash_value"
        },
        "flashType": {
          "type": "uint32",
          "id": 5,
          "protoName": "flash_type"
        },
        "flashFlags": {
          "type": "uint32",
          "id": 6,
          "protoName": "flash_flags"
        },
        "flashPosition": {
          "type": ".CMsgVector",
          "id": 7,
          "protoName": "flash_position"
        }
      }
    },
    "CCitadelUserMsg_AbilitiesChanged": {
      "edition": "proto2",
      "fields": {
        "purchaserPlayerSlot": {
          "type": "int32",
          "id": 1,
          "protoName": "purchaser_player_slot",
          "options": {
            "default": -1
          }
        },
        "abilityId": {
          "type": "uint32",
          "id": 2,
          "protoName": "ability_id"
        },
        "change": {
          "type": ".CCitadelUserMsg_AbilitiesChanged.Change",
          "id": 3,
          "options": {
            "default": "EInvalid"
          }
        }
      },
      "nested": {
        "Change": {
          "values": {
            "EInvalid": -1,
            "EPurchased": 0,
            "EUpgraded": 1,
            "ESold": 2,
            "ESwappedActivatedAbility": 3,
            "EFailure": 4
          }
        }
      }
    },
    "CCitadelUserMsg_AbilityInterrupted": {
      "edition": "proto2",
      "fields": {
        "entindexVictim": {
          "type": "int32",
          "id": 1,
          "protoName": "entindex_victim",
          "options": {
            "default": -1
          }
        },
        "entindexInterrupter": {
          "type": "int32",
          "id": 2,
          "protoName": "entindex_interrupter",
          "options": {
            "default": -1
          }
        },
        "abilityIdInterrupted": {
          "type": "uint32",
          "id": 3,
          "protoName": "ability_id_interrupted"
        },
        "abilityIdInterrupter": {
          "type": "uint32",
          "id": 4,
          "protoName": "ability_id_interrupter"
        },
        "heroIdInterrupter": {
          "type": "uint32",
          "id": 5,
          "protoName": "hero_id_interrupter"
        }
      }
    },
    "CCitadelUserMsg_AbilityLateFailure": {
      "edition": "proto2",
      "fields": {
        "entindexCaster": {
          "type": "int32",
          "id": 1,
          "protoName": "entindex_caster",
          "options": {
            "default": -1
          }
        },
        "entindexAbility": {
          "type": "int32",
          "id": 2,
          "protoName": "entindex_ability",
          "options": {
            "default": -1
          }
        },
        "failureType": {
          "type": "uint32",
          "id": 3,
          "protoName": "failure_type"
        }
      }
    },
    "CCitadelUserMsg_RecentDamageSummary": {
      "edition": "proto2",
      "options": {
        "(maximum_size_bytes)": 8192
      },
      "fields": {
        "playerSlot": {
          "type": "int32",
          "id": 1,
          "protoName": "player_slot",
          "options": {
            "default": -1
          }
        },
        "damageRecords": {
          "rule": "repeated",
          "type": ".CCitadelUserMsg_RecentDamageSummary.DamageRecord",
          "id": 2,
          "protoName": "damage_records"
        },
        "startTime": {
          "type": "float",
          "id": 3,
          "protoName": "start_time"
        },
        "endTime": {
          "type": "float",
          "id": 4,
          "protoName": "end_time"
        },
        "totalDamage": {
          "type": "int32",
          "id": 5,
          "protoName": "total_damage"
        },
        "lostGold": {
          "type": "int32",
          "id": 6,
          "protoName": "lost_gold"
        },
        "modifierRecords": {
          "rule": "repeated",
          "type": ".CCitadelUserMsg_RecentDamageSummary.ModifierRecord",
          "id": 7,
          "protoName": "modifier_records"
        }
      },
      "nested": {
        "DamageRecord": {
          "fields": {
            "damage": {
              "type": "int32",
              "id": 1
            },
            "hits": {
              "type": "int32",
              "id": 2
            },
            "damageType": {
              "type": "uint32",
              "id": 3,
              "protoName": "damage_type"
            },
            "heroId": {
              "type": "uint32",
              "id": 4,
              "protoName": "hero_id"
            },
            "abilityId": {
              "type": "uint32",
              "id": 5,
              "protoName": "ability_id"
            },
            "attackerClass": {
              "type": "uint32",
              "id": 6,
              "protoName": "attacker_class"
            },
            "damageAbsorbed": {
              "type": "float",
              "id": 7,
              "protoName": "damage_absorbed"
            },
            "isKillingBlow": {
              "type": "bool",
              "id": 8,
              "protoName": "is_killing_blow"
            },
            "victimHeroId": {
              "type": "uint32",
              "id": 9,
              "protoName": "victim_hero_id"
            },
            "isSecondaryStat": {
              "type": "bool",
              "id": 10,
              "protoName": "is_secondary_stat"
            },
            "preDamage": {
              "type": "float",
              "id": 11,
              "protoName": "pre_damage"
            },
            "critDamage": {
              "type": "float",
              "id": 12,
              "protoName": "crit_damage"
            }
          }
        },
        "ModifierRecord": {
          "fields": {
            "abilityId": {
              "type": "uint32",
              "id": 1,
              "protoName": "ability_id"
            },
            "modifierTypeId": {
              "type": "uint32",
              "id": 2,
              "protoName": "modifier_type_id"
            },
            "entindexCaster": {
              "type": "int32",
              "id": 3,
              "protoName": "entindex_caster",
              "options": {
                "default": -1
              }
            },
            "startTime": {
              "type": "float",
              "id": 4,
              "protoName": "start_time"
            },
            "endTime": {
              "type": "float",
              "id": 5,
              "protoName": "end_time"
            },
            "debuff": {
              "type": "bool",
              "id": 6
            }
          }
        }
      }
    },
    "CCitadelUserMsg_SpectatorTeamChanged": {
      "edition": "proto2",
      "fields": {
        "teamnumber": {
          "type": "int32",
          "id": 1
        }
      }
    },
    "CCitadelUserMsg_ChatWheel": {
      "edition": "proto2",
      "fields": {
        "chatMessageId": {
          "type": "uint32",
          "id": 1,
          "protoName": "chat_message_id"
        },
        "playerSlot": {
          "type": "int32",
          "id": 2,
          "protoName": "player_slot",
          "options": {
            "default": -1
          }
        },
        "pawnEntindex": {
          "type": "int32",
          "id": 3,
          "protoName": "pawn_entindex",
          "options": {
            "default": -1
          }
        },
        "accountId": {
          "type": "uint32",
          "id": 4,
          "protoName": "account_id"
        },
        "heroId": {
          "type": "uint32",
          "id": 5,
          "protoName": "hero_id"
        },
        "param_1": {
          "type": "string",
          "id": 6
        },
        "laneColor": {
          "type": ".CMsgLaneColor",
          "id": 7,
          "protoName": "lane_color",
          "options": {
            "default": "k_ELaneColor_Invalid"
          }
        }
      }
    },
    "CCitadelUserMsg_ChatMsg": {
      "edition": "proto2",
      "fields": {
        "playerSlot": {
          "type": "int32",
          "id": 1,
          "protoName": "player_slot",
          "options": {
            "default": -1
          }
        },
        "text": {
          "type": "string",
          "id": 2
        },
        "allChat": {
          "type": "bool",
          "id": 3,
          "protoName": "all_chat"
        },
        "laneColor": {
          "type": ".CMsgLaneColor",
          "id": 4,
          "protoName": "lane_color",
          "options": {
            "default": "k_ELaneColor_Invalid"
          }
        }
      }
    },
    "CCitadelUserMsg_GoldHistory": {
      "edition": "proto2",
      "fields": {
        "entindexPlayer": {
          "type": "int32",
          "id": 1,
          "protoName": "entindex_player",
          "options": {
            "default": -1
          }
        },
        "minuteRecords": {
          "rule": "repeated",
          "type": ".CCitadelUserMsg_GoldHistory.MinuteRecord",
          "id": 2,
          "protoName": "minute_records"
        }
      },
      "nested": {
        "GoldRecord": {
          "fields": {
            "currencySource": {
              "type": "int32",
              "id": 1,
              "protoName": "currency_source"
            },
            "gold": {
              "type": "int32",
              "id": 2
            },
            "events": {
              "type": "int32",
              "id": 3
            }
          }
        },
        "MinuteRecord": {
          "fields": {
            "matchMinute": {
              "type": "int32",
              "id": 1,
              "protoName": "match_minute"
            },
            "goldRecords": {
              "rule": "repeated",
              "type": ".CCitadelUserMsg_GoldHistory.GoldRecord",
              "id": 2,
              "protoName": "gold_records"
            }
          }
        }
      }
    },
    "CCitadelUserMsg_CameraController": {
      "edition": "proto2",
      "fields": {
        "action": {
          "type": ".CameraAction",
          "id": 1,
          "options": {
            "default": "k_EAction_AddOp"
          }
        },
        "operation": {
          "type": ".CameraOperation",
          "id": 2,
          "options": {
            "default": "k_ECameraOp_Maintain"
          }
        },
        "param": {
          "type": ".CameraParam",
          "id": 3,
          "options": {
            "default": "k_EParam_ClearAllOps"
          }
        },
        "paramMode": {
          "type": ".CameraParamMode",
          "id": 12,
          "protoName": "param_mode",
          "options": {
            "default": "k_EParamMode_AllowInOneContext"
          }
        },
        "delay": {
          "type": "float",
          "id": 4
        },
        "relativeValues": {
          "type": "bool",
          "id": 11,
          "protoName": "relative_values"
        },
        "contextSymbolId": {
          "type": "uint32",
          "id": 5,
          "protoName": "context_symbol_id"
        },
        "priority": {
          "type": "uint32",
          "id": 13,
          "options": {
            "default": 1
          }
        },
        "maintain": {
          "type": ".CCitadelUserMsg_CameraController.Maintain",
          "id": 6
        },
        "approach": {
          "type": ".CCitadelUserMsg_CameraController.Approach",
          "id": 7
        },
        "spring": {
          "type": ".CCitadelUserMsg_CameraController.Spring",
          "id": 8
        },
        "lerp": {
          "type": ".CCitadelUserMsg_CameraController.Lerp",
          "id": 9
        },
        "lag": {
          "type": ".CCitadelUserMsg_CameraController.Lag",
          "id": 10
        }
      },
      "nested": {
        "Maintain": {
          "fields": {
            "duration": {
              "type": "float",
              "id": 1,
              "options": {
                "default": 0
              }
            }
          }
        },
        "Approach": {
          "fields": {
            "speed": {
              "type": "float",
              "id": 1,
              "options": {
                "default": 600
              }
            },
            "defaultSpeed": {
              "type": "float",
              "id": 2,
              "protoName": "default_speed",
              "options": {
                "default": 600
              }
            },
            "acceleration": {
              "type": "float",
              "id": 3,
              "options": {
                "default": 1000
              }
            },
            "minDuration": {
              "type": "float",
              "id": 4,
              "protoName": "min_duration",
              "options": {
                "default": 0
              }
            },
            "approachFloat": {
              "type": "float",
              "id": 5,
              "protoName": "approach_float"
            },
            "approachVector": {
              "type": ".CMsgVector",
              "id": 6,
              "protoName": "approach_vector"
            },
            "chaseDefault": {
              "type": "bool",
              "id": 7,
              "protoName": "chase_default"
            }
          }
        },
        "Spring": {
          "fields": {
            "springStrength": {
              "type": "float",
              "id": 1,
              "protoName": "spring_strength",
              "options": {
                "default": 10
              }
            },
            "minSpeed": {
              "type": "float",
              "id": 4,
              "protoName": "min_speed",
              "options": {
                "default": 0
              }
            },
            "maxDuration": {
              "type": "float",
              "id": 5,
              "protoName": "max_duration",
              "options": {
                "default": 0
              }
            },
            "targetFloat": {
              "type": "float",
              "id": 6,
              "protoName": "target_float"
            },
            "targetVector": {
              "type": ".CMsgVector",
              "id": 7,
              "protoName": "target_vector"
            }
          }
        },
        "Lerp": {
          "fields": {
            "startFloat": {
              "type": "float",
              "id": 1,
              "protoName": "start_float"
            },
            "startVector": {
              "type": ".CMsgVector",
              "id": 2,
              "protoName": "start_vector"
            },
            "endFloat": {
              "type": "float",
              "id": 3,
              "protoName": "end_float"
            },
            "endVector": {
              "type": ".CMsgVector",
              "id": 4,
              "protoName": "end_vector"
            },
            "bias": {
              "type": "float",
              "id": 5
            },
            "gain": {
              "type": "float",
              "id": 6
            },
            "duration": {
              "type": "float",
              "id": 7,
              "options": {
                "default": 1
              }
            }
          }
        },
        "Lag": {
          "fields": {
            "minDuration": {
              "type": "float",
              "id": 1,
              "protoName": "min_duration"
            },
            "lagTime": {
              "type": "float",
              "id": 2,
              "protoName": "lag_time"
            },
            "maxSpeed": {
              "type": "float",
              "id": 3,
              "protoName": "max_speed"
            },
            "springStrength": {
              "type": "float",
              "id": 4,
              "protoName": "spring_strength"
            },
            "increaseSpringStrengthToKeepTargetOnScreen": {
              "type": "bool",
              "id": 5,
              "protoName": "increase_spring_strength_to_keep_target_on_screen",
              "options": {
                "default": true
              }
            }
          }
        }
      }
    },
    "CCitadelUserMsg_PostMatchDetails": {
      "edition": "proto2",
      "options": {
        "(maximum_size_bytes)": 1000000
      },
      "fields": {
        "matchDetails": {
          "type": "bytes",
          "id": 1,
          "protoName": "match_details"
        }
      }
    },
    "CCitadelUserMsg_ChatEvent": {
      "edition": "proto2",
      "fields": {
        "type": {
          "type": ".ECitadelChatMessage",
          "id": 1,
          "options": {
            "default": "CITADEL_CHAT_MESSAGE_UNPAUSE_COUNTDOWN"
          }
        },
        "values": {
          "rule": "repeated",
          "type": "uint32",
          "id": 2
        },
        "playerSlots": {
          "rule": "repeated",
          "type": "int32",
          "id": 3,
          "protoName": "player_slots"
        }
      }
    },
    "CCitadelUserMsg_HeroKilled": {
      "edition": "proto2",
      "fields": {
        "entindexVictim": {
          "type": "int32",
          "id": 1,
          "protoName": "entindex_victim",
          "options": {
            "default": -1
          }
        },
        "entindexInflictor": {
          "type": "int32",
          "id": 2,
          "protoName": "entindex_inflictor",
          "options": {
            "default": -1
          }
        },
        "entindexAttacker": {
          "type": "int32",
          "id": 3,
          "protoName": "entindex_attacker",
          "options": {
            "default": -1
          }
        },
        "entindexAssisters": {
          "rule": "repeated",
          "type": "int32",
          "id": 4,
          "protoName": "entindex_assisters"
        },
        "entindexScorer": {
          "type": "int32",
          "id": 5,
          "protoName": "entindex_scorer",
          "options": {
            "default": -1
          }
        },
        "respawnReason": {
          "type": "int32",
          "id": 6,
          "protoName": "respawn_reason"
        },
        "victimTeamNumber": {
          "type": "int32",
          "id": 7,
          "protoName": "victim_team_number"
        }
      }
    },
    "CCitadelEntityMsg_BreakablePropSpawnDebris": {
      "edition": "proto2",
      "fields": {
        "entityMsg": {
          "type": ".CEntityMsg",
          "id": 1,
          "protoName": "entity_msg"
        },
        "damagePos": {
          "type": ".CMsgVector",
          "id": 2,
          "protoName": "damage_pos"
        },
        "damage": {
          "type": "float",
          "id": 3
        },
        "damageForce": {
          "type": ".CMsgVector",
          "id": 4,
          "protoName": "damage_force"
        }
      }
    },
    "CCitadelUserMsg_ReturnIdol": {
      "edition": "proto2",
      "fields": {
        "locationIndex": {
          "type": "int32",
          "id": 1,
          "protoName": "location_index"
        },
        "returnLocation": {
          "type": ".CMsgVector",
          "id": 2,
          "protoName": "return_location"
        },
        "locationEnabled": {
          "type": "bool",
          "id": 3,
          "protoName": "location_enabled"
        }
      }
    },
    "CCitadelUserMsg_SetClientCameraAngles": {
      "edition": "proto2",
      "fields": {
        "playerSlot": {
          "type": "int32",
          "id": 1,
          "protoName": "player_slot",
          "options": {
            "default": -1
          }
        },
        "cameraAngles": {
          "type": ".CMsgQAngle",
          "id": 2,
          "protoName": "camera_angles"
        }
      }
    },
    "CCitadelUserMessage_BulletHit": {
      "edition": "proto2",
      "fields": {
        "shotid": {
          "type": "int32",
          "id": 1
        },
        "pellet": {
          "type": "int32",
          "id": 2
        },
        "hitEntindex": {
          "type": "int32",
          "id": 3,
          "protoName": "hit_entindex",
          "options": {
            "default": -1
          }
        },
        "weaponEntindex": {
          "type": "int32",
          "id": 4,
          "protoName": "weapon_entindex",
          "options": {
            "default": -1
          }
        },
        "isPredicted": {
          "type": "bool",
          "id": 5,
          "protoName": "is_predicted"
        }
      }
    },
    "CCitadelUserMessage_ObjectiveMask": {
      "edition": "proto2",
      "fields": {
        "objectiveMaskTeam0": {
          "type": "uint64",
          "id": 2,
          "protoName": "objective_mask_team0"
        },
        "objectiveMaskTeam1": {
          "type": "uint64",
          "id": 3,
          "protoName": "objective_mask_team1"
        }
      }
    },
    "CCitadelUserMessage_ModifierApplied": {
      "edition": "proto2",
      "fields": {
        "entindexCaster": {
          "type": "int32",
          "id": 1,
          "protoName": "entindex_caster",
          "options": {
            "default": -1
          }
        },
        "entindexParent": {
          "type": "int32",
          "id": 2,
          "protoName": "entindex_parent",
          "options": {
            "default": -1
          }
        },
        "serialNumber": {
          "type": "int32",
          "id": 3,
          "protoName": "serial_number"
        }
      }
    },
    "CCitadelUserMessage_AuraModifierApplied": {
      "edition": "proto2",
      "fields": {
        "entindexCaster": {
          "type": "int32",
          "id": 1,
          "protoName": "entindex_caster",
          "options": {
            "default": -1
          }
        },
        "entindexTarget": {
          "type": "int32",
          "id": 2,
          "protoName": "entindex_target",
          "options": {
            "default": -1
          }
        },
        "modifierTypeId": {
          "type": "uint32",
          "id": 3,
          "protoName": "modifier_type_id"
        },
        "modifierSerialNumber": {
          "type": "int32",
          "id": 4,
          "protoName": "modifier_serial_number"
        },
        "auraStartTime": {
          "type": "float",
          "id": 5,
          "protoName": "aura_start_time"
        },
        "auraEndTime": {
          "type": "float",
          "id": 6,
          "protoName": "aura_end_time"
        }
      }
    },
    "CCitadelUserMsg_ObstructedShotFired": {
      "edition": "proto2",
      "fields": {}
    },
    "CCitadelUserMsg_PostProcessingAnim": {
      "edition": "proto2",
      "fields": {
        "entindexOwner": {
          "type": "int32",
          "id": 1,
          "protoName": "entindex_owner",
          "options": {
            "default": -1
          }
        },
        "clearAllStates": {
          "type": "bool",
          "id": 2,
          "protoName": "clear_all_states"
        },
        "state": {
          "type": ".PostProcessingGameStates",
          "id": 3,
          "options": {
            "default": "PostProcState_Killed"
          }
        },
        "delay": {
          "type": "float",
          "id": 4
        },
        "fadeInTime": {
          "type": "float",
          "id": 5,
          "protoName": "fade_in_time"
        },
        "holdTime": {
          "type": "float",
          "id": 6,
          "protoName": "hold_time"
        },
        "fadeOutTime": {
          "type": "float",
          "id": 7,
          "protoName": "fade_out_time"
        },
        "scale": {
          "type": "float",
          "id": 8
        }
      }
    },
    "CCitadelUserMsg_DeathReplayData": {
      "edition": "proto2",
      "fields": {
        "killerScorer": {
          "type": "int32",
          "id": 1,
          "protoName": "killer_scorer",
          "options": {
            "default": -1
          }
        },
        "killerInflictor": {
          "type": "int32",
          "id": 2,
          "protoName": "killer_inflictor",
          "options": {
            "default": -1
          }
        },
        "damageSummary": {
          "type": ".CCitadelUserMsg_RecentDamageSummary",
          "id": 3,
          "protoName": "damage_summary"
        }
      }
    },
    "CCitadelUserMsg_ForceShopClosed": {
      "edition": "proto2",
      "fields": {}
    },
    "CCitadelUserMsg_PlayerLifetimeStatInfo": {
      "edition": "proto2",
      "fields": {
        "stats": {
          "rule": "repeated",
          "type": ".CCitadelUserMsg_PlayerLifetimeStatInfo.Stat",
          "id": 1
        },
        "matchId": {
          "type": "uint64",
          "id": 2,
          "protoName": "match_id"
        },
        "endOfMatch": {
          "type": "bool",
          "id": 3,
          "protoName": "end_of_match"
        },
        "isOfficialMatch": {
          "type": "bool",
          "id": 4,
          "protoName": "is_official_match"
        }
      },
      "nested": {
        "Stat": {
          "fields": {
            "statName": {
              "type": "string",
              "id": 1,
              "protoName": "stat_name"
            },
            "matchTotal": {
              "type": "uint32",
              "id": 2,
              "protoName": "match_total"
            },
            "lifetimeValue": {
              "type": "uint32",
              "id": 3,
              "protoName": "lifetime_value"
            },
            "priority": {
              "type": "uint32",
              "id": 4
            },
            "prevLifetimeMax": {
              "type": "uint32",
              "id": 5,
              "protoName": "prev_lifetime_max"
            },
            "statType": {
              "type": "uint32",
              "id": 6,
              "protoName": "stat_type"
            },
            "statTypeId": {
              "type": "uint32",
              "id": 7,
              "protoName": "stat_type_id"
            }
          }
        }
      }
    },
    "CCitadelUserMsg_StaminaConsumed": {
      "edition": "proto2",
      "fields": {
        "entindexTarget": {
          "type": "int32",
          "id": 1,
          "protoName": "entindex_target",
          "options": {
            "default": -1
          }
        },
        "staminaBefore": {
          "type": "float",
          "id": 3,
          "protoName": "stamina_before"
        },
        "staminaAfter": {
          "type": "float",
          "id": 4,
          "protoName": "stamina_after"
        },
        "drained": {
          "type": "bool",
          "id": 5
        },
        "staminaMax": {
          "type": "float",
          "id": 6,
          "protoName": "stamina_max"
        },
        "gametime": {
          "type": "float",
          "id": 7
        }
      }
    },
    "CCitadelUserMessage_AbilityNotify": {
      "edition": "proto2",
      "fields": {
        "entindexVictim": {
          "type": "int32",
          "id": 1,
          "protoName": "entindex_victim",
          "options": {
            "default": -1
          }
        },
        "entindexAttacker": {
          "type": "int32",
          "id": 2,
          "protoName": "entindex_attacker",
          "options": {
            "default": -1
          }
        },
        "abilityId": {
          "type": "uint32",
          "id": 3,
          "protoName": "ability_id"
        },
        "statusImpact": {
          "type": "uint32",
          "id": 4,
          "protoName": "status_impact"
        }
      }
    },
    "CCitadelUserMessage_CurrencyChanged": {
      "edition": "proto2",
      "fields": {
        "userid": {
          "type": "int32",
          "id": 1,
          "options": {
            "default": -1
          }
        },
        "currencyType": {
          "type": "int32",
          "id": 2,
          "protoName": "currency_type"
        },
        "currencySource": {
          "type": "int32",
          "id": 3,
          "protoName": "currency_source"
        },
        "delta": {
          "type": "int32",
          "id": 4
        },
        "notification": {
          "type": "bool",
          "id": 5
        },
        "entindexVictim": {
          "type": "int32",
          "id": 6,
          "protoName": "entindex_victim",
          "options": {
            "default": -1
          }
        },
        "victimPos": {
          "type": ".CMsgVector",
          "id": 7,
          "protoName": "victim_pos"
        },
        "playsound": {
          "type": "int32",
          "id": 8
        },
        "abilityId": {
          "type": "uint32",
          "id": 9,
          "protoName": "ability_id"
        },
        "newValue": {
          "type": "uint32",
          "id": 10,
          "protoName": "new_value"
        }
      }
    },
    "CCitadelUserMessage_GameOver": {
      "edition": "proto2",
      "fields": {
        "winningTeam": {
          "type": "int32",
          "id": 1,
          "protoName": "winning_team"
        },
        "justATest": {
          "type": "bool",
          "id": 2,
          "protoName": "just_a_test"
        }
      }
    },
    "CCitadelUserMsg_GetDamageStatsResponse": {
      "edition": "proto2",
      "fields": {
        "playerSlot": {
          "type": "uint32",
          "id": 1,
          "protoName": "player_slot"
        },
        "abilityName": {
          "type": "string",
          "id": 2,
          "protoName": "ability_name"
        },
        "damage": {
          "type": ".CCitadelUserMsg_GetDamageStatsResponse.StatType",
          "id": 3
        },
        "healing": {
          "type": ".CCitadelUserMsg_GetDamageStatsResponse.StatType",
          "id": 4
        }
      },
      "nested": {
        "StatType": {
          "fields": {
            "targetPlayerSlot": {
              "rule": "repeated",
              "type": "uint32",
              "id": 1,
              "protoName": "target_player_slot",
              "options": {
                "packed": true
              }
            },
            "value": {
              "rule": "repeated",
              "type": "uint32",
              "id": 2,
              "options": {
                "packed": true
              }
            }
          }
        }
      }
    },
    "CCitadelUserMsg_ParticipantStartSoundEvent": {
      "edition": "proto2",
      "fields": {
        "event": {
          "type": ".CMsgSosStartSoundEvent",
          "id": 1
        },
        "playerSlots": {
          "rule": "repeated",
          "type": "int32",
          "id": 2,
          "protoName": "player_slots"
        }
      }
    },
    "CCitadelUserMsg_ParticipantStopSoundEvent": {
      "edition": "proto2",
      "fields": {
        "event": {
          "type": ".CMsgSosStopSoundEvent",
          "id": 1
        },
        "playerSlots": {
          "rule": "repeated",
          "type": "int32",
          "id": 2,
          "protoName": "player_slots"
        }
      }
    },
    "CCitadelUserMsg_ParticipantStopSoundEventHash": {
      "edition": "proto2",
      "fields": {
        "event": {
          "type": ".CMsgSosStopSoundEventHash",
          "id": 1
        },
        "playerSlots": {
          "rule": "repeated",
          "type": "int32",
          "id": 2,
          "protoName": "player_slots"
        }
      }
    },
    "CCitadelUserMsg_ParticipantSetSoundEventParams": {
      "edition": "proto2",
      "fields": {
        "event": {
          "type": ".CMsgSosSetSoundEventParams",
          "id": 1
        },
        "playerSlots": {
          "rule": "repeated",
          "type": "int32",
          "id": 2,
          "protoName": "player_slots"
        }
      }
    },
    "CCitadelUserMsg_ParticipantSetLibraryStackFields": {
      "edition": "proto2",
      "fields": {
        "event": {
          "type": ".CMsgSosSetLibraryStackFields",
          "id": 1
        },
        "playerSlots": {
          "rule": "repeated",
          "type": "int32",
          "id": 2,
          "protoName": "player_slots"
        }
      }
    },
    "CCitadelUserMsg_BossKilled": {
      "edition": "proto2",
      "fields": {
        "objectiveTeam": {
          "type": "int32",
          "id": 1,
          "protoName": "objective_team"
        },
        "objectiveMaskChange": {
          "type": "int32",
          "id": 2,
          "protoName": "objective_mask_change"
        },
        "entityKilled": {
          "type": "uint32",
          "id": 3,
          "protoName": "entity_killed",
          "options": {
            "default": 16777215
          }
        },
        "entityKilledClass": {
          "type": "int32",
          "id": 4,
          "protoName": "entity_killed_class"
        },
        "entityKiller": {
          "type": "uint32",
          "id": 5,
          "protoName": "entity_killer",
          "options": {
            "default": 16777215
          }
        },
        "gametime": {
          "type": "float",
          "id": 6
        },
        "bossesRemaining": {
          "type": "int32",
          "id": 7,
          "protoName": "bosses_remaining"
        },
        "entityPosition": {
          "type": ".CMsgVector",
          "id": 8,
          "protoName": "entity_position"
        }
      }
    },
    "CCitadelUserMsg_BossDamaged": {
      "edition": "proto2",
      "fields": {
        "objectiveTeam": {
          "type": "int32",
          "id": 1,
          "protoName": "objective_team"
        },
        "objectiveId": {
          "type": "int32",
          "id": 2,
          "protoName": "objective_id"
        },
        "entityDamaged": {
          "type": "uint32",
          "id": 3,
          "protoName": "entity_damaged",
          "options": {
            "default": 16777215
          }
        }
      }
    },
    "CCitadelUserMsg_MidBossSpawned": {
      "edition": "proto2",
      "fields": {}
    },
    "CCitadelUserMsg_RejuvStatus": {
      "edition": "proto2",
      "fields": {
        "killingTeam": {
          "type": "int32",
          "id": 1,
          "protoName": "killing_team"
        },
        "playerPawn": {
          "type": "uint32",
          "id": 2,
          "protoName": "player_pawn",
          "options": {
            "default": 16777215
          }
        },
        "userTeam": {
          "type": "int32",
          "id": 3,
          "protoName": "user_team"
        },
        "eventType": {
          "type": "int32",
          "id": 4,
          "protoName": "event_type"
        }
      }
    },
    "CCitadelUserMsg_KillStreak": {
      "edition": "proto2",
      "fields": {
        "playerPawn": {
          "type": "uint32",
          "id": 1,
          "protoName": "player_pawn",
          "options": {
            "default": 16777215
          }
        },
        "numKills": {
          "type": "int32",
          "id": 2,
          "protoName": "num_kills"
        },
        "isFirstBlood": {
          "type": "bool",
          "id": 3,
          "protoName": "is_first_blood"
        },
        "streakEnded": {
          "type": "bool",
          "id": 4,
          "protoName": "streak_ended"
        },
        "duration": {
          "type": "float",
          "id": 5,
          "options": {
            "default": 5
          }
        }
      }
    },
    "CCitadelUserMsg_TeamMsg": {
      "edition": "proto2",
      "fields": {
        "eventType": {
          "type": "int32",
          "id": 1,
          "protoName": "event_type"
        },
        "teamNumber": {
          "type": "int32",
          "id": 2,
          "protoName": "team_number"
        },
        "laneColor": {
          "type": "int32",
          "id": 3,
          "protoName": "lane_color"
        },
        "playerController": {
          "type": "uint32",
          "id": 4,
          "protoName": "player_controller",
          "options": {
            "default": 16777215
          }
        }
      }
    },
    "CCitadelUserMsg_PlayerRespawned": {
      "edition": "proto2",
      "fields": {
        "playerPawn": {
          "type": "uint32",
          "id": 1,
          "protoName": "player_pawn",
          "options": {
            "default": 16777215
          }
        },
        "facingYaw": {
          "type": "float",
          "id": 2,
          "protoName": "facing_yaw"
        }
      }
    },
    "CCitadelUserMsg_CallCheaterVote": {
      "edition": "proto2",
      "fields": {
        "playerSlot": {
          "type": "int32",
          "id": 1,
          "protoName": "player_slot",
          "options": {
            "default": -1
          }
        }
      }
    },
    "CCitadelUserMessage_MeleeHit": {
      "edition": "proto2",
      "fields": {
        "hitEntindex": {
          "type": "int32",
          "id": 1,
          "protoName": "hit_entindex",
          "options": {
            "default": -1
          }
        },
        "heavy": {
          "type": "bool",
          "id": 2
        }
      }
    },
    "CCitadelUserMsg_FlexSlotUnlocked": {
      "edition": "proto2",
      "fields": {
        "teamNumber": {
          "type": "int32",
          "id": 1,
          "protoName": "team_number"
        },
        "flexslotUnlocked": {
          "type": "int32",
          "id": 2,
          "protoName": "flexslot_unlocked"
        }
      }
    },
    "CCitadelUserMessage_ItemPurchaseNotification": {
      "edition": "proto2",
      "fields": {
        "userid": {
          "type": "int32",
          "id": 1,
          "options": {
            "default": -1
          }
        },
        "abilityId": {
          "type": "uint32",
          "id": 2,
          "protoName": "ability_id"
        },
        "sell": {
          "type": "bool",
          "id": 3
        },
        "quickbuy": {
          "type": "bool",
          "id": 4
        }
      }
    },
    "CCitadelUserMsg_SeasonalKill": {
      "edition": "proto2",
      "fields": {
        "killer": {
          "type": "uint32",
          "id": 1,
          "options": {
            "default": 16777215
          }
        },
        "victim": {
          "type": "uint32",
          "id": 2,
          "options": {
            "default": 16777215
          }
        }
      }
    },
    "CCitadelUserMsg_AG2ParamTrigger": {
      "edition": "proto2",
      "fields": {
        "paramId": {
          "type": "string",
          "id": 1,
          "protoName": "param_id"
        },
        "paramValue": {
          "type": "string",
          "id": 2,
          "protoName": "param_value"
        }
      }
    },
    "CCitadelUserMsg_EntityPortalled": {
      "edition": "proto2",
      "fields": {
        "entityPortalled": {
          "type": "uint32",
          "id": 1,
          "protoName": "entity_portalled",
          "options": {
            "default": 16777215
          }
        },
        "portalTransform": {
          "type": ".CMsgTransform",
          "id": 2,
          "protoName": "portal_transform"
        }
      }
    },
    "CCitadelUserMsg_StreetBrawlScoring": {
      "edition": "proto2",
      "fields": {
        "scoringTeam": {
          "type": "int32",
          "id": 1,
          "protoName": "scoring_team"
        },
        "justATest": {
          "type": "bool",
          "id": 2,
          "protoName": "just_a_test"
        },
        "sapphireScore": {
          "type": "int32",
          "id": 3,
          "protoName": "sapphire_score"
        },
        "amberScore": {
          "type": "int32",
          "id": 4,
          "protoName": "amber_score"
        }
      }
    },
    "CCitadelUserMsg_HudGameAnnouncement": {
      "edition": "proto2",
      "fields": {
        "titleLocstring": {
          "type": "string",
          "id": 1,
          "protoName": "title_locstring"
        },
        "descriptionLocstring": {
          "type": "string",
          "id": 2,
          "protoName": "description_locstring"
        },
        "classname": {
          "rule": "repeated",
          "type": "string",
          "id": 3
        },
        "dialogVariableName": {
          "rule": "repeated",
          "type": "string",
          "id": 4,
          "protoName": "dialog_variable_name"
        },
        "dialogVariableLocstring": {
          "rule": "repeated",
          "type": "string",
          "id": 5,
          "protoName": "dialog_variable_locstring"
        }
      }
    },
    "CCitadelUserMessage_ImportantAbilityUsed": {
      "edition": "proto2",
      "fields": {
        "player": {
          "type": "uint32",
          "id": 1,
          "options": {
            "default": 16777215
          }
        },
        "caster": {
          "type": "uint32",
          "id": 2,
          "options": {
            "default": 16777215
          }
        },
        "abilityName": {
          "type": "string",
          "id": 3,
          "protoName": "ability_name"
        }
      }
    },
    "CCitadelUserMsg_BannedHeroes": {
      "edition": "proto2",
      "fields": {
        "bannedHeroIds": {
          "rule": "repeated",
          "type": "uint32",
          "id": 1,
          "protoName": "banned_hero_ids"
        }
      }
    },
    "CMsgPlaceDecalEvent": {
      "edition": "proto2",
      "fields": {
        "position": {
          "type": ".CMsgVector",
          "id": 1
        },
        "normal": {
          "type": ".CMsgVector",
          "id": 2
        },
        "saxis": {
          "type": ".CMsgVector",
          "id": 3
        },
        "boneindex": {
          "type": "int32",
          "id": 4
        },
        "triangleindex": {
          "type": "int32",
          "id": 13
        },
        "flags": {
          "type": "uint32",
          "id": 5
        },
        "color": {
          "type": "fixed32",
          "id": 6
        },
        "randomSeed": {
          "type": "int32",
          "id": 7,
          "protoName": "random_seed"
        },
        "decalGroupName": {
          "type": "uint32",
          "id": 8,
          "protoName": "decal_group_name"
        },
        "sizeOverride": {
          "type": "float",
          "id": 9,
          "protoName": "size_override"
        },
        "entityhandle": {
          "type": "uint32",
          "id": 10,
          "options": {
            "default": 16777215
          }
        },
        "materialId": {
          "type": "uint64",
          "id": 11,
          "protoName": "material_id"
        },
        "sequenceName": {
          "type": "uint32",
          "id": 12,
          "protoName": "sequence_name"
        }
      }
    },
    "CMsgSource1LegacyGameEventList": {
      "edition": "proto2",
      "options": {
        "(maximum_size_bytes)": 32768
      },
      "fields": {
        "descriptors": {
          "rule": "repeated",
          "type": ".CMsgSource1LegacyGameEventList.descriptor_t",
          "id": 1
        }
      },
      "nested": {
        "key_t": {
          "fields": {
            "type": {
              "type": "int32",
              "id": 1
            },
            "name": {
              "type": "string",
              "id": 2
            }
          }
        },
        "descriptor_t": {
          "fields": {
            "eventid": {
              "type": "int32",
              "id": 1
            },
            "name": {
              "type": "string",
              "id": 2
            },
            "keys": {
              "rule": "repeated",
              "type": ".CMsgSource1LegacyGameEventList.key_t",
              "id": 3
            }
          }
        }
      }
    },
    "CMsgSource1LegacyGameEvent": {
      "edition": "proto2",
      "fields": {
        "eventName": {
          "type": "string",
          "id": 1,
          "protoName": "event_name"
        },
        "eventid": {
          "type": "int32",
          "id": 2
        },
        "keys": {
          "rule": "repeated",
          "type": ".CMsgSource1LegacyGameEvent.key_t",
          "id": 3
        },
        "serverTick": {
          "type": "int32",
          "id": 4,
          "protoName": "server_tick"
        },
        "passthrough": {
          "type": "int32",
          "id": 5
        }
      },
      "nested": {
        "key_t": {
          "fields": {
            "type": {
              "type": "int32",
              "id": 1
            },
            "valString": {
              "type": "string",
              "id": 2,
              "protoName": "val_string"
            },
            "valFloat": {
              "type": "float",
              "id": 3,
              "protoName": "val_float"
            },
            "valLong": {
              "type": "int32",
              "id": 4,
              "protoName": "val_long"
            },
            "valShort": {
              "type": "int32",
              "id": 5,
              "protoName": "val_short"
            },
            "valByte": {
              "type": "int32",
              "id": 6,
              "protoName": "val_byte"
            },
            "valBool": {
              "type": "bool",
              "id": 7,
              "protoName": "val_bool"
            },
            "valUint64": {
              "type": "uint64",
              "id": 8,
              "protoName": "val_uint64"
            }
          }
        }
      }
    },
    "CMsgSosStartSoundEvent": {
      "edition": "proto2",
      "fields": {
        "soundeventGuid": {
          "type": "int32",
          "id": 1,
          "protoName": "soundevent_guid"
        },
        "soundeventHash": {
          "type": "fixed32",
          "id": 2,
          "protoName": "soundevent_hash"
        },
        "sourceEntityIndex": {
          "type": "int32",
          "id": 3,
          "protoName": "source_entity_index",
          "options": {
            "default": -1
          }
        },
        "seed": {
          "type": "int32",
          "id": 4
        },
        "packedParams": {
          "type": "bytes",
          "id": 5,
          "protoName": "packed_params"
        },
        "startTime": {
          "type": "float",
          "id": 6,
          "protoName": "start_time"
        }
      }
    },
    "CMsgSosStopSoundEvent": {
      "edition": "proto2",
      "fields": {
        "soundeventGuid": {
          "type": "int32",
          "id": 1,
          "protoName": "soundevent_guid"
        }
      }
    },
    "CMsgSosStopSoundEventHash": {
      "edition": "proto2",
      "fields": {
        "soundeventHash": {
          "type": "fixed32",
          "id": 1,
          "protoName": "soundevent_hash"
        },
        "sourceEntityIndex": {
          "type": "int32",
          "id": 2,
          "protoName": "source_entity_index",
          "options": {
            "default": -1
          }
        }
      }
    },
    "CMsgSosSetSoundEventParams": {
      "edition": "proto2",
      "fields": {
        "soundeventGuid": {
          "type": "int32",
          "id": 1,
          "protoName": "soundevent_guid"
        },
        "packedParams": {
          "type": "bytes",
          "id": 5,
          "protoName": "packed_params"
        }
      }
    },
    "CMsgSosSetLibraryStackFields": {
      "edition": "proto2",
      "fields": {
        "stackHash": {
          "type": "fixed32",
          "id": 1,
          "protoName": "stack_hash"
        },
        "packedFields": {
          "type": "bytes",
          "id": 5,
          "protoName": "packed_fields"
        }
      }
    },
    "CDemoFileHeader": {
      "edition": "proto2",
      "fields": {
        "demoFileStamp": {
          "rule": "required",
          "type": "string",
          "id": 1,
          "protoName": "demo_file_stamp"
        },
        "patchVersion": {
          "type": "int32",
          "id": 2,
          "protoName": "patch_version"
        },
        "serverName": {
          "type": "string",
          "id": 3,
          "protoName": "server_name"
        },
        "clientName": {
          "type": "string",
          "id": 4,
          "protoName": "client_name"
        },
        "mapName": {
          "type": "string",
          "id": 5,
          "protoName": "map_name"
        },
        "gameDirectory": {
          "type": "string",
          "id": 6,
          "protoName": "game_directory"
        },
        "fullpacketsVersion": {
          "type": "int32",
          "id": 7,
          "protoName": "fullpackets_version"
        },
        "allowClientsideEntities": {
          "type": "bool",
          "id": 8,
          "protoName": "allow_clientside_entities"
        },
        "allowClientsideParticles": {
          "type": "bool",
          "id": 9,
          "protoName": "allow_clientside_particles"
        },
        "addons": {
          "type": "string",
          "id": 10
        },
        "demoVersionName": {
          "type": "string",
          "id": 11,
          "protoName": "demo_version_name"
        },
        "demoVersionGuid": {
          "type": "string",
          "id": 12,
          "protoName": "demo_version_guid"
        },
        "buildNum": {
          "type": "int32",
          "id": 13,
          "protoName": "build_num"
        },
        "game": {
          "type": "string",
          "id": 14
        },
        "serverStartTick": {
          "type": "int32",
          "id": 15,
          "protoName": "server_start_tick"
        }
      }
    },
    "CGameInfo": {
      "edition": "proto2",
      "fields": {
        "dota": {
          "type": ".CGameInfo.CDotaGameInfo",
          "id": 4
        },
        "cs": {
          "type": ".CGameInfo.CCSGameInfo",
          "id": 5
        }
      },
      "nested": {
        "CDotaGameInfo": {
          "fields": {
            "matchId": {
              "type": "uint64",
              "id": 1,
              "protoName": "match_id"
            },
            "gameMode": {
              "type": "int32",
              "id": 2,
              "protoName": "game_mode"
            },
            "gameWinner": {
              "type": "int32",
              "id": 3,
              "protoName": "game_winner"
            },
            "playerInfo": {
              "rule": "repeated",
              "type": ".CGameInfo.CDotaGameInfo.CPlayerInfo",
              "id": 4,
              "protoName": "player_info"
            },
            "leagueid": {
              "type": "uint32",
              "id": 5
            },
            "picksBans": {
              "rule": "repeated",
              "type": ".CGameInfo.CDotaGameInfo.CHeroSelectEvent",
              "id": 6,
              "protoName": "picks_bans"
            },
            "radiantTeamId": {
              "type": "uint32",
              "id": 7,
              "protoName": "radiant_team_id"
            },
            "direTeamId": {
              "type": "uint32",
              "id": 8,
              "protoName": "dire_team_id"
            },
            "radiantTeamTag": {
              "type": "string",
              "id": 9,
              "protoName": "radiant_team_tag"
            },
            "direTeamTag": {
              "type": "string",
              "id": 10,
              "protoName": "dire_team_tag"
            },
            "endTime": {
              "type": "uint32",
              "id": 11,
              "protoName": "end_time"
            }
          },
          "nested": {
            "CPlayerInfo": {
              "fields": {
                "heroName": {
                  "type": "string",
                  "id": 1,
                  "protoName": "hero_name"
                },
                "playerName": {
                  "type": "string",
                  "id": 2,
                  "protoName": "player_name"
                },
                "isFakeClient": {
                  "type": "bool",
                  "id": 3,
                  "protoName": "is_fake_client"
                },
                "steamid": {
                  "type": "uint64",
                  "id": 4
                },
                "gameTeam": {
                  "type": "int32",
                  "id": 5,
                  "protoName": "game_team"
                }
              }
            },
            "CHeroSelectEvent": {
              "fields": {
                "isPick": {
                  "type": "bool",
                  "id": 1,
                  "protoName": "is_pick"
                },
                "team": {
                  "type": "uint32",
                  "id": 2
                },
                "heroId": {
                  "type": "int32",
                  "id": 3,
                  "protoName": "hero_id"
                }
              }
            }
          }
        },
        "CCSGameInfo": {
          "fields": {
            "roundStartTicks": {
              "rule": "repeated",
              "type": "int32",
              "id": 1,
              "protoName": "round_start_ticks"
            }
          }
        }
      }
    },
    "CDemoFileInfo": {
      "edition": "proto2",
      "fields": {
        "playbackTime": {
          "type": "float",
          "id": 1,
          "protoName": "playback_time"
        },
        "playbackTicks": {
          "type": "int32",
          "id": 2,
          "protoName": "playback_ticks"
        },
        "playbackFrames": {
          "type": "int32",
          "id": 3,
          "protoName": "playback_frames"
        },
        "gameInfo": {
          "type": ".CGameInfo",
          "id": 4,
          "protoName": "game_info"
        }
      }
    },
    "CDemoPacket": {
      "edition": "proto2",
      "fields": {
        "data": {
          "type": "bytes",
          "id": 3
        }
      }
    },
    "CDemoFullPacket": {
      "edition": "proto2",
      "fields": {
        "stringTable": {
          "type": ".CDemoStringTables",
          "id": 1,
          "protoName": "string_table"
        },
        "packet": {
          "type": ".CDemoPacket",
          "id": 2
        }
      }
    },
    "CDemoSaveGame": {
      "edition": "proto2",
      "fields": {
        "data": {
          "type": "bytes",
          "id": 1
        },
        "steamId": {
          "type": "fixed64",
          "id": 2,
          "protoName": "steam_id"
        },
        "signature": {
          "type": "fixed64",
          "id": 3
        },
        "version": {
          "type": "int32",
          "id": 4
        }
      }
    },
    "CDemoSyncTick": {
      "edition": "proto2",
      "fields": {}
    },
    "CDemoConsoleCmd": {
      "edition": "proto2",
      "fields": {
        "cmdstring": {
          "type": "string",
          "id": 1
        }
      }
    },
    "CDemoSendTables": {
      "edition": "proto2",
      "fields": {
        "data": {
          "type": "bytes",
          "id": 1
        }
      }
    },
    "CDemoClassInfo": {
      "edition": "proto2",
      "fields": {
        "classes": {
          "rule": "repeated",
          "type": ".CDemoClassInfo.class_t",
          "id": 1
        }
      },
      "nested": {
        "class_t": {
          "fields": {
            "classId": {
              "type": "int32",
              "id": 1,
              "protoName": "class_id"
            },
            "networkName": {
              "type": "string",
              "id": 2,
              "protoName": "network_name"
            },
            "tableName": {
              "type": "string",
              "id": 3,
              "protoName": "table_name"
            }
          }
        }
      }
    },
    "CDemoCustomData": {
      "edition": "proto2",
      "fields": {
        "callbackIndex": {
          "type": "int32",
          "id": 1,
          "protoName": "callback_index"
        },
        "data": {
          "type": "bytes",
          "id": 2
        }
      }
    },
    "CDemoCustomDataCallbacks": {
      "edition": "proto2",
      "fields": {
        "saveId": {
          "rule": "repeated",
          "type": "string",
          "id": 1,
          "protoName": "save_id"
        }
      }
    },
    "CDemoAnimationHeader": {
      "edition": "proto2",
      "fields": {
        "entityId": {
          "type": "sint32",
          "id": 1,
          "protoName": "entity_id"
        },
        "tick": {
          "type": "int32",
          "id": 2
        },
        "data": {
          "type": "bytes",
          "id": 3
        }
      }
    },
    "CDemoAnimationData": {
      "edition": "proto2",
      "fields": {
        "entityId": {
          "type": "sint32",
          "id": 1,
          "protoName": "entity_id"
        },
        "startTick": {
          "type": "int32",
          "id": 2,
          "protoName": "start_tick"
        },
        "endTick": {
          "type": "int32",
          "id": 3,
          "protoName": "end_tick"
        },
        "data": {
          "type": "bytes",
          "id": 4
        },
        "dataChecksum": {
          "type": "int64",
          "id": 5,
          "protoName": "data_checksum"
        }
      }
    },
    "CDemoStringTables": {
      "edition": "proto2",
      "fields": {
        "tables": {
          "rule": "repeated",
          "type": ".CDemoStringTables.table_t",
          "id": 1
        }
      },
      "nested": {
        "items_t": {
          "fields": {
            "str": {
              "type": "string",
              "id": 1
            },
            "data": {
              "type": "bytes",
              "id": 2
            }
          }
        },
        "table_t": {
          "fields": {
            "tableName": {
              "type": "string",
              "id": 1,
              "protoName": "table_name"
            },
            "items": {
              "rule": "repeated",
              "type": ".CDemoStringTables.items_t",
              "id": 2
            },
            "itemsClientside": {
              "rule": "repeated",
              "type": ".CDemoStringTables.items_t",
              "id": 3,
              "protoName": "items_clientside"
            },
            "tableFlags": {
              "type": "int32",
              "id": 4,
              "protoName": "table_flags"
            }
          }
        }
      }
    },
    "CDemoStop": {
      "edition": "proto2",
      "fields": {}
    },
    "CDemoUserCmd": {
      "edition": "proto2",
      "fields": {
        "cmdNumber": {
          "type": "int32",
          "id": 1,
          "protoName": "cmd_number"
        },
        "data": {
          "type": "bytes",
          "id": 2
        }
      }
    },
    "CDemoSpawnGroups": {
      "edition": "proto2",
      "fields": {
        "msgs": {
          "rule": "repeated",
          "type": "bytes",
          "id": 3
        }
      }
    },
    "CDemoRecovery": {
      "edition": "proto2",
      "fields": {
        "initialSpawnGroup": {
          "type": ".CDemoRecovery.DemoInitialSpawnGroupEntry",
          "id": 1,
          "protoName": "initial_spawn_group"
        },
        "spawnGroupMessage": {
          "type": "bytes",
          "id": 2,
          "protoName": "spawn_group_message"
        }
      },
      "nested": {
        "DemoInitialSpawnGroupEntry": {
          "fields": {
            "spawngrouphandle": {
              "type": "uint32",
              "id": 1
            },
            "wasCreated": {
              "type": "bool",
              "id": 2,
              "protoName": "was_created"
            }
          }
        }
      }
    },
    "VoiceDataFormat_t": {
      "edition": "proto2",
      "values": {
        "VOICEDATA_FORMAT_STEAM": 0,
        "VOICEDATA_FORMAT_ENGINE": 1,
        "VOICEDATA_FORMAT_OPUS": 2
      }
    },
    "CMsgVoiceAudio": {
      "edition": "proto2",
      "fields": {
        "format": {
          "type": ".VoiceDataFormat_t",
          "id": 1,
          "options": {
            "default": "VOICEDATA_FORMAT_STEAM"
          }
        },
        "voiceData": {
          "type": "bytes",
          "id": 2,
          "protoName": "voice_data"
        },
        "sequenceBytes": {
          "type": "int32",
          "id": 3,
          "protoName": "sequence_bytes"
        },
        "sectionNumber": {
          "type": "uint32",
          "id": 4,
          "protoName": "section_number"
        },
        "sampleRate": {
          "type": "uint32",
          "id": 5,
          "protoName": "sample_rate"
        },
        "uncompressedSampleOffset": {
          "type": "uint32",
          "id": 6,
          "protoName": "uncompressed_sample_offset"
        },
        "numPackets": {
          "type": "uint32",
          "id": 7,
          "protoName": "num_packets"
        },
        "packetOffsets": {
          "rule": "repeated",
          "type": "uint32",
          "id": 8,
          "protoName": "packet_offsets",
          "options": {
            "packed": true
          }
        },
        "voiceLevel": {
          "type": "float",
          "id": 9,
          "protoName": "voice_level"
        }
      }
    },
    "CSVCMsg_ServerInfo": {
      "edition": "proto2",
      "options": {
        "(maximum_size_bytes)": 409600
      },
      "fields": {
        "protocol": {
          "type": "int32",
          "id": 1
        },
        "serverCount": {
          "type": "int32",
          "id": 2,
          "protoName": "server_count"
        },
        "isDedicated": {
          "type": "bool",
          "id": 3,
          "protoName": "is_dedicated"
        },
        "isHltv": {
          "type": "bool",
          "id": 4,
          "protoName": "is_hltv"
        },
        "cOs": {
          "type": "int32",
          "id": 6,
          "protoName": "c_os"
        },
        "maxClients": {
          "type": "int32",
          "id": 10,
          "protoName": "max_clients"
        },
        "maxClasses": {
          "type": "int32",
          "id": 11,
          "protoName": "max_classes"
        },
        "playerSlot": {
          "type": "int32",
          "id": 12,
          "protoName": "player_slot",
          "options": {
            "default": -1
          }
        },
        "tickInterval": {
          "type": "float",
          "id": 13,
          "protoName": "tick_interval"
        },
        "gameDir": {
          "type": "string",
          "id": 14,
          "protoName": "game_dir"
        },
        "mapName": {
          "type": "string",
          "id": 15,
          "protoName": "map_name"
        },
        "skyName": {
          "type": "string",
          "id": 16,
          "protoName": "sky_name"
        },
        "hostName": {
          "type": "string",
          "id": 17,
          "protoName": "host_name"
        },
        "addonName": {
          "type": "string",
          "id": 18,
          "protoName": "addon_name"
        },
        "gameSessionConfig": {
          "type": ".CSVCMsg_GameSessionConfiguration",
          "id": 19,
          "protoName": "game_session_config"
        },
        "gameSessionManifest": {
          "type": "bytes",
          "id": 20,
          "protoName": "game_session_manifest"
        }
      }
    },
    "CSVCMsg_ClassInfo": {
      "edition": "proto2",
      "options": {
        "(maximum_size_bytes)": 8192
      },
      "fields": {
        "createOnClient": {
          "type": "bool",
          "id": 1,
          "protoName": "create_on_client"
        },
        "classes": {
          "rule": "repeated",
          "type": ".CSVCMsg_ClassInfo.class_t",
          "id": 2
        }
      },
      "nested": {
        "class_t": {
          "fields": {
            "classId": {
              "type": "int32",
              "id": 1,
              "protoName": "class_id"
            },
            "className": {
              "type": "string",
              "id": 3,
              "protoName": "class_name"
            }
          }
        }
      }
    },
    "CSVCMsg_VoiceInit": {
      "edition": "proto2",
      "fields": {
        "quality": {
          "type": "int32",
          "id": 1
        },
        "codec": {
          "type": "string",
          "id": 2
        },
        "version": {
          "type": "int32",
          "id": 3,
          "options": {
            "default": 0
          }
        }
      }
    },
    "CSVCMsg_PacketEntities": {
      "edition": "proto2",
      "options": {
        "(maximum_size_bytes)": 0
      },
      "fields": {
        "maxEntries": {
          "type": "int32",
          "id": 1,
          "protoName": "max_entries"
        },
        "updatedEntries": {
          "type": "int32",
          "id": 2,
          "protoName": "updated_entries"
        },
        "legacyIsDelta": {
          "type": "bool",
          "id": 3,
          "protoName": "legacy_is_delta"
        },
        "updateBaseline": {
          "type": "bool",
          "id": 4,
          "protoName": "update_baseline"
        },
        "baseline": {
          "type": "int32",
          "id": 5
        },
        "deltaFrom": {
          "type": "int32",
          "id": 6,
          "protoName": "delta_from"
        },
        "entityData": {
          "type": "bytes",
          "id": 7,
          "protoName": "entity_data"
        },
        "pendingFullFrame": {
          "type": "bool",
          "id": 8,
          "protoName": "pending_full_frame"
        },
        "activeSpawngroupHandle": {
          "type": "uint32",
          "id": 9,
          "protoName": "active_spawngroup_handle"
        },
        "maxSpawngroupCreationsequence": {
          "type": "uint32",
          "id": 10,
          "protoName": "max_spawngroup_creationsequence"
        },
        "lastCmdNumberExecuted": {
          "type": "uint32",
          "id": 11,
          "protoName": "last_cmd_number_executed"
        },
        "lastCmdNumberRecvDelta": {
          "type": "sint32",
          "id": 17,
          "protoName": "last_cmd_number_recv_delta"
        },
        "serverTick": {
          "type": "uint32",
          "id": 12,
          "protoName": "server_tick"
        },
        "serializedEntities": {
          "type": "bytes",
          "id": 13,
          "protoName": "serialized_entities"
        },
        "alternateBaselines": {
          "rule": "repeated",
          "type": ".CSVCMsg_PacketEntities.alternate_baseline_t",
          "id": 15,
          "protoName": "alternate_baselines"
        },
        "hasPvsVisBitsDeprecated": {
          "type": "uint32",
          "id": 16,
          "protoName": "has_pvs_vis_bits_deprecated"
        },
        "cmdRecvStatus": {
          "rule": "repeated",
          "type": "sint32",
          "id": 22,
          "protoName": "cmd_recv_status",
          "options": {
            "packed": true
          }
        },
        "nonTransmittedEntities": {
          "type": ".CSVCMsg_PacketEntities.non_transmitted_entities_t",
          "id": 19,
          "protoName": "non_transmitted_entities"
        },
        "cqStarvedCommandTicks": {
          "type": "uint32",
          "id": 20,
          "protoName": "cq_starved_command_ticks"
        },
        "cqDiscardedCommandTicks": {
          "type": "uint32",
          "id": 21,
          "protoName": "cq_discarded_command_ticks"
        },
        "outofpvsEntityUpdates": {
          "type": ".CSVCMsg_PacketEntities.outofpvs_entity_updates_t",
          "id": 23,
          "protoName": "outofpvs_entity_updates"
        },
        "devPadding": {
          "type": "bytes",
          "id": 999,
          "protoName": "dev_padding"
        }
      },
      "nested": {
        "alternate_baseline_t": {
          "fields": {
            "entityIndex": {
              "type": "int32",
              "id": 1,
              "protoName": "entity_index"
            },
            "baselineIndex": {
              "type": "int32",
              "id": 2,
              "protoName": "baseline_index"
            }
          }
        },
        "non_transmitted_entities_t": {
          "fields": {
            "headerCount": {
              "type": "int32",
              "id": 1,
              "protoName": "header_count"
            },
            "data": {
              "type": "bytes",
              "id": 2
            }
          }
        },
        "outofpvs_entity_updates_t": {
          "fields": {
            "count": {
              "type": "int32",
              "id": 1
            },
            "data": {
              "type": "bytes",
              "id": 2
            }
          }
        }
      }
    },
    "CSVCMsg_CreateStringTable": {
      "edition": "proto2",
      "options": {
        "(maximum_size_bytes)": 102400
      },
      "fields": {
        "name": {
          "type": "string",
          "id": 1
        },
        "numEntries": {
          "type": "int32",
          "id": 2,
          "protoName": "num_entries"
        },
        "userDataFixedSize": {
          "type": "bool",
          "id": 3,
          "protoName": "user_data_fixed_size"
        },
        "userDataSize": {
          "type": "int32",
          "id": 4,
          "protoName": "user_data_size"
        },
        "userDataSizeBits": {
          "type": "int32",
          "id": 5,
          "protoName": "user_data_size_bits"
        },
        "flags": {
          "type": "int32",
          "id": 6
        },
        "stringData": {
          "type": "bytes",
          "id": 7,
          "protoName": "string_data"
        },
        "uncompressedSize": {
          "type": "int32",
          "id": 8,
          "protoName": "uncompressed_size"
        },
        "dataCompressed": {
          "type": "bool",
          "id": 9,
          "protoName": "data_compressed"
        },
        "usingVarintBitcounts": {
          "type": "bool",
          "id": 10,
          "protoName": "using_varint_bitcounts"
        }
      }
    },
    "CSVCMsg_UpdateStringTable": {
      "edition": "proto2",
      "options": {
        "(maximum_size_bytes)": 262144
      },
      "fields": {
        "tableId": {
          "type": "int32",
          "id": 1,
          "protoName": "table_id"
        },
        "numChangedEntries": {
          "type": "int32",
          "id": 2,
          "protoName": "num_changed_entries"
        },
        "stringData": {
          "type": "bytes",
          "id": 3,
          "protoName": "string_data"
        }
      }
    },
    "CSVCMsg_VoiceData": {
      "edition": "proto2",
      "fields": {
        "audio": {
          "type": ".CMsgVoiceAudio",
          "id": 1
        },
        "client": {
          "type": "int32",
          "id": 2,
          "options": {
            "default": -1
          }
        },
        "proximity": {
          "type": "bool",
          "id": 3
        },
        "xuid": {
          "type": "fixed64",
          "id": 4
        },
        "audibleMask": {
          "type": "int32",
          "id": 5,
          "protoName": "audible_mask"
        },
        "tick": {
          "type": "uint32",
          "id": 6
        },
        "passthrough": {
          "type": "int32",
          "id": 7
        }
      }
    },
    "CSVCMsg_HLTVStatus": {
      "edition": "proto2",
      "fields": {
        "master": {
          "type": "string",
          "id": 1
        },
        "clients": {
          "type": "int32",
          "id": 2
        },
        "slots": {
          "type": "int32",
          "id": 3
        },
        "proxies": {
          "type": "int32",
          "id": 4
        }
      }
    },
    "CSVCMsg_ClearAllStringTables": {
      "edition": "proto2",
      "fields": {
        "mapname": {
          "type": "string",
          "id": 1
        },
        "createTablesSkipped": {
          "type": "bool",
          "id": 3,
          "protoName": "create_tables_skipped"
        }
      }
    },
    "ProtoFlattenedSerializerField_t": {
      "edition": "proto2",
      "fields": {
        "varTypeSym": {
          "type": "int32",
          "id": 1,
          "protoName": "var_type_sym"
        },
        "varNameSym": {
          "type": "int32",
          "id": 2,
          "protoName": "var_name_sym"
        },
        "bitCount": {
          "type": "int32",
          "id": 3,
          "protoName": "bit_count"
        },
        "lowValue": {
          "type": "float",
          "id": 4,
          "protoName": "low_value"
        },
        "highValue": {
          "type": "float",
          "id": 5,
          "protoName": "high_value"
        },
        "encodeFlags": {
          "type": "int32",
          "id": 6,
          "protoName": "encode_flags"
        },
        "fieldSerializerNameSym": {
          "type": "int32",
          "id": 7,
          "protoName": "field_serializer_name_sym"
        },
        "fieldSerializerVersion": {
          "type": "int32",
          "id": 8,
          "protoName": "field_serializer_version"
        },
        "sendNodeSym": {
          "type": "int32",
          "id": 9,
          "protoName": "send_node_sym"
        },
        "varEncoderSym": {
          "type": "int32",
          "id": 10,
          "protoName": "var_encoder_sym"
        },
        "polymorphicTypes": {
          "rule": "repeated",
          "type": ".ProtoFlattenedSerializerField_t.polymorphic_field_t",
          "id": 11,
          "protoName": "polymorphic_types"
        },
        "varSerializerSym": {
          "type": "int32",
          "id": 12,
          "protoName": "var_serializer_sym"
        }
      },
      "nested": {
        "polymorphic_field_t": {
          "fields": {
            "polymorphicFieldSerializerNameSym": {
              "type": "int32",
              "id": 1,
              "protoName": "polymorphic_field_serializer_name_sym"
            },
            "polymorphicFieldSerializerVersion": {
              "type": "int32",
              "id": 2,
              "protoName": "polymorphic_field_serializer_version"
            }
          }
        }
      }
    },
    "ProtoFlattenedSerializer_t": {
      "edition": "proto2",
      "fields": {
        "serializerNameSym": {
          "type": "int32",
          "id": 1,
          "protoName": "serializer_name_sym"
        },
        "serializerVersion": {
          "type": "int32",
          "id": 2,
          "protoName": "serializer_version"
        },
        "fieldsIndex": {
          "rule": "repeated",
          "type": "int32",
          "id": 3,
          "protoName": "fields_index"
        }
      }
    },
    "CSVCMsg_FlattenedSerializer": {
      "edition": "proto2",
      "options": {
        "(maximum_size_bytes)": 0
      },
      "fields": {
        "serializers": {
          "rule": "repeated",
          "type": ".ProtoFlattenedSerializer_t",
          "id": 1
        },
        "symbols": {
          "rule": "repeated",
          "type": "string",
          "id": 2
        },
        "fields": {
          "rule": "repeated",
          "type": ".ProtoFlattenedSerializerField_t",
          "id": 3
        }
      }
    },
    "CMsgServerUserCmd": {
      "edition": "proto2",
      "fields": {
        "data": {
          "type": "bytes",
          "id": 1
        },
        "cmdNumber": {
          "type": "int32",
          "id": 2,
          "protoName": "cmd_number"
        },
        "playerSlot": {
          "type": "int32",
          "id": 3,
          "protoName": "player_slot",
          "options": {
            "default": -1
          }
        },
        "serverTickExecuted": {
          "type": "int32",
          "id": 4,
          "protoName": "server_tick_executed"
        },
        "clientTick": {
          "type": "int32",
          "id": 5,
          "protoName": "client_tick"
        }
      }
    },
    "CSVCMsg_UserCommands": {
      "edition": "proto2",
      "fields": {
        "commands": {
          "rule": "repeated",
          "type": ".CMsgServerUserCmd",
          "id": 1
        }
      }
    },
    "CMsgEffectData": {
      "edition": "proto2",
      "fields": {
        "origin": {
          "type": ".CMsgVector",
          "id": 1
        },
        "start": {
          "type": ".CMsgVector",
          "id": 2
        },
        "normal": {
          "type": ".CMsgVector",
          "id": 3
        },
        "angles": {
          "type": ".CMsgQAngle",
          "id": 4
        },
        "entity": {
          "type": "fixed32",
          "id": 5,
          "options": {
            "default": 16777215
          }
        },
        "otherentity": {
          "type": "fixed32",
          "id": 6,
          "options": {
            "default": 16777215
          }
        },
        "scale": {
          "type": "float",
          "id": 7
        },
        "magnitude": {
          "type": "float",
          "id": 8
        },
        "radius": {
          "type": "float",
          "id": 9
        },
        "surfaceprop": {
          "type": "fixed32",
          "id": 10
        },
        "effectindex": {
          "type": "fixed64",
          "id": 11
        },
        "damagetype": {
          "type": "uint32",
          "id": 12
        },
        "material": {
          "type": "uint32",
          "id": 13
        },
        "hitbox": {
          "type": "uint32",
          "id": 14
        },
        "color": {
          "type": "uint32",
          "id": 15
        },
        "flags": {
          "type": "uint32",
          "id": 16
        },
        "attachmentindex": {
          "type": "int32",
          "id": 17
        },
        "effectname": {
          "type": "uint32",
          "id": 18
        },
        "attachmentname": {
          "type": "uint32",
          "id": 19,
          "options": {
            "default": 0
          }
        }
      }
    },
    "CMsgTEEffectDispatch": {
      "edition": "proto2",
      "fields": {
        "effectdata": {
          "type": ".CMsgEffectData",
          "id": 1
        }
      }
    },
    "PARTICLE_MESSAGE": {
      "edition": "proto2",
      "values": {
        "GAME_PARTICLE_MANAGER_EVENT_CREATE": 0,
        "GAME_PARTICLE_MANAGER_EVENT_UPDATE": 1,
        "GAME_PARTICLE_MANAGER_EVENT_UPDATE_FORWARD": 2,
        "GAME_PARTICLE_MANAGER_EVENT_UPDATE_ORIENTATION": 3,
        "GAME_PARTICLE_MANAGER_EVENT_UPDATE_FALLBACK": 4,
        "GAME_PARTICLE_MANAGER_EVENT_UPDATE_ENT": 5,
        "GAME_PARTICLE_MANAGER_EVENT_UPDATE_OFFSET": 6,
        "GAME_PARTICLE_MANAGER_EVENT_DESTROY": 7,
        "GAME_PARTICLE_MANAGER_EVENT_DESTROY_INVOLVING": 8,
        "GAME_PARTICLE_MANAGER_EVENT_RELEASE": 9,
        "GAME_PARTICLE_MANAGER_EVENT_LATENCY": 10,
        "GAME_PARTICLE_MANAGER_EVENT_SHOULD_DRAW": 11,
        "GAME_PARTICLE_MANAGER_EVENT_FROZEN": 12,
        "GAME_PARTICLE_MANAGER_EVENT_CHANGE_CONTROL_POINT_ATTACHMENT": 13,
        "GAME_PARTICLE_MANAGER_EVENT_UPDATE_ENTITY_POSITION": 14,
        "GAME_PARTICLE_MANAGER_EVENT_SET_FOW_PROPERTIES": 15,
        "GAME_PARTICLE_MANAGER_EVENT_SET_TEXT": 16,
        "GAME_PARTICLE_MANAGER_EVENT_SET_SHOULD_CHECK_FOW": 17,
        "GAME_PARTICLE_MANAGER_EVENT_SET_CONTROL_POINT_MODEL": 18,
        "GAME_PARTICLE_MANAGER_EVENT_SET_CONTROL_POINT_SNAPSHOT": 19,
        "GAME_PARTICLE_MANAGER_EVENT_SET_TEXTURE_ATTRIBUTE": 20,
        "GAME_PARTICLE_MANAGER_EVENT_SET_SCENE_OBJECT_GENERIC_FLAG": 21,
        "GAME_PARTICLE_MANAGER_EVENT_SET_SCENE_OBJECT_TINT_AND_DESAT": 22,
        "GAME_PARTICLE_MANAGER_EVENT_DESTROY_NAMED": 23,
        "GAME_PARTICLE_MANAGER_EVENT_SKIP_TO_TIME": 24,
        "GAME_PARTICLE_MANAGER_EVENT_CAN_FREEZE": 25,
        "GAME_PARTICLE_MANAGER_EVENT_SET_NAMED_VALUE_CONTEXT": 26,
        "GAME_PARTICLE_MANAGER_EVENT_UPDATE_TRANSFORM": 27,
        "GAME_PARTICLE_MANAGER_EVENT_FREEZE_TRANSITION_OVERRIDE": 28,
        "GAME_PARTICLE_MANAGER_EVENT_FREEZE_INVOLVING": 29,
        "GAME_PARTICLE_MANAGER_EVENT_ADD_MODELLIST_OVERRIDE_ELEMENT": 30,
        "GAME_PARTICLE_MANAGER_EVENT_CLEAR_MODELLIST_OVERRIDE": 31,
        "GAME_PARTICLE_MANAGER_EVENT_CREATE_PHYSICS_SIM": 32,
        "GAME_PARTICLE_MANAGER_EVENT_DESTROY_PHYSICS_SIM": 33,
        "GAME_PARTICLE_MANAGER_EVENT_SET_VDATA": 34,
        "GAME_PARTICLE_MANAGER_EVENT_SET_MATERIAL_OVERRIDE": 35,
        "GAME_PARTICLE_MANAGER_EVENT_ADD_FAN": 36,
        "GAME_PARTICLE_MANAGER_EVENT_UPDATE_FAN": 37,
        "GAME_PARTICLE_MANAGER_EVENT_SET_CLUSTER_GROWTH": 38,
        "GAME_PARTICLE_MANAGER_EVENT_REMOVE_FAN": 39,
        "GAME_PARTICLE_MANAGER_EVENT_CREATE_SMOKE_GRID": 40
      }
    },
    "CUserMessageSayText2": {
      "edition": "proto2",
      "fields": {
        "entityindex": {
          "type": "int32",
          "id": 1,
          "options": {
            "default": -1
          }
        },
        "chat": {
          "type": "bool",
          "id": 2
        },
        "messagename": {
          "type": "string",
          "id": 3
        },
        "param1": {
          "type": "string",
          "id": 4
        },
        "param2": {
          "type": "string",
          "id": 5
        },
        "param3": {
          "type": "string",
          "id": 6
        },
        "param4": {
          "type": "string",
          "id": 7
        }
      }
    },
    "CUserMessageTextMsg": {
      "edition": "proto2",
      "fields": {
        "dest": {
          "type": "uint32",
          "id": 1
        },
        "param": {
          "rule": "repeated",
          "type": "string",
          "id": 2
        }
      }
    },
    "CUserMessageSendAudio": {
      "edition": "proto2",
      "fields": {
        "soundname": {
          "type": "string",
          "id": 1
        },
        "stop": {
          "type": "bool",
          "id": 2
        }
      }
    },
    "CUserMessageVoiceMask": {
      "edition": "proto2",
      "fields": {
        "gamerulesMasks": {
          "rule": "repeated",
          "type": "uint32",
          "id": 1,
          "protoName": "gamerules_masks"
        },
        "banMasks": {
          "rule": "repeated",
          "type": "uint32",
          "id": 2,
          "protoName": "ban_masks"
        },
        "modEnable": {
          "type": "bool",
          "id": 3,
          "protoName": "mod_enable"
        }
      }
    },
    "CEntityMessageRemoveAllDecals": {
      "edition": "proto2",
      "fields": {
        "removeDecals": {
          "type": "bool",
          "id": 1,
          "protoName": "remove_decals"
        },
        "entityMsg": {
          "type": ".CEntityMsg",
          "id": 2,
          "protoName": "entity_msg"
        }
      }
    },
    "CUserMsg_ParticleManager": {
      "edition": "proto2",
      "options": {
        "(maximum_size_bytes)": 4096
      },
      "fields": {
        "type": {
          "type": ".PARTICLE_MESSAGE",
          "id": 1,
          "options": {
            "default": "GAME_PARTICLE_MANAGER_EVENT_CREATE"
          }
        },
        "index": {
          "type": "uint32",
          "id": 2
        },
        "releaseParticleIndex": {
          "type": ".CUserMsg_ParticleManager.ReleaseParticleIndex",
          "id": 3,
          "protoName": "release_particle_index"
        },
        "createParticle": {
          "type": ".CUserMsg_ParticleManager.CreateParticle",
          "id": 4,
          "protoName": "create_particle"
        },
        "destroyParticle": {
          "type": ".CUserMsg_ParticleManager.DestroyParticle",
          "id": 5,
          "protoName": "destroy_particle"
        },
        "destroyParticleInvolving": {
          "type": ".CUserMsg_ParticleManager.DestroyParticleInvolving",
          "id": 6,
          "protoName": "destroy_particle_involving"
        },
        "updateParticle": {
          "type": ".CUserMsg_ParticleManager.UpdateParticle_OBSOLETE",
          "id": 7,
          "protoName": "update_particle"
        },
        "updateParticleFwd": {
          "type": ".CUserMsg_ParticleManager.UpdateParticleFwd_OBSOLETE",
          "id": 8,
          "protoName": "update_particle_fwd"
        },
        "updateParticleOrient": {
          "type": ".CUserMsg_ParticleManager.UpdateParticleOrient_OBSOLETE",
          "id": 9,
          "protoName": "update_particle_orient"
        },
        "updateParticleFallback": {
          "type": ".CUserMsg_ParticleManager.UpdateParticleFallback",
          "id": 10,
          "protoName": "update_particle_fallback"
        },
        "updateParticleOffset": {
          "type": ".CUserMsg_ParticleManager.UpdateParticleOffset",
          "id": 11,
          "protoName": "update_particle_offset"
        },
        "updateParticleEnt": {
          "type": ".CUserMsg_ParticleManager.UpdateParticleEnt",
          "id": 12,
          "protoName": "update_particle_ent"
        },
        "updateParticleShouldDraw": {
          "type": ".CUserMsg_ParticleManager.UpdateParticleShouldDraw",
          "id": 14,
          "protoName": "update_particle_should_draw"
        },
        "updateParticleSetFrozen": {
          "type": ".CUserMsg_ParticleManager.UpdateParticleSetFrozen",
          "id": 15,
          "protoName": "update_particle_set_frozen"
        },
        "changeControlPointAttachment": {
          "type": ".CUserMsg_ParticleManager.ChangeControlPointAttachment",
          "id": 16,
          "protoName": "change_control_point_attachment"
        },
        "updateEntityPosition": {
          "type": ".CUserMsg_ParticleManager.UpdateEntityPosition",
          "id": 17,
          "protoName": "update_entity_position"
        },
        "setParticleFowProperties": {
          "type": ".CUserMsg_ParticleManager.SetParticleFoWProperties",
          "id": 18,
          "protoName": "set_particle_fow_properties"
        },
        "setParticleText": {
          "type": ".CUserMsg_ParticleManager.SetParticleText",
          "id": 19,
          "protoName": "set_particle_text"
        },
        "setParticleShouldCheckFow": {
          "type": ".CUserMsg_ParticleManager.SetParticleShouldCheckFoW",
          "id": 20,
          "protoName": "set_particle_should_check_fow"
        },
        "setControlPointModel": {
          "type": ".CUserMsg_ParticleManager.SetControlPointModel",
          "id": 21,
          "protoName": "set_control_point_model"
        },
        "setControlPointSnapshot": {
          "type": ".CUserMsg_ParticleManager.SetControlPointSnapshot",
          "id": 22,
          "protoName": "set_control_point_snapshot"
        },
        "setTextureAttribute": {
          "type": ".CUserMsg_ParticleManager.SetTextureAttribute",
          "id": 23,
          "protoName": "set_texture_attribute"
        },
        "setSceneObjectGenericFlag": {
          "type": ".CUserMsg_ParticleManager.SetSceneObjectGenericFlag",
          "id": 24,
          "protoName": "set_scene_object_generic_flag"
        },
        "setSceneObjectTintAndDesat": {
          "type": ".CUserMsg_ParticleManager.SetSceneObjectTintAndDesat",
          "id": 25,
          "protoName": "set_scene_object_tint_and_desat"
        },
        "destroyParticleNamed": {
          "type": ".CUserMsg_ParticleManager.DestroyParticleNamed",
          "id": 26,
          "protoName": "destroy_particle_named"
        },
        "particleSkipToTime": {
          "type": ".CUserMsg_ParticleManager.ParticleSkipToTime",
          "id": 27,
          "protoName": "particle_skip_to_time"
        },
        "particleCanFreeze": {
          "type": ".CUserMsg_ParticleManager.ParticleCanFreeze",
          "id": 28,
          "protoName": "particle_can_freeze"
        },
        "setNamedValueContext": {
          "type": ".CUserMsg_ParticleManager.SetParticleNamedValueContext",
          "id": 29,
          "protoName": "set_named_value_context"
        },
        "updateParticleTransform": {
          "type": ".CUserMsg_ParticleManager.UpdateParticleTransform",
          "id": 30,
          "protoName": "update_particle_transform"
        },
        "particleFreezeTransitionOverride": {
          "type": ".CUserMsg_ParticleManager.ParticleFreezeTransitionOverride",
          "id": 31,
          "protoName": "particle_freeze_transition_override"
        },
        "freezeParticleInvolving": {
          "type": ".CUserMsg_ParticleManager.FreezeParticleInvolving",
          "id": 32,
          "protoName": "freeze_particle_involving"
        },
        "addModellistOverrideElement": {
          "type": ".CUserMsg_ParticleManager.AddModellistOverrideElement",
          "id": 33,
          "protoName": "add_modellist_override_element"
        },
        "clearModellistOverride": {
          "type": ".CUserMsg_ParticleManager.ClearModellistOverride",
          "id": 34,
          "protoName": "clear_modellist_override"
        },
        "createPhysicsSim": {
          "type": ".CUserMsg_ParticleManager.CreatePhysicsSim",
          "id": 35,
          "protoName": "create_physics_sim"
        },
        "destroyPhysicsSim": {
          "type": ".CUserMsg_ParticleManager.DestroyPhysicsSim",
          "id": 36,
          "protoName": "destroy_physics_sim"
        },
        "setVdata": {
          "type": ".CUserMsg_ParticleManager.SetVData",
          "id": 37,
          "protoName": "set_vdata"
        },
        "setMaterialOverride": {
          "type": ".CUserMsg_ParticleManager.SetMaterialOverride",
          "id": 38,
          "protoName": "set_material_override"
        },
        "addFan": {
          "type": ".CUserMsg_ParticleManager.AddFan",
          "id": 39,
          "protoName": "add_fan"
        },
        "updateFan": {
          "type": ".CUserMsg_ParticleManager.UpdateFan",
          "id": 40,
          "protoName": "update_fan"
        },
        "setParticleClusterGrowth": {
          "type": ".CUserMsg_ParticleManager.SetParticleClusterGrowth",
          "id": 41,
          "protoName": "set_particle_cluster_growth"
        },
        "removeFan": {
          "type": ".CUserMsg_ParticleManager.RemoveFan",
          "id": 42,
          "protoName": "remove_fan"
        },
        "createSmokeGrid": {
          "type": ".CUserMsg_ParticleManager.CreateSmokeGrid",
          "id": 43,
          "protoName": "create_smoke_grid"
        }
      },
      "nested": {
        "ReleaseParticleIndex": {
          "fields": {}
        },
        "CreateParticle": {
          "fields": {
            "particleNameIndex": {
              "type": "fixed64",
              "id": 1,
              "protoName": "particle_name_index"
            },
            "attachType": {
              "type": "int32",
              "id": 2,
              "protoName": "attach_type"
            },
            "entityHandle": {
              "type": "uint32",
              "id": 3,
              "protoName": "entity_handle",
              "options": {
                "default": 16777215
              }
            },
            "entityHandleForModifiers": {
              "type": "uint32",
              "id": 4,
              "protoName": "entity_handle_for_modifiers",
              "options": {
                "default": 16777215
              }
            },
            "applyVoiceBanRules": {
              "type": "bool",
              "id": 5,
              "protoName": "apply_voice_ban_rules"
            },
            "teamBehavior": {
              "type": "int32",
              "id": 6,
              "protoName": "team_behavior"
            },
            "controlPointConfiguration": {
              "type": "string",
              "id": 7,
              "protoName": "control_point_configuration"
            },
            "cluster": {
              "type": "bool",
              "id": 8
            },
            "endcapTime": {
              "type": "float",
              "id": 9,
              "protoName": "endcap_time"
            },
            "aggregationPosition": {
              "type": ".CMsgVector",
              "id": 10,
              "protoName": "aggregation_position"
            }
          }
        },
        "DestroyParticle": {
          "fields": {
            "destroyImmediately": {
              "type": "bool",
              "id": 1,
              "protoName": "destroy_immediately"
            }
          }
        },
        "DestroyParticleInvolving": {
          "fields": {
            "destroyImmediately": {
              "type": "bool",
              "id": 1,
              "protoName": "destroy_immediately"
            },
            "entityHandle": {
              "type": "uint32",
              "id": 3,
              "protoName": "entity_handle",
              "options": {
                "default": 16777215
              }
            }
          }
        },
        "DestroyParticleNamed": {
          "fields": {
            "particleNameIndex": {
              "type": "fixed64",
              "id": 1,
              "protoName": "particle_name_index"
            },
            "entityHandle": {
              "type": "uint32",
              "id": 2,
              "protoName": "entity_handle",
              "options": {
                "default": 16777215
              }
            },
            "destroyImmediately": {
              "type": "bool",
              "id": 3,
              "protoName": "destroy_immediately"
            },
            "playEndcap": {
              "type": "bool",
              "id": 4,
              "protoName": "play_endcap"
            }
          }
        },
        "UpdateParticle_OBSOLETE": {
          "fields": {
            "controlPoint": {
              "type": "int32",
              "id": 1,
              "protoName": "control_point"
            },
            "position": {
              "type": ".CMsgVector",
              "id": 2
            }
          }
        },
        "UpdateParticleFwd_OBSOLETE": {
          "fields": {
            "controlPoint": {
              "type": "int32",
              "id": 1,
              "protoName": "control_point"
            },
            "forward": {
              "type": ".CMsgVector",
              "id": 2
            }
          }
        },
        "UpdateParticleOrient_OBSOLETE": {
          "fields": {
            "controlPoint": {
              "type": "int32",
              "id": 1,
              "protoName": "control_point"
            },
            "forward": {
              "type": ".CMsgVector",
              "id": 2
            },
            "deprecatedRight": {
              "type": ".CMsgVector",
              "id": 3,
              "protoName": "deprecated_right"
            },
            "up": {
              "type": ".CMsgVector",
              "id": 4
            },
            "left": {
              "type": ".CMsgVector",
              "id": 5
            }
          }
        },
        "UpdateParticleTransform": {
          "fields": {
            "controlPoint": {
              "type": "int32",
              "id": 1,
              "protoName": "control_point"
            },
            "position": {
              "type": ".CMsgVector",
              "id": 2
            },
            "orientation": {
              "type": ".CMsgQuaternion",
              "id": 3
            },
            "interpolationInterval": {
              "type": "float",
              "id": 4,
              "protoName": "interpolation_interval"
            }
          }
        },
        "UpdateParticleFallback": {
          "fields": {
            "controlPoint": {
              "type": "int32",
              "id": 1,
              "protoName": "control_point"
            },
            "position": {
              "type": ".CMsgVector",
              "id": 2
            }
          }
        },
        "UpdateParticleOffset": {
          "fields": {
            "controlPoint": {
              "type": "int32",
              "id": 1,
              "protoName": "control_point"
            },
            "originOffset": {
              "type": ".CMsgVector",
              "id": 2,
              "protoName": "origin_offset"
            },
            "angleOffset": {
              "type": ".CMsgQAngle",
              "id": 3,
              "protoName": "angle_offset"
            }
          }
        },
        "UpdateParticleEnt": {
          "fields": {
            "controlPoint": {
              "type": "int32",
              "id": 1,
              "protoName": "control_point"
            },
            "entityHandle": {
              "type": "uint32",
              "id": 2,
              "protoName": "entity_handle",
              "options": {
                "default": 16777215
              }
            },
            "attachType": {
              "type": "int32",
              "id": 3,
              "protoName": "attach_type"
            },
            "attachment": {
              "type": "int32",
              "id": 4
            },
            "fallbackPosition": {
              "type": ".CMsgVector",
              "id": 5,
              "protoName": "fallback_position"
            },
            "includeWearables": {
              "type": "bool",
              "id": 6,
              "protoName": "include_wearables"
            },
            "offsetPosition": {
              "type": ".CMsgVector",
              "id": 7,
              "protoName": "offset_position"
            },
            "offsetAngles": {
              "type": ".CMsgQAngle",
              "id": 8,
              "protoName": "offset_angles"
            }
          }
        },
        "UpdateParticleSetFrozen": {
          "fields": {
            "setFrozen": {
              "type": "bool",
              "id": 1,
              "protoName": "set_frozen"
            },
            "transitionDuration": {
              "type": "float",
              "id": 2,
              "protoName": "transition_duration"
            }
          }
        },
        "UpdateParticleShouldDraw": {
          "fields": {
            "shouldDraw": {
              "type": "bool",
              "id": 1,
              "protoName": "should_draw"
            }
          }
        },
        "ChangeControlPointAttachment": {
          "fields": {
            "attachmentOld": {
              "type": "int32",
              "id": 1,
              "protoName": "attachment_old"
            },
            "attachmentNew": {
              "type": "int32",
              "id": 2,
              "protoName": "attachment_new"
            },
            "entityHandle": {
              "type": "uint32",
              "id": 3,
              "protoName": "entity_handle",
              "options": {
                "default": 16777215
              }
            }
          }
        },
        "UpdateEntityPosition": {
          "fields": {
            "entityHandle": {
              "type": "uint32",
              "id": 1,
              "protoName": "entity_handle",
              "options": {
                "default": 16777215
              }
            },
            "position": {
              "type": ".CMsgVector",
              "id": 2
            }
          }
        },
        "SetParticleFoWProperties": {
          "fields": {
            "fowControlPoint": {
              "type": "int32",
              "id": 1,
              "protoName": "fow_control_point"
            },
            "fowControlPoint2": {
              "type": "int32",
              "id": 2,
              "protoName": "fow_control_point2"
            },
            "fowRadius": {
              "type": "float",
              "id": 3,
              "protoName": "fow_radius"
            }
          }
        },
        "SetParticleShouldCheckFoW": {
          "fields": {
            "checkFow": {
              "type": "bool",
              "id": 1,
              "protoName": "check_fow"
            }
          }
        },
        "SetControlPointModel": {
          "fields": {
            "controlPoint": {
              "type": "int32",
              "id": 1,
              "protoName": "control_point"
            },
            "modelName": {
              "type": "string",
              "id": 2,
              "protoName": "model_name"
            }
          }
        },
        "SetControlPointSnapshot": {
          "fields": {
            "controlPoint": {
              "type": "int32",
              "id": 1,
              "protoName": "control_point"
            },
            "snapshotName": {
              "type": "string",
              "id": 2,
              "protoName": "snapshot_name"
            }
          }
        },
        "SetParticleText": {
          "fields": {
            "text": {
              "type": "string",
              "id": 1
            },
            "localize": {
              "type": "bool",
              "id": 2
            }
          }
        },
        "SetTextureAttribute": {
          "fields": {
            "attributeName": {
              "type": "string",
              "id": 1,
              "protoName": "attribute_name"
            },
            "textureName": {
              "type": "string",
              "id": 2,
              "protoName": "texture_name"
            }
          }
        },
        "SetSceneObjectGenericFlag": {
          "fields": {
            "flagValue": {
              "type": "bool",
              "id": 1,
              "protoName": "flag_value"
            }
          }
        },
        "SetSceneObjectTintAndDesat": {
          "fields": {
            "tint": {
              "type": "fixed32",
              "id": 1
            },
            "desat": {
              "type": "float",
              "id": 2
            }
          }
        },
        "ParticleSkipToTime": {
          "fields": {
            "skipToTime": {
              "type": "float",
              "id": 1,
              "protoName": "skip_to_time"
            }
          }
        },
        "ParticleCanFreeze": {
          "fields": {
            "canFreeze": {
              "type": "bool",
              "id": 1,
              "protoName": "can_freeze"
            }
          }
        },
        "ParticleFreezeTransitionOverride": {
          "fields": {
            "freezeTransitionOverride": {
              "type": "float",
              "id": 1,
              "protoName": "freeze_transition_override"
            }
          }
        },
        "FreezeParticleInvolving": {
          "fields": {
            "setFrozen": {
              "type": "bool",
              "id": 1,
              "protoName": "set_frozen"
            },
            "transitionDuration": {
              "type": "float",
              "id": 2,
              "protoName": "transition_duration"
            },
            "entityHandle": {
              "type": "uint32",
              "id": 3,
              "protoName": "entity_handle",
              "options": {
                "default": 16777215
              }
            }
          }
        },
        "AddModellistOverrideElement": {
          "fields": {
            "modelName": {
              "type": "string",
              "id": 1,
              "protoName": "model_name"
            },
            "spawnProbability": {
              "type": "float",
              "id": 2,
              "protoName": "spawn_probability"
            },
            "groupid": {
              "type": "uint32",
              "id": 3
            }
          }
        },
        "ClearModellistOverride": {
          "fields": {
            "groupid": {
              "type": "uint32",
              "id": 1
            }
          }
        },
        "SetParticleNamedValueContext": {
          "fields": {
            "floatValues": {
              "rule": "repeated",
              "type": ".CUserMsg_ParticleManager.SetParticleNamedValueContext.FloatContextValue",
              "id": 1,
              "protoName": "float_values"
            },
            "vectorValues": {
              "rule": "repeated",
              "type": ".CUserMsg_ParticleManager.SetParticleNamedValueContext.VectorContextValue",
              "id": 2,
              "protoName": "vector_values"
            },
            "transformValues": {
              "rule": "repeated",
              "type": ".CUserMsg_ParticleManager.SetParticleNamedValueContext.TransformContextValue",
              "id": 3,
              "protoName": "transform_values"
            },
            "ehandleValues": {
              "rule": "repeated",
              "type": ".CUserMsg_ParticleManager.SetParticleNamedValueContext.EHandleContext",
              "id": 4,
              "protoName": "ehandle_values"
            }
          },
          "nested": {
            "FloatContextValue": {
              "fields": {
                "valueNameHash": {
                  "type": "uint32",
                  "id": 1,
                  "protoName": "value_name_hash"
                },
                "value": {
                  "type": "float",
                  "id": 2
                }
              }
            },
            "VectorContextValue": {
              "fields": {
                "valueNameHash": {
                  "type": "uint32",
                  "id": 1,
                  "protoName": "value_name_hash"
                },
                "value": {
                  "type": ".CMsgVector",
                  "id": 2
                }
              }
            },
            "TransformContextValue": {
              "fields": {
                "valueNameHash": {
                  "type": "uint32",
                  "id": 1,
                  "protoName": "value_name_hash"
                },
                "angles": {
                  "type": ".CMsgQAngle",
                  "id": 2
                },
                "translation": {
                  "type": ".CMsgVector",
                  "id": 3
                }
              }
            },
            "EHandleContext": {
              "fields": {
                "valueNameHash": {
                  "type": "uint32",
                  "id": 1,
                  "protoName": "value_name_hash"
                },
                "entIndex": {
                  "type": "uint32",
                  "id": 2,
                  "protoName": "ent_index",
                  "options": {
                    "default": 16777215
                  }
                }
              }
            }
          }
        },
        "CreatePhysicsSim": {
          "fields": {
            "propGroupName": {
              "type": "string",
              "id": 1,
              "protoName": "prop_group_name"
            },
            "useHighQualitySimulation": {
              "type": "bool",
              "id": 2,
              "protoName": "use_high_quality_simulation"
            },
            "maxParticleCount": {
              "type": "uint32",
              "id": 3,
              "protoName": "max_particle_count"
            }
          }
        },
        "DestroyPhysicsSim": {
          "fields": {}
        },
        "CreateSmokeGrid": {
          "fields": {
            "vdataName": {
              "type": "string",
              "id": 1,
              "protoName": "vdata_name"
            }
          }
        },
        "SetVData": {
          "fields": {
            "vdataName": {
              "type": "string",
              "id": 1,
              "protoName": "vdata_name"
            }
          }
        },
        "SetMaterialOverride": {
          "fields": {
            "materialName": {
              "type": "string",
              "id": 1,
              "protoName": "material_name"
            },
            "includeChildren": {
              "type": "bool",
              "id": 2,
              "protoName": "include_children"
            }
          }
        },
        "AddFan": {
          "fields": {
            "active": {
              "type": "bool",
              "id": 1
            },
            "boundsMins": {
              "type": ".CMsgVector",
              "id": 2,
              "protoName": "bounds_mins"
            },
            "boundsMaxs": {
              "type": ".CMsgVector",
              "id": 3,
              "protoName": "bounds_maxs"
            },
            "fanOrigin": {
              "type": ".CMsgVector",
              "id": 4,
              "protoName": "fan_origin"
            },
            "fanOriginOffset": {
              "type": ".CMsgVector",
              "id": 5,
              "protoName": "fan_origin_offset"
            },
            "fanDirection": {
              "type": ".CMsgVector",
              "id": 6,
              "protoName": "fan_direction"
            },
            "force": {
              "type": "float",
              "id": 7
            },
            "fanForceCurve": {
              "type": "string",
              "id": 8,
              "protoName": "fan_force_curve"
            },
            "falloff": {
              "type": "bool",
              "id": 9
            },
            "pullTowardsPoint": {
              "type": "bool",
              "id": 10,
              "protoName": "pull_towards_point"
            },
            "curveMinDist": {
              "type": "float",
              "id": 11,
              "protoName": "curve_min_dist"
            },
            "curveMaxDist": {
              "type": "float",
              "id": 12,
              "protoName": "curve_max_dist"
            },
            "fanType": {
              "type": "uint32",
              "id": 13,
              "protoName": "fan_type"
            },
            "coneStartRadius": {
              "type": "float",
              "id": 14,
              "protoName": "cone_start_radius"
            },
            "coneEndRadius": {
              "type": "float",
              "id": 15,
              "protoName": "cone_end_radius"
            },
            "coneLength": {
              "type": "float",
              "id": 16,
              "protoName": "cone_length"
            },
            "entityHandle": {
              "type": "uint32",
              "id": 17,
              "protoName": "entity_handle",
              "options": {
                "default": 16777215
              }
            },
            "attachmentName": {
              "type": "string",
              "id": 18,
              "protoName": "attachment_name"
            }
          }
        },
        "UpdateFan": {
          "fields": {
            "active": {
              "type": "bool",
              "id": 1
            },
            "fanOrigin": {
              "type": ".CMsgVector",
              "id": 2,
              "protoName": "fan_origin"
            },
            "fanOriginOffset": {
              "type": ".CMsgVector",
              "id": 3,
              "protoName": "fan_origin_offset"
            },
            "fanDirection": {
              "type": ".CMsgVector",
              "id": 4,
              "protoName": "fan_direction"
            },
            "fanRampRatio": {
              "type": "float",
              "id": 7,
              "protoName": "fan_ramp_ratio"
            },
            "boundsMins": {
              "type": ".CMsgVector",
              "id": 5,
              "protoName": "bounds_mins"
            },
            "boundsMaxs": {
              "type": ".CMsgVector",
              "id": 6,
              "protoName": "bounds_maxs"
            }
          }
        },
        "RemoveFan": {
          "fields": {}
        },
        "SetParticleClusterGrowth": {
          "fields": {
            "duration": {
              "type": "float",
              "id": 1
            },
            "origin": {
              "type": ".CMsgVector",
              "id": 2
            }
          }
        }
      }
    },
    "CUserMessage_PlayResponseConditional": {
      "edition": "proto2",
      "fields": {
        "entIndex": {
          "type": "int32",
          "id": 1,
          "protoName": "ent_index",
          "options": {
            "default": -1
          }
        },
        "playerSlots": {
          "rule": "repeated",
          "type": "int32",
          "id": 2,
          "protoName": "player_slots"
        },
        "response": {
          "type": "string",
          "id": 3
        },
        "entOrigin": {
          "type": ".CMsgVector",
          "id": 4,
          "protoName": "ent_origin"
        },
        "preDelay": {
          "type": "float",
          "id": 5,
          "protoName": "pre_delay"
        },
        "mixPriority": {
          "type": "int32",
          "id": 6,
          "protoName": "mix_priority"
        }
      }
    }
  }
}
