// This file is @generated by prost-build.
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerBasicInfo {
    #[prost(string, tag = "1")]
    pub nickname: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub exp: u32,
    #[prost(uint32, tag = "4")]
    pub stamina: u32,
    #[prost(uint32, tag = "5")]
    pub mcoin: u32,
    #[prost(uint32, tag = "6")]
    pub hcoin: u32,
    #[prost(uint32, tag = "7")]
    pub scoin: u32,
    #[prost(uint32, tag = "8")]
    pub world_level: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpBarInfo {
    #[prost(uint32, tag = "1")]
    pub cur_sp: u32,
    #[prost(uint32, tag = "2")]
    pub max_sp: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BlackInfo {
    #[prost(int64, tag = "1")]
    pub begin_time: i64,
    #[prost(int64, tag = "2")]
    pub end_time: i64,
    #[prost(uint32, tag = "3")]
    pub jfciibecncm: u32,
    #[prost(uint32, tag = "4")]
    pub ccabdcplmpj: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bpdfjaaeofo {
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "2")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Felemdmcnao {
    #[prost(uint32, tag = "1")]
    pub version: u32,
    #[prost(uint32, tag = "2")]
    pub count: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientDownloadData {
    #[prost(uint32, tag = "1")]
    pub version: u32,
    #[prost(int64, tag = "2")]
    pub time: i64,
    #[prost(bytes = "vec", tag = "3")]
    pub data: ::prost::alloc::vec::Vec<u8>,
    #[prost(uint32, tag = "4")]
    pub haehhcpoapp: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientObjDownloadData {
    #[prost(bytes = "vec", tag = "1")]
    pub bidjpeimllf: ::prost::alloc::vec::Vec<u8>,
    #[prost(message, optional, tag = "2")]
    pub download_data: ::core::option::Option<ClientDownloadData>,
    #[prost(message, repeated, tag = "3")]
    pub download_data_list: ::prost::alloc::vec::Vec<ClientDownloadData>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientUploadData {
    #[prost(string, tag = "1")]
    pub eamajgpcgfd: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub mbmdocjimej: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Odbjkoaabbe {
    #[prost(uint32, repeated, tag = "1")]
    pub param_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureSwitchInfo {
    #[prost(enumeration = "Kpdimdcljfi", tag = "1")]
    pub r#type: i32,
    #[prost(message, repeated, tag = "2")]
    pub switch_list: ::prost::alloc::vec::Vec<Odbjkoaabbe>,
    #[prost(bool, tag = "3")]
    pub is_all_closed: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jgfkicdcflj {
    #[prost(string, tag = "1")]
    pub fdkgfdicmfd: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub mdjcaoagcko: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub gioohoomjho: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub fbmllnkcfen: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub dgoohibaoee: ::prost::alloc::string::String,
    #[prost(string, tag = "6")]
    pub fkbamboodkj: ::prost::alloc::string::String,
    #[prost(string, tag = "7")]
    pub jkhhedmnjlc: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bbbncholikp {
    #[prost(uint64, tag = "1")]
    pub dknpkjmahcm: u64,
    #[prost(enumeration = "ReplayType", tag = "2")]
    pub replay_type: i32,
    #[prost(uint32, tag = "3")]
    pub stage_id: u32,
    #[prost(uint32, tag = "4")]
    pub uid: u32,
    #[prost(string, tag = "5")]
    pub nickname: ::prost::alloc::string::String,
    #[prost(uint32, tag = "6")]
    pub head_icon: u32,
    #[prost(string, tag = "7")]
    pub hciibppifbg: ::prost::alloc::string::String,
    #[prost(uint64, tag = "8")]
    pub sent_time: u64,
    #[prost(uint32, tag = "9")]
    pub afehlmfibmd: u32,
    #[prost(uint32, tag = "10")]
    pub cmpbkbbkaoa: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PunkLordBattleAvatar {
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "2")]
    pub avatar_level: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PunkLordBattleRecord {
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    #[prost(uint32, tag = "2")]
    pub damage_hp: u32,
    #[prost(bool, tag = "3")]
    pub is_final_hit: bool,
    #[prost(uint32, tag = "4")]
    pub over_kill_damage_hp: u32,
    #[prost(string, tag = "5")]
    pub battle_replay_key: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "6")]
    pub avatar_list: ::prost::alloc::vec::Vec<PunkLordBattleAvatar>,
    #[prost(uint32, tag = "7")]
    pub assist_score: u32,
    #[prost(uint32, tag = "8")]
    pub damage_score: u32,
    #[prost(uint32, tag = "9")]
    pub final_hit_score: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fdhamnojnio {
    #[prost(message, repeated, tag = "1")]
    pub jpkaccgmmmp: ::prost::alloc::vec::Vec<PunkLordBattleRecord>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Odjipdmnbec {
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gjnaaghkook {
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
    #[prost(uint32, tag = "3")]
    pub config_id: u32,
    #[prost(uint32, tag = "4")]
    pub world_level: u32,
    #[prost(int64, tag = "5")]
    pub sent_time: i64,
    #[prost(uint32, tag = "6")]
    pub left_hp: u32,
    #[prost(uint32, tag = "7")]
    pub pjdcnahgahc: u32,
    #[prost(enumeration = "Pgcakalelgp", tag = "8")]
    pub felggjmhono: i32,
    #[prost(bool, tag = "9")]
    pub ppboceckcah: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PunkLordBattleReplay {
    #[prost(string, tag = "1")]
    pub battle_replay_key: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "2")]
    pub replay_info: ::core::option::Option<Bbbncholikp>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ildhfmhbknc {
    #[prost(uint64, tag = "1")]
    pub infhikbljla: u64,
    #[prost(uint32, tag = "2")]
    pub nbdlpgbidlc: u32,
    #[prost(uint32, tag = "3")]
    pub ahbemdlggeo: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pedlphdbnaf {
    #[prost(oneof = "pedlphdbnaf::Gahlglnkafc", tags = "101")]
    pub gahlglnkafc: ::core::option::Option<pedlphdbnaf::Gahlglnkafc>,
}
/// Nested message and enum types in `PEDLPHDBNAF`.
pub mod pedlphdbnaf {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Gahlglnkafc {
        #[prost(message, tag = "101")]
        Lfcphajcekf(super::Ildhfmhbknc),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RegionEntry {
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub title: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub dispatch_url: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub env_type: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub display_name: ::prost::alloc::string::String,
    #[prost(string, tag = "6")]
    pub msg: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DispatchRegionData {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(string, tag = "2")]
    pub msg: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub top_sever_region_name: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "4")]
    pub region_list: ::prost::alloc::vec::Vec<RegionEntry>,
    #[prost(string, tag = "5")]
    pub aeecmagmgad: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicFilterPlanSettings {
    #[prost(uint32, tag = "1")]
    pub rarity_bitset: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub relic_set_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "3")]
    pub body_main_property_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "4")]
    pub foot_main_property_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "5")]
    pub sphere_main_property_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "6")]
    pub rope_main_property_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "7")]
    pub is_include_filter_sub_property: bool,
    #[prost(uint32, tag = "8")]
    pub sub_property_num: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub sub_property_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "10")]
    pub head_main_property_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "11")]
    pub hand_main_property_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleOp {
    #[prost(uint32, tag = "1")]
    pub kkklnghcfjn: u32,
    #[prost(uint32, tag = "2")]
    pub state: u32,
    #[prost(uint32, tag = "3")]
    pub emekalnfbbe: u32,
    #[prost(uint32, tag = "4")]
    pub hcdfaiodngc: u32,
    #[prost(uint32, tag = "5")]
    pub mgdjdoljilj: u32,
    #[prost(uint32, tag = "6")]
    pub skill_index: u32,
    #[prost(uint32, tag = "7")]
    pub bkkbodhkmdo: u32,
    #[prost(string, tag = "8")]
    pub nplieiphcbf: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleEquipment {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub promotion: u32,
    #[prost(uint32, tag = "4")]
    pub rank: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleRelic {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub main_affix_id: u32,
    #[prost(message, repeated, tag = "4")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    #[prost(uint32, tag = "5")]
    pub unique_id: u32,
    #[prost(uint32, tag = "6")]
    pub relic_id: u32,
    #[prost(uint32, tag = "7")]
    pub slot: u32,
    #[prost(uint32, tag = "8")]
    pub jlkmncoidlg: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarSkillTree {
    #[prost(uint32, tag = "1")]
    pub point_id: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicAffix {
    #[prost(uint32, tag = "1")]
    pub affix_id: u32,
    #[prost(uint32, tag = "2")]
    pub cnt: u32,
    #[prost(uint32, tag = "3")]
    pub step: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bjhebccbana {
    #[prost(bool, tag = "1")]
    pub ljpadncgloc: bool,
    #[prost(uint32, repeated, tag = "2")]
    pub dddhnaklmhf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub jgjcdmjimnn: u32,
    #[prost(uint32, tag = "4")]
    pub pofmkdabehd: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleAvatar {
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "2")]
    pub id: u32,
    #[prost(uint32, tag = "3")]
    pub level: u32,
    #[prost(uint32, tag = "4")]
    pub rank: u32,
    #[prost(uint32, tag = "5")]
    pub index: u32,
    #[prost(message, repeated, tag = "6")]
    pub skilltree_list: ::prost::alloc::vec::Vec<AvatarSkillTree>,
    #[prost(message, repeated, tag = "7")]
    pub equipment_list: ::prost::alloc::vec::Vec<BattleEquipment>,
    #[prost(uint32, tag = "8")]
    pub hp: u32,
    #[prost(uint32, tag = "10")]
    pub promotion: u32,
    #[prost(message, repeated, tag = "11")]
    pub relic_list: ::prost::alloc::vec::Vec<BattleRelic>,
    #[prost(uint32, tag = "12")]
    pub world_level: u32,
    #[prost(uint32, tag = "13")]
    pub cpmncmgncek: u32,
    #[prost(message, optional, tag = "15")]
    pub ecifjlakhcl: ::core::option::Option<Bjhebccbana>,
    #[prost(message, optional, tag = "16")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
    #[prost(uint32, tag = "17")]
    pub gmobaocefce: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fbgdljjimdb {
    #[prost(uint32, tag = "1")]
    pub edcnkkmgpco: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub kpieaikhchd: u32,
    #[prost(uint32, tag = "4")]
    pub dneampllfme: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lolodhcipda {
    #[prost(uint32, tag = "1")]
    pub monster_id: u32,
    #[prost(uint32, tag = "2")]
    pub cur_hp: u32,
    #[prost(uint32, tag = "3")]
    pub max_hp: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pjkohmbfikh {
    #[prost(message, repeated, tag = "1")]
    pub monster_list: ::prost::alloc::vec::Vec<Lolodhcipda>,
    #[prost(message, optional, tag = "2")]
    pub wave_param: ::core::option::Option<Fbgdljjimdb>,
    #[prost(uint32, tag = "3")]
    pub stage_id: u32,
    #[prost(uint32, tag = "4")]
    pub wave_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleBuff {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub owner_id: u32,
    #[prost(uint32, tag = "4")]
    pub wave_flag: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub target_index_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(map = "string, float", tag = "6")]
    pub dynamic_values: ::std::collections::HashMap<::prost::alloc::string::String, f32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Illcdmocldo {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub hfaljihkecn: u32,
    #[prost(uint32, tag = "3")]
    pub laejdghmkdb: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ljgiaglfhhc {
    #[prost(uint32, tag = "1")]
    pub fenmmmkoocf: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Enflfbdaoij {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub hfaljihkecn: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gmgjcihdfma {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub progress: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleTarget {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub progress: u32,
    #[prost(uint32, tag = "3")]
    pub total_progress: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleTargetList {
    #[prost(message, repeated, tag = "1")]
    pub battle_target_list: ::prost::alloc::vec::Vec<BattleTarget>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dbdgpcbjehg {
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<BattleAvatar>,
    #[prost(message, repeated, tag = "2")]
    pub monster_wave_list: ::prost::alloc::vec::Vec<Pjkohmbfikh>,
    #[prost(message, repeated, tag = "3")]
    pub buff_list: ::prost::alloc::vec::Vec<BattleBuff>,
    #[prost(uint32, tag = "7")]
    pub world_level: u32,
    #[prost(map = "uint32, message", tag = "9")]
    pub battle_target_info: ::std::collections::HashMap<u32, BattleTargetList>,
    #[prost(message, optional, tag = "10")]
    pub ajgpjglpmio: ::core::option::Option<Ljgiaglfhhc>,
    #[prost(message, repeated, tag = "11")]
    pub ejcljldendm: ::prost::alloc::vec::Vec<BattleAvatar>,
    #[prost(message, optional, tag = "12")]
    pub jpgifchjdlk: ::core::option::Option<EvolveBuildBattleInfo>,
    #[prost(message, optional, tag = "13")]
    pub mfkjokajjmj: ::core::option::Option<Gieibeacbao>,
    #[prost(message, optional, tag = "14")]
    pub rogue_magic_battle_info: ::core::option::Option<RogueMagicBattleInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gieibeacbao {
    #[prost(map = "uint32, uint32", tag = "1")]
    pub gccjdhkhmnk: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "2")]
    pub fpbnipmhanh: u32,
    #[prost(uint32, tag = "3")]
    pub aagiancieeg: u32,
    #[prost(uint32, tag = "4")]
    pub elpfomlcobm: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pkiakjmeaml {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub index: u32,
    #[prost(uint32, tag = "3")]
    pub promotion: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub eahiamedkga: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Depjmmbphbj", tag = "5")]
    pub kpmplbelann: i32,
    #[prost(message, optional, tag = "6")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pndfmbjfgim {
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<Pkiakjmeaml>,
    #[prost(message, repeated, tag = "2")]
    pub monster_wave_list: ::prost::alloc::vec::Vec<Pjkohmbfikh>,
    #[prost(message, repeated, tag = "3")]
    pub buff_list: ::prost::alloc::vec::Vec<BattleBuff>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hbldpbbkhpb {
    #[prost(uint32, tag = "1")]
    pub kkklnghcfjn: u32,
    #[prost(uint32, tag = "2")]
    pub dnapmnemhbo: u32,
    #[prost(uint32, tag = "3")]
    pub ibjfafabgbk: u32,
    #[prost(message, repeated, tag = "4")]
    pub cdafgdbmajn: ::prost::alloc::vec::Vec<Okkgelpahef>,
    #[prost(message, repeated, tag = "5")]
    pub kflnkebbonk: ::prost::alloc::vec::Vec<Elcpgninpin>,
    #[prost(uint32, tag = "6")]
    pub jeinbmlfcbp: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jeafnkhfpfb {
    #[prost(bool, tag = "1")]
    pub fkmdhibfomh: bool,
    #[prost(uint32, tag = "2")]
    pub kpebbgcmmip: u32,
    #[prost(bool, tag = "3")]
    pub ddfkaepcanh: bool,
    #[prost(string, tag = "4")]
    pub fhidoicafol: ::prost::alloc::string::String,
    #[prost(bool, tag = "5")]
    pub lkfdpdldmib: bool,
    #[prost(bool, tag = "6")]
    pub mnalpnfnmio: bool,
    #[prost(uint32, tag = "7")]
    pub ggfcojflkbp: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lojkomfbope {
    #[prost(uint32, repeated, tag = "1")]
    pub plapcjheggf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "2")]
    pub ejhflinciaf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "3")]
    pub ofnapbilngg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "4")]
    pub hejhnakohlm: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dkflaljdifl {
    #[prost(uint32, tag = "1")]
    pub mbbchgenggl: u32,
    #[prost(uint32, tag = "2")]
    pub hfcdphchfgk: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mbmcfoliolo {
    #[prost(bool, tag = "1")]
    pub cdnojcacelj: bool,
    #[prost(map = "string, message", tag = "2")]
    pub haneginlani: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        Dkflaljdifl,
    >,
    #[prost(bytes = "vec", tag = "3")]
    pub cjkmgenojbe: ::prost::alloc::vec::Vec<u8>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Miaidaildkm {
    #[prost(message, repeated, tag = "1")]
    pub eeflghcobml: ::prost::alloc::vec::Vec<Hbldpbbkhpb>,
    #[prost(string, tag = "2")]
    pub kgbhehhfmpi: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub cpcljgpdnan: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "4")]
    pub hlagimenbjg: ::prost::alloc::vec::Vec<Fefdaheookp>,
    #[prost(uint32, tag = "5")]
    pub plane_id: u32,
    #[prost(uint32, tag = "6")]
    pub floor_id: u32,
    #[prost(uint32, tag = "7")]
    pub ebhlfaeglcd: u32,
    #[prost(uint32, tag = "8")]
    pub bnjmmlkofcp: u32,
    #[prost(message, optional, tag = "9")]
    pub edhbgdeicnc: ::core::option::Option<Mbmcfoliolo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ialpdfglbml {
    #[prost(uint32, tag = "1")]
    pub version: u32,
    #[prost(uint32, tag = "2")]
    pub logic_random_seed: u32,
    #[prost(uint32, tag = "3")]
    pub stage_id: u32,
    #[prost(message, optional, tag = "4")]
    pub lineup: ::core::option::Option<Dbdgpcbjehg>,
    #[prost(message, repeated, tag = "5")]
    pub op_list: ::prost::alloc::vec::Vec<BattleOp>,
    #[prost(bytes = "vec", tag = "6")]
    pub turn_snapshot_hash: ::prost::alloc::vec::Vec<u8>,
    #[prost(uint32, tag = "7")]
    pub jonbhaeofli: u32,
    #[prost(uint32, repeated, tag = "8")]
    pub djilkabpeca: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "9")]
    pub hdofebplnmm: bool,
    #[prost(enumeration = "Chehbbadkbg", tag = "10")]
    pub gphapaehjfh: i32,
    #[prost(enumeration = "Oldpjnmelab", tag = "11")]
    pub blpfeaanhdi: i32,
    #[prost(message, repeated, tag = "12")]
    pub event_battle_info_list: ::prost::alloc::vec::Vec<BattleEventBattleInfo>,
    #[prost(uint32, tag = "14")]
    pub rounds_limit: u32,
    #[prost(message, optional, tag = "15")]
    pub fgpmjanhepd: ::core::option::Option<Jeafnkhfpfb>,
    #[prost(bytes = "vec", tag = "16")]
    pub bbbhdkghaof: ::prost::alloc::vec::Vec<u8>,
    #[prost(uint32, tag = "17")]
    pub cost_time: u32,
    #[prost(uint32, tag = "18")]
    pub wave_count: u32,
    #[prost(message, optional, tag = "19")]
    pub gmpcfgedhki: ::core::option::Option<Pndfmbjfgim>,
    #[prost(message, optional, tag = "100")]
    pub bnmiiahadjh: ::core::option::Option<Miaidaildkm>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fefdaheookp {
    #[prost(int32, tag = "1")]
    pub cainkidbhjj: i32,
    #[prost(string, tag = "2")]
    pub mbmdocjimej: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ollnabeeahe {
    #[prost(double, tag = "1")]
    pub max_hp: f64,
    #[prost(double, tag = "2")]
    pub attack: f64,
    #[prost(double, tag = "3")]
    pub defence: f64,
    #[prost(double, tag = "4")]
    pub speed: f64,
    #[prost(double, tag = "5")]
    pub left_hp: f64,
    #[prost(double, tag = "6")]
    pub jfdjnmgmabb: f64,
    #[prost(double, tag = "7")]
    pub ngdcmjlbbmm: f64,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nceeccinile {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub rank: u32,
    #[prost(uint32, tag = "3")]
    pub promotion: u32,
    #[prost(uint32, tag = "4")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AttackDamageProperty {
    #[prost(string, tag = "1")]
    pub cblnakoooig: ::prost::alloc::string::String,
    #[prost(double, tag = "2")]
    pub gdflpphgene: f64,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SkillUseProperty {
    #[prost(uint32, tag = "1")]
    pub ooackegemfk: u32,
    #[prost(string, tag = "2")]
    pub aciaeghccmc: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub bfnlpbiehlh: u32,
    #[prost(uint32, tag = "4")]
    pub oagmlnblakd: u32,
    #[prost(uint32, tag = "5")]
    pub ifejkalhopi: u32,
    #[prost(uint32, tag = "6")]
    pub jhdhlcncdnc: u32,
    #[prost(uint32, tag = "7")]
    pub hoafnnijoom: u32,
    #[prost(uint32, tag = "8")]
    pub mdeadclnjcj: u32,
    #[prost(uint32, tag = "9")]
    pub ohnppjemkde: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gaagehabinm {
    #[prost(uint32, tag = "1")]
    pub ooackegemfk: u32,
    #[prost(double, tag = "2")]
    pub hgflpenkiii: f64,
    #[prost(uint32, repeated, tag = "3")]
    pub battle_target_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(double, tag = "4")]
    pub gdflpphgene: f64,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Blgmhefgepn {
    #[prost(string, tag = "1")]
    pub source: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub pmnpmgdpbmh: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phjooabnbio {
    #[prost(string, tag = "1")]
    pub fkhhobbfmeh: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub count: u32,
    #[prost(double, tag = "3")]
    pub total_damage: f64,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mofbigpoalm {
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "2")]
    pub id: u32,
    #[prost(uint32, tag = "3")]
    pub hohjhmbfcme: u32,
    #[prost(uint32, tag = "4")]
    pub fcmfbhmdfop: u32,
    #[prost(uint32, tag = "5")]
    pub kcjeeplfpde: u32,
    #[prost(message, optional, tag = "6")]
    pub ecoadhapabf: ::core::option::Option<Ollnabeeahe>,
    #[prost(message, repeated, tag = "7")]
    pub kgieplddgcd: ::prost::alloc::vec::Vec<AvatarSkillTree>,
    #[prost(message, repeated, tag = "8")]
    pub ljbkpamkjnc: ::prost::alloc::vec::Vec<Nceeccinile>,
    #[prost(uint32, tag = "9")]
    pub total_turns: u32,
    #[prost(double, tag = "10")]
    pub total_damage: f64,
    #[prost(double, tag = "11")]
    pub total_heal: f64,
    #[prost(double, tag = "12")]
    pub total_damage_taken: f64,
    #[prost(double, tag = "13")]
    pub total_hp_recover: f64,
    #[prost(double, tag = "14")]
    pub maceeaaeemc: f64,
    #[prost(uint32, tag = "15")]
    pub stage_id: u32,
    #[prost(uint32, tag = "16")]
    pub stage_type: u32,
    #[prost(double, tag = "17")]
    pub lankmapidbd: f64,
    #[prost(message, repeated, tag = "18")]
    pub attack_damage_type: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    #[prost(message, repeated, tag = "19")]
    pub nepfmblihik: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    #[prost(message, repeated, tag = "20")]
    pub ogoajmdmmdg: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    #[prost(message, repeated, tag = "21")]
    pub skill_times: ::prost::alloc::vec::Vec<SkillUseProperty>,
    #[prost(double, tag = "22")]
    pub delay_cumulate: f64,
    #[prost(uint32, tag = "23")]
    pub einfkdjfoop: u32,
    #[prost(message, repeated, tag = "24")]
    pub dlhgdggbkok: ::prost::alloc::vec::Vec<Blgmhefgepn>,
    #[prost(uint32, tag = "25")]
    pub ajjmgnfgoje: u32,
    #[prost(uint32, tag = "26")]
    pub pjmmlkedmog: u32,
    #[prost(uint32, tag = "27")]
    pub dcncboepohb: u32,
    #[prost(uint32, tag = "28")]
    pub eigeecdnjcn: u32,
    #[prost(uint32, tag = "29")]
    pub ekmmcifnffg: u32,
    #[prost(double, tag = "30")]
    pub fonhedeflom: f64,
    #[prost(double, tag = "31")]
    pub hjidhcjnibe: f64,
    #[prost(double, tag = "32")]
    pub phdedfbljfi: f64,
    #[prost(message, optional, tag = "33")]
    pub efgkjmhckap: ::core::option::Option<Ollnabeeahe>,
    #[prost(message, repeated, tag = "34")]
    pub kihmcggikkm: ::prost::alloc::vec::Vec<BattleRelic>,
    #[prost(uint32, tag = "35")]
    pub cpmncmgncek: u32,
    #[prost(message, repeated, tag = "36")]
    pub aadgflpbpdf: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    #[prost(double, tag = "37")]
    pub fpfbmimbbhj: f64,
    #[prost(double, tag = "38")]
    pub ggpjohnocpc: f64,
    #[prost(double, tag = "39")]
    pub lackcjhhimk: f64,
    #[prost(double, tag = "40")]
    pub fmodlgobnpe: f64,
    #[prost(message, repeated, tag = "41")]
    pub lhkabnickjn: ::prost::alloc::vec::Vec<Phjooabnbio>,
    #[prost(uint32, tag = "42")]
    pub ncjhdjjdjnl: u32,
    #[prost(uint32, tag = "43")]
    pub lkmgdiadopb: u32,
    #[prost(double, tag = "44")]
    pub iblgmcipckm: f64,
    #[prost(double, tag = "45")]
    pub hacjdjigmgp: f64,
    #[prost(double, tag = "46")]
    pub imdjahajgcf: f64,
    #[prost(double, tag = "47")]
    pub jdolkdbiclj: f64,
    #[prost(double, tag = "48")]
    pub caccoddcjhi: f64,
    #[prost(uint32, tag = "49")]
    pub lldmlohbflo: u32,
    #[prost(uint32, tag = "50")]
    pub chnikkcibeg: u32,
    #[prost(uint32, tag = "51")]
    pub lbnjhhhlpmo: u32,
    #[prost(double, tag = "52")]
    pub pdlilfichil: f64,
    #[prost(uint32, tag = "53")]
    pub pmklphjiohc: u32,
    #[prost(uint32, tag = "54")]
    pub mpfaenekfdc: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonsterProperty {
    #[prost(double, tag = "1")]
    pub max_hp: f64,
    #[prost(double, tag = "2")]
    pub attack: f64,
    #[prost(double, tag = "3")]
    pub defence: f64,
    #[prost(double, tag = "4")]
    pub ihemiifpbgj: f64,
    #[prost(double, tag = "5")]
    pub speed: f64,
    #[prost(double, tag = "6")]
    pub left_hp: f64,
    #[prost(double, tag = "7")]
    pub nilpfihmeci: f64,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oihdleojafm {
    #[prost(uint32, tag = "1")]
    pub ndbojandnjn: u32,
    #[prost(double, tag = "2")]
    pub mmcphlpecdj: f64,
    #[prost(uint32, tag = "3")]
    pub doiadgdbohf: u32,
    #[prost(uint32, tag = "4")]
    pub eigeecdnjcn: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lafiengmemj {
    #[prost(uint32, tag = "1")]
    pub entity_id: u32,
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
    #[prost(uint32, tag = "3")]
    pub oakilfgdacj: u32,
    #[prost(uint32, tag = "4")]
    pub bfpaoanbjon: u32,
    #[prost(message, optional, tag = "5")]
    pub nkcmcmhafaf: ::core::option::Option<MonsterProperty>,
    #[prost(uint32, tag = "6")]
    pub total_turns: u32,
    #[prost(double, tag = "7")]
    pub total_damage: f64,
    #[prost(double, tag = "8")]
    pub total_heal: f64,
    #[prost(double, tag = "9")]
    pub total_damage_taken: f64,
    #[prost(double, tag = "10")]
    pub akgfcpfaolp: f64,
    #[prost(double, tag = "11")]
    pub total_hp_recover: f64,
    #[prost(uint32, tag = "12")]
    pub stage_id: u32,
    #[prost(uint32, tag = "13")]
    pub battle_id: u32,
    #[prost(uint32, tag = "14")]
    pub jbcdlfjjjdg: u32,
    #[prost(message, repeated, tag = "15")]
    pub attack_damage_type: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    #[prost(message, repeated, tag = "16")]
    pub skill_times: ::prost::alloc::vec::Vec<SkillUseProperty>,
    #[prost(uint32, tag = "17")]
    pub stage_type: u32,
    #[prost(double, tag = "18")]
    pub acofippjkbi: f64,
    #[prost(double, tag = "19")]
    pub delay_cumulate: f64,
    #[prost(enumeration = "Ghbmbgdpiie", tag = "20")]
    pub fiedknkiebh: i32,
    #[prost(uint32, tag = "21")]
    pub wave: u32,
    #[prost(int32, tag = "22")]
    pub jhaogjjdbhl: i32,
    #[prost(uint32, tag = "23")]
    pub phase: u32,
    #[prost(uint32, tag = "24")]
    pub dcmohecbolk: u32,
    #[prost(enumeration = "Agbpcblfnol", tag = "25")]
    pub jedahlgbiem: i32,
    #[prost(message, repeated, tag = "26")]
    pub skill_info: ::prost::alloc::vec::Vec<Gaagehabinm>,
    #[prost(uint32, tag = "27")]
    pub lanfclolbof: u32,
    #[prost(message, repeated, tag = "28")]
    pub kfgjbiljgdp: ::prost::alloc::vec::Vec<Oihdleojafm>,
    #[prost(uint32, tag = "29")]
    pub fpkoniklica: u32,
    #[prost(uint32, tag = "30")]
    pub jeemgaeifae: u32,
    #[prost(enumeration = "Hembndjafda", tag = "31")]
    pub hbofdajjjme: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleEventInitedData {
    #[prost(message, optional, tag = "2")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleEventBattleInfo {
    #[prost(uint32, tag = "1")]
    pub battle_event_id: u32,
    #[prost(message, optional, tag = "2")]
    pub status: ::core::option::Option<BattleEventInitedData>,
    #[prost(message, repeated, tag = "3")]
    pub skill_info: ::prost::alloc::vec::Vec<Gaagehabinm>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Icfcppichjb {
    #[prost(uint32, tag = "1")]
    pub fjjdfpkgopc: u32,
    #[prost(uint32, tag = "2")]
    pub score: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibffajohkmo {
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub leickpdifog: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub source: u32,
    #[prost(double, tag = "4")]
    pub gdflpphgene: f64,
    #[prost(uint32, repeated, tag = "5")]
    pub dikkhpfkapf: ::prost::alloc::vec::Vec<u32>,
    #[prost(int32, tag = "6")]
    pub eoofimegmfb: i32,
    #[prost(double, tag = "7")]
    pub bkjeampnank: f64,
    #[prost(uint32, tag = "8")]
    pub blfhkgpmndk: u32,
    #[prost(uint32, tag = "9")]
    pub wave: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kkmpkjpggcl {
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    #[prost(int32, tag = "2")]
    pub abapdfgjnme: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cnpnnijglfi {
    #[prost(uint32, tag = "1")]
    pub dpdnnmbcpoi: u32,
    #[prost(uint32, tag = "2")]
    pub dbeljgbkbpa: u32,
    #[prost(uint32, tag = "3")]
    pub entity_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iiiphjimnid {
    #[prost(uint32, tag = "1")]
    pub ndbojandnjn: u32,
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
    #[prost(message, repeated, tag = "3")]
    pub nglpbhmlehn: ::prost::alloc::vec::Vec<Kkmpkjpggcl>,
    #[prost(uint32, tag = "4")]
    pub hgflpenkiii: u32,
    #[prost(message, repeated, tag = "5")]
    pub akkggpadaoo: ::prost::alloc::vec::Vec<Cnpnnijglfi>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmndjamebml {
    #[prost(enumeration = "Oedifangclh", tag = "1")]
    pub slot: i32,
    #[prost(uint32, tag = "2")]
    pub ocpppkddiml: u32,
    #[prost(uint32, tag = "3")]
    pub display_value: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kpkkkjpjcpc {
    #[prost(uint32, tag = "1")]
    pub lidgjndgbkm: u32,
    #[prost(uint32, tag = "2")]
    pub oaabadfkcoa: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Meoifioaecf {
    #[prost(uint32, tag = "1")]
    pub jjccjjinlfl: u32,
    #[prost(bool, tag = "2")]
    pub locked: bool,
    #[prost(message, optional, tag = "3")]
    pub kacalgioedb: ::core::option::Option<Kpkkkjpjcpc>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bhgboojeopf {
    #[prost(uint32, tag = "1")]
    pub card_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildGearDamageInfo {
    #[prost(uint32, tag = "1")]
    pub gear_id: u32,
    #[prost(double, tag = "2")]
    pub damage: f64,
    #[prost(double, tag = "3")]
    pub hp_damage: f64,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lgifednkhon {
    #[prost(uint32, repeated, tag = "1")]
    pub dakijnbfkob: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mjkibjlobkd {
    #[prost(uint32, tag = "1")]
    pub wave: u32,
    #[prost(uint32, tag = "2")]
    pub score: u32,
    #[prost(uint32, tag = "3")]
    pub dchiolbfkjn: u32,
    #[prost(message, repeated, tag = "4")]
    pub bhjkmhmoeak: ::prost::alloc::vec::Vec<Kpkkkjpjcpc>,
    #[prost(float, tag = "5")]
    pub hgflpenkiii: f32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pmnhmamhgai {
    #[prost(uint32, tag = "1")]
    pub icphoomndka: u32,
    #[prost(message, repeated, tag = "2")]
    pub enbjcpkgcol: ::prost::alloc::vec::Vec<Mjkibjlobkd>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildBattleInfo {
    #[prost(uint32, tag = "1")]
    pub cur_level_id: u32,
    #[prost(uint32, tag = "2")]
    pub cur_period: u32,
    #[prost(uint32, tag = "3")]
    pub cur_coin: u32,
    #[prost(message, repeated, tag = "4")]
    pub weapon_slot_list: ::prost::alloc::vec::Vec<Meoifioaecf>,
    #[prost(message, repeated, tag = "5")]
    pub accessory_slot_list: ::prost::alloc::vec::Vec<Meoifioaecf>,
    #[prost(uint32, repeated, tag = "6")]
    pub ban_gear_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "7")]
    pub collection: ::core::option::Option<Lgifednkhon>,
    #[prost(uint32, repeated, tag = "8")]
    pub allowed_gear_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub cur_exp: u32,
    #[prost(uint32, tag = "10")]
    pub cur_reroll: u32,
    #[prost(uint32, tag = "11")]
    pub cur_treasure_miss_cnt: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub period_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub cur_gear_lost_cnt: u32,
    #[prost(uint32, tag = "14")]
    pub cur_wave: u32,
    #[prost(bool, tag = "15")]
    pub is_unlock_gear_reroll: bool,
    #[prost(bool, tag = "16")]
    pub is_unlock_gear_ban: bool,
    #[prost(message, repeated, tag = "17")]
    pub card_list: ::prost::alloc::vec::Vec<Bhgboojeopf>,
    #[prost(message, repeated, tag = "18")]
    pub gear_damage_list: ::prost::alloc::vec::Vec<EvolveBuildGearDamageInfo>,
    #[prost(uint32, repeated, tag = "19")]
    pub stat_params: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "20")]
    pub is_giveup: bool,
    #[prost(uint32, tag = "21")]
    pub cur_unused_round_cnt: u32,
    #[prost(message, optional, tag = "22")]
    pub stat_log_info: ::core::option::Option<Pmnhmamhgai>,
    #[prost(uint32, tag = "23")]
    pub period_first_random_seed: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plpnlibmnio {
    #[prost(string, tag = "1")]
    pub phase: ::prost::alloc::string::String,
    #[prost(float, tag = "2")]
    pub dbdcnafoglf: f32,
    #[prost(float, tag = "3")]
    pub hdalbiancmf: f32,
    #[prost(uint32, tag = "4")]
    pub adjbbabehah: u32,
    #[prost(uint32, tag = "5")]
    pub pjbiaejecae: u32,
    #[prost(uint32, tag = "6")]
    pub kpnacghjalj: u32,
    #[prost(uint32, tag = "7")]
    pub fpjadbgohkm: u32,
    #[prost(uint32, tag = "8")]
    pub cjejofamdcd: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub bgjcedeahgm: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "10")]
    pub aagjcjiofpa: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Chdonigoknm {
    #[prost(uint32, tag = "1")]
    pub heocpakcelm: u32,
    #[prost(uint32, tag = "2")]
    pub bghkbmfhmoj: u32,
    #[prost(uint32, tag = "3")]
    pub loollagmnlh: u32,
    #[prost(uint32, tag = "4")]
    pub hecjooobahc: u32,
    #[prost(uint32, tag = "5")]
    pub fkeaaipkpaa: u32,
    #[prost(uint32, tag = "6")]
    pub icleenhipoh: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub boss_buff_info: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "8")]
    pub odbonkcmdmp: ::prost::alloc::vec::Vec<Plpnlibmnio>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jffndobbnfb {
    #[prost(uint32, tag = "1")]
    pub wave: u32,
    #[prost(double, tag = "2")]
    pub hfihdddiljb: f64,
    #[prost(double, tag = "3")]
    pub khgclcllecl: f64,
    #[prost(uint32, tag = "4")]
    pub ffpmjfhncho: u32,
    #[prost(uint32, tag = "5")]
    pub gmmbgamhbkb: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ekbagmomecl {
    #[prost(string, tag = "1")]
    pub key: ::prost::alloc::string::String,
    #[prost(double, tag = "2")]
    pub mbmdocjimej: f64,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plgjihifpag {
    #[prost(uint32, tag = "1")]
    pub egmebanhhnf: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleRogueMagicRoundCount {
    #[prost(uint32, tag = "1")]
    pub gpojenhaiba: u32,
    #[prost(uint32, tag = "2")]
    pub kljklbmlefo: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleRogueMagicUnit {
    #[prost(uint32, tag = "1")]
    pub unit_id: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(bool, tag = "3")]
    pub locked: bool,
    #[prost(uint32, tag = "4")]
    pub slot_id: u32,
    #[prost(map = "uint32, uint32", tag = "5")]
    pub counter_map: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleRogueMagicScepter {
    #[prost(uint32, tag = "1")]
    pub scepter_id: u32,
    #[prost(message, repeated, tag = "2")]
    pub magic_list: ::prost::alloc::vec::Vec<BattleRogueMagicUnit>,
    #[prost(uint32, tag = "3")]
    pub level: u32,
    #[prost(map = "uint32, uint32", tag = "4")]
    pub trench_count: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleRogueMagicData {
    #[prost(message, optional, tag = "1")]
    pub round_cnt: ::core::option::Option<BattleRogueMagicRoundCount>,
    #[prost(message, repeated, tag = "2")]
    pub battle_scepter_list: ::prost::alloc::vec::Vec<BattleRogueMagicScepter>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fkocboocdnl {
    #[prost(uint32, tag = "1")]
    pub poiiaiakilf: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicBattleUnitInfo {
    #[prost(oneof = "rogue_magic_battle_unit_info::Item", tags = "1, 2")]
    pub item: ::core::option::Option<rogue_magic_battle_unit_info::Item>,
}
/// Nested message and enum types in `RogueMagicBattleUnitInfo`.
pub mod rogue_magic_battle_unit_info {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Item {
        #[prost(message, tag = "1")]
        BattleRogueMagicData(super::BattleRogueMagicData),
        #[prost(message, tag = "2")]
        Ennpjglcbem(super::Fkocboocdnl),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicBattleInfo {
    #[prost(message, optional, tag = "1")]
    pub scepter: ::core::option::Option<Plgjihifpag>,
    #[prost(message, optional, tag = "2")]
    pub player_detail_info: ::core::option::Option<RogueMagicBattleUnitInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ccccgjabbpm {
    #[prost(uint32, tag = "1")]
    pub scepter_id: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(double, tag = "3")]
    pub total_damage: f64,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aenpijcdbmh {
    #[prost(uint32, tag = "1")]
    pub klmcppbbooh: u32,
    #[prost(uint32, tag = "2")]
    pub kmoeadpmflg: u32,
    #[prost(message, repeated, tag = "3")]
    pub cicanokpnbm: ::prost::alloc::vec::Vec<Ccccgjabbpm>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbncgkdnmil {
    #[prost(uint32, tag = "1")]
    pub aenkmaoabmp: u32,
    #[prost(uint32, tag = "2")]
    pub mcdpiabdigi: u32,
    #[prost(double, tag = "3")]
    pub jnimloiohnh: f64,
    #[prost(double, tag = "4")]
    pub iejjjkfedah: f64,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mbjhfpcjaln {
    #[prost(message, optional, tag = "1")]
    pub ehnnecghjal: ::core::option::Option<Gbncgkdnmil>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aigknhfanga {
    #[prost(message, optional, tag = "1")]
    pub eilaabldphm: ::core::option::Option<Aenpijcdbmh>,
    #[prost(message, optional, tag = "2")]
    pub inpkgdfmpea: ::core::option::Option<Mbjhfpcjaln>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhlbianfohk {
    #[prost(uint32, tag = "1")]
    pub monster_id: u32,
    #[prost(uint32, tag = "2")]
    pub gmlfmpjpegg: u32,
    #[prost(uint32, tag = "3")]
    pub ffpmjfhncho: u32,
    #[prost(uint32, tag = "4")]
    pub gmmbgamhbkb: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Llbmaphbogd {
    #[prost(uint32, tag = "1")]
    pub acpbmmmcjip: u32,
    #[prost(double, tag = "2")]
    pub kkancjaljpo: f64,
    #[prost(double, tag = "3")]
    pub mfjkflgpgko: f64,
    #[prost(uint32, tag = "4")]
    pub wave: u32,
    #[prost(uint32, tag = "5")]
    pub gmlfmpjpegg: u32,
    #[prost(double, tag = "6")]
    pub abmnlnnoklo: f64,
    #[prost(double, tag = "7")]
    pub ihbbekcoeae: f64,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dpndlhgemei {
    #[prost(uint32, tag = "1")]
    pub imcpkldfdog: u32,
    #[prost(uint32, tag = "2")]
    pub ajgeofiiddh: u32,
    #[prost(double, tag = "3")]
    pub omoenbakmhj: f64,
    #[prost(uint32, tag = "4")]
    pub wave: u32,
    #[prost(uint32, tag = "5")]
    pub gmlfmpjpegg: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cpfcbladmbh {
    #[prost(message, repeated, tag = "1")]
    pub haafhkiagkm: ::prost::alloc::vec::Vec<Lhlbianfohk>,
    #[prost(message, repeated, tag = "2")]
    pub oeagamjdlma: ::prost::alloc::vec::Vec<Llbmaphbogd>,
    #[prost(message, repeated, tag = "3")]
    pub plennpagjll: ::prost::alloc::vec::Vec<Dpndlhgemei>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Baagnohehma {
    #[prost(message, optional, tag = "1")]
    pub oimbgaehdbi: ::core::option::Option<Cpfcbladmbh>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mkeecchgigh {
    #[prost(uint32, tag = "1")]
    pub nmimbiopeki: u32,
    #[prost(double, tag = "2")]
    pub kkancjaljpo: f64,
    #[prost(double, tag = "3")]
    pub mfjkflgpgko: f64,
    #[prost(uint32, tag = "4")]
    pub fgmlckanian: u32,
    #[prost(uint32, tag = "5")]
    pub goaebjjpajo: u32,
    #[prost(uint32, tag = "6")]
    pub nilakidfhej: u32,
    #[prost(uint32, tag = "7")]
    pub pigndajgdgj: u32,
    #[prost(double, tag = "8")]
    pub abmnlnnoklo: f64,
    #[prost(uint32, tag = "9")]
    pub jbjmophgmfa: u32,
    #[prost(uint32, tag = "10")]
    pub pobibiloani: u32,
    #[prost(double, tag = "11")]
    pub ihbbekcoeae: f64,
    #[prost(uint32, tag = "12")]
    pub loollagmnlh: u32,
    #[prost(uint32, tag = "13")]
    pub fkeaaipkpaa: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bdmgoejbfgl {
    #[prost(uint32, tag = "1")]
    pub loollagmnlh: u32,
    #[prost(uint32, tag = "2")]
    pub fkeaaipkpaa: u32,
    #[prost(uint32, tag = "3")]
    pub akpmnjcggai: u32,
    #[prost(message, repeated, tag = "4")]
    pub oeagamjdlma: ::prost::alloc::vec::Vec<Mkeecchgigh>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hanhnlneicm {
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "2")]
    pub dpdnnmbcpoi: u32,
    #[prost(uint32, tag = "3")]
    pub total_turns: u32,
    #[prost(double, tag = "4")]
    pub fbcmjgmbjfc: f64,
    #[prost(message, repeated, tag = "5")]
    pub skill_times: ::prost::alloc::vec::Vec<SkillUseProperty>,
    #[prost(double, tag = "6")]
    pub total_damage: f64,
    #[prost(double, tag = "7")]
    pub lankmapidbd: f64,
    #[prost(message, repeated, tag = "8")]
    pub attack_damage_type: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    #[prost(message, repeated, tag = "9")]
    pub nepfmblihik: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    #[prost(message, repeated, tag = "10")]
    pub ogoajmdmmdg: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    #[prost(double, tag = "11")]
    pub total_damage_taken: f64,
    #[prost(double, tag = "12")]
    pub total_heal: f64,
    #[prost(double, tag = "13")]
    pub total_hp_recover: f64,
    #[prost(double, tag = "14")]
    pub fonhedeflom: f64,
    #[prost(double, tag = "15")]
    pub hjidhcjnibe: f64,
    #[prost(double, tag = "16")]
    pub phdedfbljfi: f64,
    #[prost(uint32, tag = "17")]
    pub eigeecdnjcn: u32,
    #[prost(uint32, tag = "18")]
    pub jeplcjkfomb: u32,
    #[prost(uint32, tag = "19")]
    pub ncjhdjjdjnl: u32,
    #[prost(uint32, tag = "20")]
    pub lkmgdiadopb: u32,
    #[prost(double, tag = "21")]
    pub iblgmcipckm: f64,
    #[prost(uint32, tag = "22")]
    pub entity_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nmcmohahopl {
    #[prost(message, repeated, tag = "1")]
    pub pccdmdfnjpd: ::prost::alloc::vec::Vec<Hanhnlneicm>,
    #[prost(uint32, tag = "2")]
    pub hkpbefflfeo: u32,
    #[prost(uint32, tag = "3")]
    pub dfnkmijebld: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleStatistics {
    #[prost(uint32, tag = "1")]
    pub angplnaledp: u32,
    #[prost(uint32, tag = "2")]
    pub khkfkdnbhpe: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub bfdobflljbe: u32,
    #[prost(double, tag = "5")]
    pub nnmdmpkccke: f64,
    #[prost(double, tag = "6")]
    pub bclnmidffoh: f64,
    #[prost(message, repeated, tag = "7")]
    pub akfkcpfabmk: ::prost::alloc::vec::Vec<Mofbigpoalm>,
    #[prost(message, repeated, tag = "8")]
    pub jojfmjfoehb: ::prost::alloc::vec::Vec<Lafiengmemj>,
    #[prost(uint32, tag = "9")]
    pub lmkmfcdmfbi: u32,
    #[prost(uint32, tag = "10")]
    pub dnjidnnnmna: u32,
    #[prost(uint32, tag = "11")]
    pub hhhapgmlbjc: u32,
    #[prost(uint32, tag = "12")]
    pub kjmfjifdgpj: u32,
    #[prost(map = "string, float", tag = "13")]
    pub nbdekmakpkj: ::std::collections::HashMap<::prost::alloc::string::String, f32>,
    #[prost(uint32, tag = "14")]
    pub kgecjkkpbdh: u32,
    #[prost(message, repeated, tag = "16")]
    pub ijolofbjinb: ::prost::alloc::vec::Vec<BattleEventBattleInfo>,
    #[prost(enumeration = "Dicmjhinceg", tag = "19")]
    pub hbgclmcgnfm: i32,
    #[prost(message, repeated, tag = "21")]
    pub glojpnlnhjh: ::prost::alloc::vec::Vec<Ibffajohkmo>,
    #[prost(int32, repeated, tag = "22")]
    pub iiccefcgpak: ::prost::alloc::vec::Vec<i32>,
    #[prost(message, repeated, tag = "23")]
    pub ldgaanonmbk: ::prost::alloc::vec::Vec<Iiiphjimnid>,
    #[prost(message, repeated, tag = "26")]
    pub adbhgkpnikp: ::prost::alloc::vec::Vec<Mmndjamebml>,
    #[prost(message, repeated, tag = "27")]
    pub ecefbcnofkb: ::prost::alloc::vec::Vec<Gmkepcomhpn>,
    #[prost(map = "uint32, message", tag = "28")]
    pub battle_target_info: ::std::collections::HashMap<u32, BattleTargetList>,
    #[prost(message, repeated, tag = "29")]
    pub najlkhfllpg: ::prost::alloc::vec::Vec<Eagocahfgaf>,
    #[prost(message, optional, tag = "30")]
    pub jpgifchjdlk: ::core::option::Option<EvolveBuildBattleInfo>,
    #[prost(message, optional, tag = "31")]
    pub mnphnjkgpkl: ::core::option::Option<Chdonigoknm>,
    #[prost(bool, tag = "32")]
    pub leddodammno: bool,
    #[prost(message, repeated, tag = "33")]
    pub enbjcpkgcol: ::prost::alloc::vec::Vec<Jffndobbnfb>,
    #[prost(message, repeated, tag = "34")]
    pub ngoknfdmhmf: ::prost::alloc::vec::Vec<Ekbagmomecl>,
    #[prost(uint32, tag = "35")]
    pub dkoeadnamcj: u32,
    #[prost(message, optional, tag = "36")]
    pub idcgpakjfmd: ::core::option::Option<Aigknhfanga>,
    #[prost(message, optional, tag = "37")]
    pub billjjbfiol: ::core::option::Option<Baagnohehma>,
    #[prost(message, optional, tag = "38")]
    pub hmpgmiljapb: ::core::option::Option<Bdmgoejbfgl>,
    #[prost(message, optional, tag = "39")]
    pub nocigfllifg: ::core::option::Option<Nmcmohahopl>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eagocahfgaf {
    #[prost(uint32, tag = "1")]
    pub oefeefglieb: u32,
    #[prost(uint32, tag = "2")]
    pub pbhphhmpaih: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gmkepcomhpn {
    #[prost(enumeration = "Depjmmbphbj", tag = "1")]
    pub slot: i32,
    #[prost(uint32, tag = "2")]
    pub id: u32,
    #[prost(message, optional, tag = "3")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dkojghahgaj {
    #[prost(uint32, tag = "1")]
    pub hciigmflpim: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub exp: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ephilimkadk {
    #[prost(enumeration = "Kiafoikgdjm", tag = "1")]
    pub retcode: i32,
    #[prost(enumeration = "BattleEndStatus", tag = "2")]
    pub end_status: i32,
    #[prost(message, optional, tag = "3")]
    pub stt: ::core::option::Option<BattleStatistics>,
    #[prost(bytes = "vec", tag = "4")]
    pub bbbhdkghaof: ::prost::alloc::vec::Vec<u8>,
    #[prost(map = "string, uint32", tag = "5")]
    pub dgnmmingacj: ::std::collections::HashMap<::prost::alloc::string::String, u32>,
    #[prost(uint32, tag = "6")]
    pub ndcmdokkphh: u32,
    #[prost(uint32, tag = "7")]
    pub mdlpcfcphdk: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Okkgelpahef {
    #[prost(uint32, tag = "1")]
    pub kpjddifefdd: u32,
    #[prost(uint64, repeated, tag = "2")]
    pub biappigpbog: ::prost::alloc::vec::Vec<u64>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Elcpgninpin {
    #[prost(string, tag = "1")]
    pub cjilblkomak: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub count: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oodocmdlomf {
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(string, tag = "3")]
    pub nickname: ::prost::alloc::string::String,
    #[prost(uint32, tag = "4")]
    pub gfidnaanafh: u32,
    #[prost(enumeration = "PlatformType", tag = "5")]
    pub platform_type: i32,
    #[prost(string, tag = "6")]
    pub akcejfcfban: ::prost::alloc::string::String,
    #[prost(string, tag = "7")]
    pub bjellapogjn: ::prost::alloc::string::String,
    #[prost(uint64, tag = "8")]
    pub version: u64,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iddlkhhlecg {
    #[prost(enumeration = "Hbpfdgnndef", tag = "1")]
    pub noiiaoidgeo: i32,
    #[prost(enumeration = "Edkfijacjgl", tag = "2")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Njfgjpcandi {
    #[prost(uint32, tag = "1")]
    pub bkmpfeocfib: u32,
    #[prost(bool, tag = "2")]
    pub cocongacifj: bool,
    #[prost(uint32, tag = "3")]
    pub jejkigabeek: u32,
    #[prost(uint32, tag = "4")]
    pub miafpfpmaca: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Epeghcgcmhp {
    #[prost(string, repeated, tag = "1")]
    pub bhgghfjmmbm: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(bool, tag = "2")]
    pub fmopbfknlni: bool,
    #[prost(oneof = "epeghcgcmhp::Emahjgmlbnj", tags = "1001")]
    pub emahjgmlbnj: ::core::option::Option<epeghcgcmhp::Emahjgmlbnj>,
}
/// Nested message and enum types in `EPEGHCGCMHP`.
pub mod epeghcgcmhp {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Emahjgmlbnj {
        #[prost(message, tag = "1001")]
        Dchdjallnec(super::Njfgjpcandi),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cbbdiomifhd {
    #[prost(message, optional, tag = "1")]
    pub basic_info: ::core::option::Option<Oodocmdlomf>,
    #[prost(message, optional, tag = "2")]
    pub nckccokdkol: ::core::option::Option<Iddlkhhlecg>,
    #[prost(message, optional, tag = "3")]
    pub story_info: ::core::option::Option<Epeghcgcmhp>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cdimemfjjfp {
    #[prost(uint32, tag = "1")]
    pub lmmgodphjne: u32,
    #[prost(uint32, tag = "2")]
    pub pgjccgnbbpi: u32,
    #[prost(uint32, tag = "3")]
    pub nnbhkcjcpio: u32,
    #[prost(uint32, tag = "4")]
    pub khbnjgpphoa: u32,
    #[prost(uint32, tag = "5")]
    pub agdceblfgkh: u32,
    #[prost(uint32, tag = "6")]
    pub dncpbbliopl: u32,
    #[prost(uint32, tag = "7")]
    pub lilifgbafkn: u32,
    #[prost(uint32, tag = "8")]
    pub mmiijhohoge: u32,
    #[prost(uint32, tag = "9")]
    pub iokfikhhang: u32,
    #[prost(uint32, tag = "10")]
    pub cilkfjblejg: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ppggkmdaoea {
    #[prost(uint64, tag = "1")]
    pub lofamegpmbc: u64,
    #[prost(enumeration = "Noogdpkefkl", tag = "2")]
    pub gbahcdlhacn: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Biplkgdfafj {
    #[prost(uint64, tag = "1")]
    pub id: u64,
    #[prost(enumeration = "Noogdpkefkl", tag = "2")]
    pub pdmolplcflg: i32,
    #[prost(message, repeated, tag = "3")]
    pub iihpmlibbeb: ::prost::alloc::vec::Vec<Cbbdiomifhd>,
    #[prost(enumeration = "Khjpjangecp", tag = "4")]
    pub slot: i32,
    #[prost(uint64, tag = "5")]
    pub infhikbljla: u64,
    #[prost(uint64, tag = "6")]
    pub mlelajdljnl: u64,
    #[prost(uint32, tag = "7")]
    pub jbnenlhccbh: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fonbbadfkbk {
    #[prost(uint32, tag = "2")]
    pub id: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub jlhoggdhmhg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub module_id: u32,
    #[prost(uint32, tag = "4")]
    pub fdejbipgndl: u32,
}
/// Obf: EDJAELBBBPL
#[derive(proto_derive::CmdID)]
#[cmdid(2601)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLoginActivityCsReq {}
/// Obf: JHGDJDIOECM
#[derive(proto_derive::CmdID)]
#[cmdid(2668)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLoginActivityScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "4")]
    pub kjcgmejfjfc: ::prost::alloc::vec::Vec<Fonbbadfkbk>,
}
/// Obf: HFNIJKDDACE
#[derive(proto_derive::CmdID)]
#[cmdid(2658)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeLoginActivityRewardCsReq {
    #[prost(uint32, tag = "13")]
    pub iafhepinjhl: u32,
    #[prost(uint32, tag = "10")]
    pub id: u32,
}
/// Obf: BEEDJDOIKBI
#[derive(proto_derive::CmdID)]
#[cmdid(2624)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeLoginActivityRewardScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub module_id: u32,
    #[prost(message, optional, tag = "7")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "12")]
    pub id: u32,
    #[prost(uint32, tag = "4")]
    pub iafhepinjhl: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ActivityScheduleInfo {
    #[prost(uint32, tag = "13")]
    pub module_id: u32,
    #[prost(int64, tag = "7")]
    pub end_time: i64,
    #[prost(int64, tag = "12")]
    pub begin_time: i64,
    #[prost(uint32, tag = "3")]
    pub activity_id: u32,
}
/// Obf: LIPEJIELOMO
#[derive(proto_derive::CmdID)]
#[cmdid(2630)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetActivityScheduleConfigCsReq {}
/// Obf: KGDABKFEHJF
#[derive(proto_derive::CmdID)]
#[cmdid(2656)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetActivityScheduleConfigScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "6")]
    pub activity_schedule_list: ::prost::alloc::vec::Vec<ActivityScheduleInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hmkikhbgbfp {
    #[prost(uint32, tag = "2")]
    pub stage_id: u32,
    #[prost(bool, tag = "3")]
    pub taken_reward: bool,
}
/// Obf: MJNHBKEGKJJ
#[derive(proto_derive::CmdID)]
#[cmdid(2654)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTrialActivityDataCsReq {}
/// Obf: ILDLCCMOHPI
#[derive(proto_derive::CmdID)]
#[cmdid(2661)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTrialActivityDataScRsp {
    #[prost(message, repeated, tag = "3")]
    pub faglfbdceic: ::prost::alloc::vec::Vec<Hmkikhbgbfp>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub akbclhjhodd: u32,
}
/// Obf: NCOLNMNCJBP
#[derive(proto_derive::CmdID)]
#[cmdid(2690)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrialActivityDataChangeScNotify {
    #[prost(message, optional, tag = "15")]
    pub gljbjhjmcfp: ::core::option::Option<Hmkikhbgbfp>,
}
/// Obf: LCBHEGHLNOO
#[derive(proto_derive::CmdID)]
#[cmdid(2655)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterTrialActivityStageCsReq {
    #[prost(uint32, tag = "11")]
    pub stage_id: u32,
}
/// Obf: PDCKDBHBAIM
#[derive(proto_derive::CmdID)]
#[cmdid(2685)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterTrialActivityStageScRsp {
    #[prost(message, optional, tag = "14")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: GILJFKPFFPO
#[derive(proto_derive::CmdID)]
#[cmdid(2660)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeTrialActivityRewardCsReq {
    #[prost(uint32, tag = "9")]
    pub stage_id: u32,
}
/// Obf: NJLEPOIEAFL
#[derive(proto_derive::CmdID)]
#[cmdid(2626)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeTrialActivityRewardScRsp {
    #[prost(uint32, tag = "15")]
    pub stage_id: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: GHJFHIPDLMD
#[derive(proto_derive::CmdID)]
#[cmdid(2663)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartTrialActivityCsReq {
    #[prost(uint32, tag = "9")]
    pub stage_id: u32,
}
/// Obf: HFCEGJOCPDN
#[derive(proto_derive::CmdID)]
#[cmdid(2607)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartTrialActivityScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub stage_id: u32,
}
/// Obf: CHLMPOPOLCE
#[derive(proto_derive::CmdID)]
#[cmdid(2688)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LeaveTrialActivityCsReq {
    #[prost(uint32, tag = "15")]
    pub stage_id: u32,
}
/// Obf: DMENGGDAFCN
#[derive(proto_derive::CmdID)]
#[cmdid(2689)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LeaveTrialActivityScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub stage_id: u32,
}
/// Obf: NGCLEMHDAHG
#[derive(proto_derive::CmdID)]
#[cmdid(2665)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CurTrialActivityScNotify {
    #[prost(enumeration = "Pmidehdobhj", tag = "10")]
    pub status: i32,
    #[prost(uint32, tag = "12")]
    pub akbclhjhodd: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bcekbnmnhoo {
    #[prost(uint32, tag = "3")]
    pub module_id: u32,
    #[prost(uint32, tag = "10")]
    pub pehofbbdnic: u32,
    #[prost(bool, tag = "6")]
    pub cbnffemdbkf: bool,
    #[prost(bool, tag = "15")]
    pub is_taken_reward: bool,
}
/// Obf: JKHHDAMCDPN
#[derive(proto_derive::CmdID)]
#[cmdid(2639)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMaterialSubmitActivityDataCsReq {}
/// Obf: MIMIBBEOEEO
#[derive(proto_derive::CmdID)]
#[cmdid(2696)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMaterialSubmitActivityDataScRsp {
    #[prost(message, repeated, tag = "10")]
    pub nblhgehlodn: ::prost::alloc::vec::Vec<Bcekbnmnhoo>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: OHLPOJADNJA
#[derive(proto_derive::CmdID)]
#[cmdid(2623)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubmitMaterialSubmitActivityMaterialCsReq {
    #[prost(uint32, tag = "14")]
    pub pehofbbdnic: u32,
}
/// Obf: EAAKFJNFGKB
#[derive(proto_derive::CmdID)]
#[cmdid(2612)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubmitMaterialSubmitActivityMaterialScRsp {
    #[prost(message, optional, tag = "15")]
    pub blaaoiaeiah: ::core::option::Option<Bcekbnmnhoo>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: BEKEMIDKBFF
#[derive(proto_derive::CmdID)]
#[cmdid(2617)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMaterialSubmitActivityRewardCsReq {
    #[prost(uint32, tag = "4")]
    pub pehofbbdnic: u32,
}
/// Obf: BKGKKDKCKHF
#[derive(proto_derive::CmdID)]
#[cmdid(2691)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMaterialSubmitActivityRewardScRsp {
    #[prost(uint32, tag = "4")]
    pub pehofbbdnic: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: JHJJGMHMHEH
#[derive(proto_derive::CmdID)]
#[cmdid(1301)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterAdventureCsReq {
    #[prost(uint32, tag = "6")]
    pub map_id: u32,
}
/// Obf: IPOCHENBLOI
#[derive(proto_derive::CmdID)]
#[cmdid(1368)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterAdventureScRsp {
    #[prost(message, optional, tag = "15")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FarmStageGachaInfo {
    #[prost(int64, tag = "6")]
    pub begin_time: i64,
    #[prost(int64, tag = "15")]
    pub end_time: i64,
    #[prost(uint32, tag = "3")]
    pub gacha_id: u32,
}
/// Obf: HGGIMLCFBBI
#[derive(proto_derive::CmdID)]
#[cmdid(1358)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFarmStageGachaInfoCsReq {
    #[prost(uint32, repeated, tag = "11")]
    pub farm_stage_gacha_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HDCFNKHHELC
#[derive(proto_derive::CmdID)]
#[cmdid(1324)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFarmStageGachaInfoScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "13")]
    pub farm_stage_gacha_info_list: ::prost::alloc::vec::Vec<FarmStageGachaInfo>,
}
/// Obf: LGMLDHNBGKM
#[derive(proto_derive::CmdID)]
#[cmdid(1330)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuickStartCocoonStageCsReq {
    #[prost(uint32, tag = "2")]
    pub world_level: u32,
    #[prost(uint32, tag = "13")]
    pub cocoon_id: u32,
    #[prost(uint32, tag = "14")]
    pub wave: u32,
}
/// Obf: JPJCEMFPGMI
#[derive(proto_derive::CmdID)]
#[cmdid(1356)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuickStartCocoonStageScRsp {
    #[prost(message, optional, tag = "12")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub cocoon_id: u32,
    #[prost(uint32, tag = "14")]
    pub wave: u32,
}
/// Obf: MGOCDCOOKBM
#[derive(proto_derive::CmdID)]
#[cmdid(1397)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuickStartFarmElementCsReq {
    #[prost(uint32, tag = "2")]
    pub jdanoknhnhl: u32,
    #[prost(uint32, tag = "7")]
    pub world_level: u32,
}
/// Obf: LILJNDPJMGO
#[derive(proto_derive::CmdID)]
#[cmdid(1376)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuickStartFarmElementScRsp {
    #[prost(uint32, tag = "1")]
    pub jdanoknhnhl: u32,
    #[prost(uint32, tag = "12")]
    pub world_level: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: GBMCHNAAPHJ
#[derive(proto_derive::CmdID)]
#[cmdid(4826)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterAetherDivideSceneCsReq {
    #[prost(uint32, tag = "5")]
    pub bdkngdocpgp: u32,
}
/// Obf: AGJOLICKDKI
#[derive(proto_derive::CmdID)]
#[cmdid(4837)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterAetherDivideSceneScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub bdkngdocpgp: u32,
}
/// Obf: CKMPKDBGMOO
#[derive(proto_derive::CmdID)]
#[cmdid(4841)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LeaveAetherDivideSceneCsReq {}
/// Obf: NFEBDGBMPMN
#[derive(proto_derive::CmdID)]
#[cmdid(4843)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LeaveAetherDivideSceneScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: IEMNKFBPDGA
#[derive(proto_derive::CmdID)]
#[cmdid(4806)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartAetherDivideSceneBattleCsReq {
    #[prost(uint32, repeated, tag = "13")]
    pub assist_monster_entity_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "3")]
    pub assist_monster_wave_list: ::prost::alloc::vec::Vec<AssistMonsterWave>,
    #[prost(uint32, tag = "12")]
    pub skill_index: u32,
    #[prost(uint32, tag = "6")]
    pub attacked_group_id: u32,
    #[prost(uint32, tag = "1")]
    pub caster_id: u32,
}
/// Obf: ENAPGDHEMFD
#[derive(proto_derive::CmdID)]
#[cmdid(4833)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartAetherDivideSceneBattleScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub battle_info: ::core::option::Option<Bbdikgejbmp>,
    #[prost(uint32, tag = "6")]
    pub attacked_group_id: u32,
}
/// Obf: BBPHCGMCLDE
#[derive(proto_derive::CmdID)]
#[cmdid(4807)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartAetherDivideChallengeBattleCsReq {
    #[prost(uint32, tag = "11")]
    pub knlbemfihnp: u32,
    #[prost(uint32, tag = "14")]
    pub challenge_id: u32,
}
/// Obf: CLDHFFGAAOA
#[derive(proto_derive::CmdID)]
#[cmdid(4829)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartAetherDivideChallengeBattleScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub battle_info: ::core::option::Option<Bbdikgejbmp>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hffiajianhd {
    #[prost(uint32, tag = "3")]
    pub item_id: u32,
    #[prost(uint32, tag = "10")]
    pub slot: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gjilpebeool {
    #[prost(message, optional, tag = "5")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
    #[prost(uint32, tag = "9")]
    pub jdhchabclcc: u32,
    #[prost(uint32, tag = "15")]
    pub offgcgdndil: u32,
    #[prost(uint32, tag = "14")]
    pub promotion: u32,
    #[prost(message, repeated, tag = "11")]
    pub eahiamedkga: ::prost::alloc::vec::Vec<Hffiajianhd>,
    #[prost(uint32, tag = "10")]
    pub exp: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jhjlepefadf {
    #[prost(uint32, tag = "12")]
    pub slot: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub gphepenpccp: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibmcnafobnb {
    #[prost(uint32, tag = "9")]
    pub num: u32,
    #[prost(uint32, tag = "15")]
    pub item_id: u32,
    #[prost(uint32, tag = "12")]
    pub ebcbklncmip: u32,
}
/// Obf: FODLPLLGEJK
#[derive(proto_derive::CmdID)]
#[cmdid(4830)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAetherDivideInfoCsReq {}
/// Obf: FOAIHIJIJIL
#[derive(proto_derive::CmdID)]
#[cmdid(4802)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAetherDivideInfoScRsp {
    #[prost(uint32, tag = "1")]
    pub ibcipiidcol: u32,
    #[prost(uint32, tag = "9")]
    pub phlkdnghooa: u32,
    #[prost(message, repeated, tag = "12")]
    pub lineup_list: ::prost::alloc::vec::Vec<Jhjlepefadf>,
    #[prost(uint32, tag = "11")]
    pub pfljggdaofm: u32,
    #[prost(uint32, tag = "4")]
    pub egemndnedip: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub jdhlmhjbojm: u32,
    #[prost(message, repeated, tag = "8")]
    pub skill_info_list: ::prost::alloc::vec::Vec<Ibmcnafobnb>,
    #[prost(message, repeated, tag = "5")]
    pub nlfihkicddo: ::prost::alloc::vec::Vec<Gjilpebeool>,
}
/// Obf: KBKOKHBKJIN
#[derive(proto_derive::CmdID)]
#[cmdid(4848)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetAetherDivideLineUpCsReq {
    #[prost(message, optional, tag = "9")]
    pub lineup: ::core::option::Option<Jhjlepefadf>,
}
/// Obf: IFHPLDIHDDI
#[derive(proto_derive::CmdID)]
#[cmdid(4804)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetAetherDivideLineUpScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub lineup: ::core::option::Option<Jhjlepefadf>,
}
/// Obf: ILCFPIGENHF
#[derive(proto_derive::CmdID)]
#[cmdid(4832)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EquipAetherDividePassiveSkillCsReq {
    #[prost(uint32, tag = "3")]
    pub offgcgdndil: u32,
    #[prost(uint32, tag = "10")]
    pub slot: u32,
    #[prost(uint32, tag = "14")]
    pub item_id: u32,
}
/// Obf: DCCCBLEJJAH
#[derive(proto_derive::CmdID)]
#[cmdid(4814)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EquipAetherDividePassiveSkillScRsp {
    #[prost(message, optional, tag = "1")]
    pub bjmebepplei: ::core::option::Option<Gjilpebeool>,
    #[prost(message, optional, tag = "7")]
    pub pbgmmfomcke: ::core::option::Option<Ibmcnafobnb>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: MMOFLMJNLPA
#[derive(proto_derive::CmdID)]
#[cmdid(4840)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClearAetherDividePassiveSkillCsReq {
    #[prost(uint32, tag = "15")]
    pub slot: u32,
    #[prost(uint32, tag = "13")]
    pub offgcgdndil: u32,
}
/// Obf: CCMGFBKFGDL
#[derive(proto_derive::CmdID)]
#[cmdid(4810)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClearAetherDividePassiveSkillScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub pbgmmfomcke: ::core::option::Option<Ibmcnafobnb>,
    #[prost(message, optional, tag = "8")]
    pub bjmebepplei: ::core::option::Option<Gjilpebeool>,
}
/// Obf: HKKBFELNEHG
#[derive(proto_derive::CmdID)]
#[cmdid(4821)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideSpiritExpUpCsReq {
    #[prost(uint32, tag = "3")]
    pub kbmlajoaane: u32,
    #[prost(uint32, tag = "15")]
    pub jdhlmhjbojm: u32,
    #[prost(uint32, tag = "5")]
    pub offgcgdndil: u32,
}
/// Obf: KPBKAKNMNED
#[derive(proto_derive::CmdID)]
#[cmdid(4820)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideSpiritExpUpScRsp {
    #[prost(uint32, tag = "3")]
    pub jdhlmhjbojm: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "7")]
    pub bjmebepplei: ::core::option::Option<Gjilpebeool>,
}
/// Obf: CKELLMBLCAL
#[derive(proto_derive::CmdID)]
#[cmdid(4835)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchAetherDivideLineUpSlotCsReq {
    #[prost(uint32, tag = "14")]
    pub knlbemfihnp: u32,
}
/// Obf: FFCIBDGAMFN
#[derive(proto_derive::CmdID)]
#[cmdid(4809)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchAetherDivideLineUpSlotScRsp {
    #[prost(uint32, tag = "8")]
    pub knlbemfihnp: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: MFMDINOGOKE
#[derive(proto_derive::CmdID)]
#[cmdid(4824)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartAetherDivideStageBattleCsReq {
    #[prost(uint32, tag = "6")]
    pub event_id: u32,
}
/// Obf: MMCMFMJNHFD
#[derive(proto_derive::CmdID)]
#[cmdid(4801)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartAetherDivideStageBattleScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "2")]
    pub battle_info: ::core::option::Option<Bbdikgejbmp>,
}
/// Obf: PHJIPDDMMKB
#[derive(proto_derive::CmdID)]
#[cmdid(4831)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideLineupScNotify {
    #[prost(message, optional, tag = "11")]
    pub lineup: ::core::option::Option<Jhjlepefadf>,
}
/// Obf: BOMBCLHPBHP
#[derive(proto_derive::CmdID)]
#[cmdid(4839)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideSpiritInfoScNotify {
    #[prost(message, optional, tag = "2")]
    pub bjmebepplei: ::core::option::Option<Gjilpebeool>,
    #[prost(uint32, tag = "14")]
    pub jdhlmhjbojm: u32,
    #[prost(message, repeated, tag = "11")]
    pub mgegimbbajb: ::prost::alloc::vec::Vec<Gjilpebeool>,
}
/// Obf: HGNAHIANDOC
#[derive(proto_derive::CmdID)]
#[cmdid(4845)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAetherDivideChallengeInfoCsReq {}
/// Obf: FPIDHHNHPAB
#[derive(proto_derive::CmdID)]
#[cmdid(4803)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAetherDivideChallengeInfoScRsp {
    #[prost(uint32, tag = "7")]
    pub pcnnmjbjioc: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub gkhjkfcccgp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "15")]
    pub bfdipgblmmo: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: JFOELNLGHKM
#[derive(proto_derive::CmdID)]
#[cmdid(4828)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideFinishChallengeScNotify {
    #[prost(uint32, tag = "8")]
    pub challenge_id: u32,
}
/// Obf: CEOKHNMHAON
#[derive(proto_derive::CmdID)]
#[cmdid(4812)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideTainerInfoScNotify {
    #[prost(uint32, tag = "7")]
    pub egemndnedip: u32,
}
/// Obf: CKLFIPMKMBM
#[derive(proto_derive::CmdID)]
#[cmdid(4817)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideSkillItemScNotify {
    #[prost(uint32, tag = "7")]
    pub item_id: u32,
    #[prost(uint32, tag = "10")]
    pub num: u32,
}
/// Obf: PLIGNAIDLND
#[derive(proto_derive::CmdID)]
#[cmdid(4834)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideRefreshEndlessCsReq {}
/// Obf: BOAPINGNNNN
#[derive(proto_derive::CmdID)]
#[cmdid(4816)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideRefreshEndlessScRsp {
    #[prost(uint32, tag = "9")]
    pub ibcipiidcol: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: PHJIOLOKLHE
#[derive(proto_derive::CmdID)]
#[cmdid(4846)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideRefreshEndlessScNotify {
    #[prost(uint32, tag = "6")]
    pub ibcipiidcol: u32,
}
/// Obf: JKNAPGCLALC
#[derive(proto_derive::CmdID)]
#[cmdid(4849)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideTakeChallengeRewardCsReq {
    #[prost(uint32, tag = "10")]
    pub challenge_id: u32,
}
/// Obf: IEGDPIEIGKF
#[derive(proto_derive::CmdID)]
#[cmdid(4827)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideTakeChallengeRewardScRsp {
    #[prost(uint32, tag = "9")]
    pub challenge_id: u32,
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jongagachho {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Adoleofegok {
    #[prost(uint32, tag = "7")]
    pub poiiaiakilf: u32,
    #[prost(uint32, tag = "14")]
    pub map_id: u32,
}
/// Obf: OAJLGIONPGE
#[derive(proto_derive::CmdID)]
#[cmdid(4701)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAlleyInfoCsReq {
    #[prost(uint32, tag = "15")]
    pub level: u32,
    #[prost(uint32, tag = "7")]
    pub shop_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Agademajimd {
    #[prost(message, repeated, tag = "12")]
    pub hnfojbcjamg: ::prost::alloc::vec::Vec<Njaoiggmeal>,
    #[prost(uint32, repeated, tag = "3")]
    pub omngcijalfm: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "7")]
    pub immlphdnmol: ::prost::alloc::vec::Vec<Adoleofegok>,
    #[prost(message, repeated, tag = "14")]
    pub fmjplhohbab: ::prost::alloc::vec::Vec<LogisticsScore>,
}
/// Obf: FCFGLDOMNDJ
#[derive(proto_derive::CmdID)]
#[cmdid(4768)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAlleyInfoScRsp {
    #[prost(uint32, repeated, tag = "15")]
    pub oedpopcohgb: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "8")]
    pub bokolcpkejm: ::core::option::Option<Ecjmjjkjgop>,
    #[prost(map = "uint32, uint32", tag = "7")]
    pub nplakeokekb: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, repeated, tag = "1")]
    pub glboemjjahd: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub level: u32,
    #[prost(message, optional, tag = "12")]
    pub njgamccgadc: ::core::option::Option<Agademajimd>,
    #[prost(message, optional, tag = "13")]
    pub klpngfnmipi: ::core::option::Option<Laiemcfacdk>,
    #[prost(message, repeated, tag = "10")]
    pub bjcmphlpknf: ::prost::alloc::vec::Vec<Hehaomiamgl>,
    #[prost(uint32, tag = "2")]
    pub nopodeimffb: u32,
    #[prost(uint32, tag = "5")]
    pub dbjhemippim: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub gefndeeikef: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfaifhopnhh {
    #[prost(uint32, tag = "6")]
    pub bddldnejfkn: u32,
    #[prost(uint32, tag = "15")]
    pub iffppglafnb: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kgcanljikcp {
    #[prost(uint32, tag = "2")]
    pub goods_id: u32,
    #[prost(message, repeated, tag = "12")]
    pub kalfmcaghdo: ::prost::alloc::vec::Vec<Kfaifhopnhh>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyPlacingShip {
    #[prost(uint32, tag = "7")]
    pub ship_id: u32,
    #[prost(message, repeated, tag = "11")]
    pub goods_list: ::prost::alloc::vec::Vec<Kgcanljikcp>,
}
/// Obf: IEEAOPJGINP
#[derive(proto_derive::CmdID)]
#[cmdid(4749)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyPlacingGameCsReq {
    #[prost(uint32, tag = "15")]
    pub dhhjlchclaf: u32,
    #[prost(uint32, tag = "9")]
    pub indeplofdec: u32,
    #[prost(uint32, tag = "1")]
    pub fjdabppandc: u32,
    #[prost(uint32, tag = "4")]
    pub bclnmidffoh: u32,
    #[prost(uint32, tag = "13")]
    pub hlojkekipkf: u32,
    #[prost(uint32, tag = "3")]
    pub bmnhhidhodd: u32,
    #[prost(message, optional, tag = "12")]
    pub ejjodhjhham: ::core::option::Option<AlleyPlacingShip>,
    #[prost(uint32, tag = "8")]
    pub engdbiimaff: u32,
    #[prost(uint32, tag = "7")]
    pub keokdnikbda: u32,
}
/// Obf: BFMIPGGOELO
#[derive(proto_derive::CmdID)]
#[cmdid(4722)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyPlacingGameScRsp {
    #[prost(uint32, tag = "7")]
    pub ilegfkgcmom: u32,
    #[prost(uint32, tag = "8")]
    pub event_id: u32,
    #[prost(uint32, tag = "5")]
    pub elbbanddjci: u32,
    #[prost(uint32, tag = "4")]
    pub koficklljni: u32,
    #[prost(uint32, tag = "1")]
    pub kfboklhdjda: u32,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub khibbgphdmb: u32,
    #[prost(uint32, tag = "2")]
    pub pglgblkkida: u32,
}
/// Obf: ICABJGOKGHH
#[derive(proto_derive::CmdID)]
#[cmdid(4757)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ActivityRaidPlacingGameCsReq {
    #[prost(message, optional, tag = "15")]
    pub ejjodhjhham: ::core::option::Option<AlleyPlacingShip>,
    #[prost(oneof = "activity_raid_placing_game_cs_req::Dgephknepbm", tags = "5, 12")]
    pub dgephknepbm: ::core::option::Option<
        activity_raid_placing_game_cs_req::Dgephknepbm,
    >,
}
/// Nested message and enum types in `ActivityRaidPlacingGameCsReq`.
pub mod activity_raid_placing_game_cs_req {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Dgephknepbm {
        #[prost(uint32, tag = "5")]
        Cjemmdpiclj(u32),
        #[prost(uint32, tag = "12")]
        Fjdabppandc(u32),
    }
}
/// Obf: OLAFFEPAICB
#[derive(proto_derive::CmdID)]
#[cmdid(4713)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ActivityRaidPlacingGameScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(oneof = "activity_raid_placing_game_sc_rsp::Dgephknepbm", tags = "14, 8")]
    pub dgephknepbm: ::core::option::Option<
        activity_raid_placing_game_sc_rsp::Dgephknepbm,
    >,
}
/// Nested message and enum types in `ActivityRaidPlacingGameScRsp`.
pub mod activity_raid_placing_game_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Dgephknepbm {
        #[prost(uint32, tag = "14")]
        Cjemmdpiclj(u32),
        #[prost(uint32, tag = "8")]
        Fjdabppandc(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ecjmjjkjgop {
    #[prost(uint32, tag = "7")]
    pub jalhneidhgj: u32,
    #[prost(uint32, tag = "4")]
    pub hdkdkjbdgcc: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub jdjcnbgoglp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub cpgajpckcdg: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub fbeildajede: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "6")]
    pub iichhokopgg: bool,
}
/// Obf: DFLHKJHDOCK
#[derive(proto_derive::CmdID)]
#[cmdid(4723)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyOrderChangedScNotify {
    #[prost(message, optional, tag = "4")]
    pub pphiadnkgaf: ::core::option::Option<Ecjmjjkjgop>,
}
/// Obf: EMCEPDLELHE
#[derive(proto_derive::CmdID)]
#[cmdid(4750)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyShipUnlockScNotify {
    #[prost(uint32, tag = "2")]
    pub ejdfknmnale: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lllomacpcgb {
    #[prost(uint32, repeated, tag = "3")]
    pub cadhphlnoch: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "8")]
    pub dgnkgdlillb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "14")]
    pub lepacdhlbib: u32,
    #[prost(uint32, tag = "5")]
    pub cakccbjohoi: u32,
    #[prost(uint32, tag = "15")]
    pub shop_id: u32,
    #[prost(uint32, tag = "12")]
    pub behpabeeodh: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub ppibbkhlmjc: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Njaoiggmeal {
    #[prost(uint32, tag = "3")]
    pub map_id: u32,
    #[prost(uint32, tag = "4")]
    pub bclnmidffoh: u32,
    #[prost(message, repeated, tag = "13")]
    pub hofdbflcgkb: ::prost::alloc::vec::Vec<Lllomacpcgb>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogisticsScore {
    #[prost(uint32, tag = "3")]
    pub map_id: u32,
    #[prost(uint32, tag = "12")]
    pub unlock_level: u32,
    #[prost(message, optional, tag = "8")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "1")]
    pub last_level: u32,
    #[prost(uint32, tag = "7")]
    pub max_score: u32,
    #[prost(uint32, tag = "9")]
    pub last_max_score: u32,
    #[prost(uint32, tag = "11")]
    pub cur_score: u32,
}
/// Obf: BAKNCHMDANL
#[derive(proto_derive::CmdID)]
#[cmdid(4758)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogisticsGameCsReq {
    #[prost(bool, tag = "8")]
    pub boblnbjmkca: bool,
    #[prost(message, repeated, tag = "12")]
    pub apmcphfmaeg: ::prost::alloc::vec::Vec<Njaoiggmeal>,
}
/// Obf: ODAENPNMIHC
#[derive(proto_derive::CmdID)]
#[cmdid(4703)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogisticsScoreRewardSyncInfoScNotify {
    #[prost(message, repeated, tag = "15")]
    pub fmjplhohbab: ::prost::alloc::vec::Vec<LogisticsScore>,
}
/// Obf: MECOFAJONFP
#[derive(proto_derive::CmdID)]
#[cmdid(4724)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogisticsGameScRsp {
    #[prost(uint32, tag = "11")]
    pub event_id: u32,
    #[prost(bool, tag = "10")]
    pub boblnbjmkca: bool,
    #[prost(message, repeated, tag = "3")]
    pub fmjplhohbab: ::prost::alloc::vec::Vec<LogisticsScore>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hehaomiamgl {
    #[prost(uint32, tag = "8")]
    pub event_id: u32,
    #[prost(uint32, tag = "11")]
    pub ningbnbmkop: u32,
    #[prost(enumeration = "Bjlncfjoiaf", tag = "6")]
    pub state: i32,
}
/// Obf: IIBMDIJBLOB
#[derive(proto_derive::CmdID)]
#[cmdid(4797)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartAlleyEventCsReq {
    #[prost(uint32, tag = "15")]
    pub event_id: u32,
}
/// Obf: GCCCHNPFPLP
#[derive(proto_derive::CmdID)]
#[cmdid(4776)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartAlleyEventScRsp {
    #[prost(uint32, tag = "15")]
    pub event_id: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: GBOOJMAOLDH
#[derive(proto_derive::CmdID)]
#[cmdid(4728)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyEventChangeNotify {
    #[prost(message, optional, tag = "9")]
    pub nfldodiabcl: ::core::option::Option<Hehaomiamgl>,
    #[prost(uint32, tag = "2")]
    pub hcnldibeaca: u32,
}
/// Obf: PDPEIEHBKDN
#[derive(proto_derive::CmdID)]
#[cmdid(4711)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyEventEffectNotify {
    #[prost(uint32, tag = "7")]
    pub lfilnmfdnig: u32,
}
/// Obf: GJLHOFGMAHJ
#[derive(proto_derive::CmdID)]
#[cmdid(4705)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakePrestigeRewardCsReq {
    #[prost(uint32, tag = "3")]
    pub level: u32,
}
/// Obf: FGNNNDKEEHB
#[derive(proto_derive::CmdID)]
#[cmdid(4714)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakePrestigeRewardScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "6")]
    pub level: u32,
}
/// Obf: AGLOLFIPCDP
#[derive(proto_derive::CmdID)]
#[cmdid(4717)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PrestigeLevelUpCsReq {}
/// Obf: JEMEEDBIDOB
#[derive(proto_derive::CmdID)]
#[cmdid(4791)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PrestigeLevelUpScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub level: u32,
}
/// Obf: BNFGELHDPEE
#[derive(proto_derive::CmdID)]
#[cmdid(4718)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyFundsScNotify {
    #[prost(uint32, tag = "3")]
    pub dbjhemippim: u32,
}
/// Obf: AIAANLBAGMD
#[derive(proto_derive::CmdID)]
#[cmdid(4748)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SaveLogisticsCsReq {
    #[prost(message, repeated, tag = "12")]
    pub apmcphfmaeg: ::prost::alloc::vec::Vec<Njaoiggmeal>,
}
/// Obf: HCDCIKFBLEP
#[derive(proto_derive::CmdID)]
#[cmdid(4769)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SaveLogisticsScRsp {
    #[prost(message, repeated, tag = "5")]
    pub apmcphfmaeg: ::prost::alloc::vec::Vec<Njaoiggmeal>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: FEMPLINBLJG
#[derive(proto_derive::CmdID)]
#[cmdid(4720)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogisticsInfoScNotify {
    #[prost(message, optional, tag = "9")]
    pub njgamccgadc: ::core::option::Option<Agademajimd>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Laiemcfacdk {
    #[prost(uint32, tag = "7")]
    pub pghckcpkgll: u32,
    #[prost(map = "uint32, uint32", tag = "6")]
    pub aahapcbilhc: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "4")]
    pub alghcnajbmm: u32,
}
/// Obf: DDNICGDDLCO
#[derive(proto_derive::CmdID)]
#[cmdid(4792)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyShipmentEventEffectsScNotify {
    #[prost(message, optional, tag = "1")]
    pub lgjkpjojblf: ::core::option::Option<Laiemcfacdk>,
}
/// Obf: NGMEMMOENFH
#[derive(proto_derive::CmdID)]
#[cmdid(4770)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSaveLogisticsMapCsReq {}
/// Obf: FMCFCLGGHCE
#[derive(proto_derive::CmdID)]
#[cmdid(4781)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSaveLogisticsMapScRsp {
    #[prost(message, repeated, tag = "5")]
    pub hnfojbcjamg: ::prost::alloc::vec::Vec<Njaoiggmeal>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: CGHOCDCODMF
#[derive(proto_derive::CmdID)]
#[cmdid(4738)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyShipUsedCountScNotify {
    #[prost(map = "uint32, uint32", tag = "15")]
    pub nplakeokekb: ::std::collections::HashMap<u32, u32>,
}
/// Obf: IHIKFLJEIJD
#[derive(proto_derive::CmdID)]
#[cmdid(4719)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyGuaranteedFundsCsReq {}
/// Obf: PKJNKFAGCBP
#[derive(proto_derive::CmdID)]
#[cmdid(4782)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyGuaranteedFundsScRsp {
    #[prost(uint32, tag = "6")]
    pub clibobehndm: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: MDGBHHGPDAJ
#[derive(proto_derive::CmdID)]
#[cmdid(4759)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyTakeEventRewardCsReq {
    #[prost(uint32, tag = "15")]
    pub event_id: u32,
}
/// Obf: GBDLKBGCBAO
#[derive(proto_derive::CmdID)]
#[cmdid(4741)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyTakeEventRewardScRsp {
    #[prost(message, optional, tag = "7")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: PCMDHOMOLFB
#[derive(proto_derive::CmdID)]
#[cmdid(4773)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogisticsDetonateStarSkiffCsReq {}
/// Obf: MGDIBDJAMII
#[derive(proto_derive::CmdID)]
#[cmdid(4740)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogisticsDetonateStarSkiffScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicArchive {
    #[prost(uint32, tag = "15")]
    pub relic_id: u32,
    #[prost(uint32, tag = "14")]
    pub slot: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonsterArchive {
    #[prost(uint32, tag = "7")]
    pub monster_id: u32,
    #[prost(uint32, tag = "9")]
    pub num: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ArchiveData {
    #[prost(message, repeated, tag = "2")]
    pub archive_monster_id_list: ::prost::alloc::vec::Vec<MonsterArchive>,
    /// TODO
    #[prost(uint32, repeated, tag = "12")]
    pub archive_missing_equipment_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "4")]
    pub relic_list: ::prost::alloc::vec::Vec<RelicArchive>,
    /// TODO
    #[prost(uint32, repeated, tag = "14")]
    pub archive_equipment_id_list: ::prost::alloc::vec::Vec<u32>,
    /// TODO
    #[prost(uint32, repeated, tag = "13")]
    pub archive_missing_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GBKFNMIJNJM
#[derive(proto_derive::CmdID)]
#[cmdid(2301)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetArchiveDataCsReq {}
/// Obf: ELKFLJKDFDB
#[derive(proto_derive::CmdID)]
#[cmdid(2368)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetArchiveDataScRsp {
    #[prost(message, optional, tag = "7")]
    pub archive_data: ::core::option::Option<ArchiveData>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: NKDHENMJGDK
#[derive(proto_derive::CmdID)]
#[cmdid(2358)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetUpdatedArchiveDataCsReq {}
/// Obf: HGJNHMIDNNP
#[derive(proto_derive::CmdID)]
#[cmdid(2324)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetUpdatedArchiveDataScRsp {
    #[prost(message, optional, tag = "12")]
    pub archive_data: ::core::option::Option<ArchiveData>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: FDBODLGODJN
#[derive(proto_derive::CmdID)]
#[cmdid(301)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAvatarDataCsReq {
    #[prost(uint32, repeated, tag = "11")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "15")]
    pub is_get_all: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EquipRelic {
    #[prost(uint32, tag = "3")]
    pub slot: u32,
    #[prost(uint32, tag = "15")]
    pub relic_unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Avatar {
    #[prost(bool, tag = "2")]
    pub is_marked: bool,
    #[prost(uint32, tag = "8")]
    pub base_avatar_id: u32,
    #[prost(message, repeated, tag = "14")]
    pub skilltree_list: ::prost::alloc::vec::Vec<AvatarSkillTree>,
    #[prost(uint32, tag = "11")]
    pub equipment_unique_id: u32,
    #[prost(message, repeated, tag = "7")]
    pub equip_relic_list: ::prost::alloc::vec::Vec<EquipRelic>,
    #[prost(uint32, tag = "1")]
    pub rank: u32,
    #[prost(uint64, tag = "9")]
    pub first_met_timestamp: u64,
    #[prost(uint32, tag = "6")]
    pub promotion: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub taken_rewards: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub dressed_skin_id: u32,
    #[prost(uint32, tag = "3")]
    pub level: u32,
    #[prost(uint32, tag = "4")]
    pub exp: u32,
}
/// Obf: LLKPMKBOPAE
#[derive(proto_derive::CmdID)]
#[cmdid(368)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAvatarDataScRsp {
    #[prost(bool, tag = "13")]
    pub is_get_all: bool,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub ankheniiach: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub jpnlpopmkej: u32,
    #[prost(message, repeated, tag = "2")]
    pub avatar_list: ::prost::alloc::vec::Vec<Avatar>,
    #[prost(enumeration = "Bcmljcfoefm", repeated, tag = "11")]
    pub pnkcfealami: ::prost::alloc::vec::Vec<i32>,
}
/// Obf: DJJKIIAHALC
#[derive(proto_derive::CmdID)]
#[cmdid(358)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarExpUpCsReq {
    #[prost(uint32, tag = "12")]
    pub base_avatar_id: u32,
    #[prost(message, optional, tag = "3")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
}
/// Obf: INHIJFMNOAO
#[derive(proto_derive::CmdID)]
#[cmdid(324)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarExpUpScRsp {
    #[prost(message, repeated, tag = "9")]
    pub return_item_list: ::prost::alloc::vec::Vec<PileItem>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: KFOMNLIPHKM
#[derive(proto_derive::CmdID)]
#[cmdid(330)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockSkilltreeCsReq {
    #[prost(uint32, tag = "4")]
    pub level: u32,
    #[prost(uint32, tag = "8")]
    pub point_id: u32,
    #[prost(message, repeated, tag = "6")]
    pub item_list: ::prost::alloc::vec::Vec<ItemCost>,
}
/// Obf: GOFNEGEKNHK
#[derive(proto_derive::CmdID)]
#[cmdid(356)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockSkilltreeScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub level: u32,
    #[prost(uint32, tag = "4")]
    pub point_id: u32,
}
/// Obf: FMDODPOOBAK
#[derive(proto_derive::CmdID)]
#[cmdid(397)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PromoteAvatarCsReq {
    #[prost(uint32, tag = "6")]
    pub base_avatar_id: u32,
    #[prost(message, repeated, tag = "9")]
    pub item_list: ::prost::alloc::vec::Vec<ItemCost>,
}
/// Obf: NPAFCPEKNPG
#[derive(proto_derive::CmdID)]
#[cmdid(376)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PromoteAvatarScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: OKIHBJFFGHB
#[derive(proto_derive::CmdID)]
#[cmdid(328)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DressAvatarCsReq {
    #[prost(uint32, tag = "13")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "10")]
    pub equipment_unique_id: u32,
}
/// Obf: FIGIBBKEBBD
#[derive(proto_derive::CmdID)]
#[cmdid(311)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DressAvatarScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: GKOAAJMMEMA
#[derive(proto_derive::CmdID)]
#[cmdid(305)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeOffEquipmentCsReq {
    #[prost(uint32, tag = "2")]
    pub avatar_id: u32,
}
/// Obf: MGEJBJLFBPC
#[derive(proto_derive::CmdID)]
#[cmdid(314)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeOffEquipmentScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: KAIMCKHIFHP
#[derive(proto_derive::CmdID)]
#[cmdid(349)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddAvatarScNotify {
    #[prost(enumeration = "AddAvatarSrc", tag = "14")]
    pub src: i32,
    #[prost(uint32, tag = "8")]
    pub base_avatar_id: u32,
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(bool, tag = "12")]
    pub is_new: bool,
}
/// Obf: EBPDFOPKBHC
#[derive(proto_derive::CmdID)]
#[cmdid(392)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddMultiPathAvatarScNotify {
    #[prost(bool, tag = "15")]
    pub is_new: bool,
    #[prost(uint32, tag = "5")]
    pub avatar_id: u32,
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: OLCFHOGGKNC
#[derive(proto_derive::CmdID)]
#[cmdid(322)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RankUpAvatarCsReq {
    #[prost(uint32, tag = "13")]
    pub rank: u32,
    #[prost(message, optional, tag = "1")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
}
/// Obf: LLLGFJMKHHK
#[derive(proto_derive::CmdID)]
#[cmdid(347)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RankUpAvatarScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicParam {
    #[prost(uint32, tag = "3")]
    pub relic_unique_id: u32,
    #[prost(uint32, tag = "10")]
    pub slot: u32,
}
/// Obf: CAMOJCCLNCE
#[derive(proto_derive::CmdID)]
#[cmdid(380)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DressRelicAvatarCsReq {
    #[prost(message, repeated, tag = "4")]
    pub param_list: ::prost::alloc::vec::Vec<RelicParam>,
    #[prost(uint32, tag = "5")]
    pub avatar_id: u32,
}
/// Obf: ADPAIPLCFIC
#[derive(proto_derive::CmdID)]
#[cmdid(339)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DressRelicAvatarScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: DDPFFOPJHHM
#[derive(proto_derive::CmdID)]
#[cmdid(396)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeOffRelicCsReq {
    #[prost(uint32, repeated, tag = "3")]
    pub slot_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub avatar_id: u32,
}
/// Obf: HEENELCHMKP
#[derive(proto_derive::CmdID)]
#[cmdid(323)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeOffRelicScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: EMAJLDJJNLL
#[derive(proto_derive::CmdID)]
#[cmdid(312)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakePromotionRewardCsReq {
    #[prost(uint32, tag = "14")]
    pub promotion: u32,
    #[prost(uint32, tag = "1")]
    pub base_avatar_id: u32,
}
/// Obf: HDEAAFNFGCM
#[derive(proto_derive::CmdID)]
#[cmdid(317)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakePromotionRewardScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub reward_list: ::core::option::Option<ItemList>,
}
/// Obf: PHEMPEFMECP
#[derive(proto_derive::CmdID)]
#[cmdid(391)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DressAvatarSkinCsReq {
    #[prost(uint32, tag = "12")]
    pub skin_id: u32,
    #[prost(uint32, tag = "13")]
    pub avatar_id: u32,
}
/// Obf: MEKBMEPIDHM
#[derive(proto_derive::CmdID)]
#[cmdid(318)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DressAvatarSkinScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: HJBAMOJDEEM
#[derive(proto_derive::CmdID)]
#[cmdid(395)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeOffAvatarSkinCsReq {
    #[prost(uint32, tag = "4")]
    pub avatar_id: u32,
}
/// Obf: ABOODONGNHG
#[derive(proto_derive::CmdID)]
#[cmdid(350)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeOffAvatarSkinScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: CFBNAMCDBCC
#[derive(proto_derive::CmdID)]
#[cmdid(348)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockAvatarSkinScNotify {
    #[prost(uint32, tag = "8")]
    pub skin_id: u32,
}
/// Obf: HNEPFBPJKLI
#[derive(proto_derive::CmdID)]
#[cmdid(369)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarkAvatarCsReq {
    #[prost(bool, tag = "2")]
    pub is_marked: bool,
    #[prost(uint32, tag = "11")]
    pub avatar_id: u32,
}
/// Obf: NGPKIPOGOHO
#[derive(proto_derive::CmdID)]
#[cmdid(320)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarkAvatarScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "4")]
    pub avatar_id: u32,
    #[prost(bool, tag = "13")]
    pub is_marked: bool,
}
/// Obf: BFCKHJIDMJO
#[derive(proto_derive::CmdID)]
#[cmdid(370)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetGrowthTargetAvatarCsReq {
    #[prost(enumeration = "Gifjdobiiik", tag = "9")]
    pub source: i32,
    #[prost(enumeration = "Bcmljcfoefm", repeated, tag = "13")]
    pub ejbjbocoinb: ::prost::alloc::vec::Vec<i32>,
    #[prost(uint32, tag = "2")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "11")]
    pub idnmeknhlpo: u32,
}
/// Obf: CEICLCJFPDI
#[derive(proto_derive::CmdID)]
#[cmdid(381)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetGrowthTargetAvatarScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub ncbkpdngohj: u32,
    #[prost(uint32, tag = "15")]
    pub jpnlpopmkej: u32,
    #[prost(enumeration = "Bcmljcfoefm", repeated, tag = "10")]
    pub ejbjbocoinb: ::prost::alloc::vec::Vec<i32>,
}
/// Obf: MLGLOKGPPEG
#[derive(proto_derive::CmdID)]
#[cmdid(338)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GrowthTargetAvatarChangedScNotify {
    #[prost(uint32, tag = "3")]
    pub jpnlpopmkej: u32,
    #[prost(enumeration = "Bcmljcfoefm", repeated, tag = "14")]
    pub ejbjbocoinb: ::prost::alloc::vec::Vec<i32>,
}
/// Obf: BAOHDDGLEIA
#[derive(proto_derive::CmdID)]
#[cmdid(101)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PveBattleResultCsReq {
    #[prost(uint32, tag = "10")]
    pub bclnmidffoh: u32,
    #[prost(message, repeated, tag = "7")]
    pub op_list: ::prost::alloc::vec::Vec<BattleOp>,
    #[prost(uint32, tag = "3")]
    pub cost_time: u32,
    #[prost(bool, tag = "12")]
    pub gjgkagfpagm: bool,
    #[prost(bool, tag = "2")]
    pub hdofebplnmm: bool,
    #[prost(uint32, tag = "6")]
    pub client_res_version: u32,
    #[prost(uint32, tag = "15")]
    pub stage_id: u32,
    #[prost(uint32, tag = "13")]
    pub jcjfgojfege: u32,
    #[prost(map = "string, uint32", tag = "4")]
    pub hpekekipjlf: ::std::collections::HashMap<::prost::alloc::string::String, u32>,
    #[prost(uint32, tag = "8")]
    pub battle_id: u32,
    #[prost(message, optional, tag = "9")]
    pub stt: ::core::option::Option<BattleStatistics>,
    #[prost(string, tag = "1")]
    pub cpcljgpdnan: ::prost::alloc::string::String,
    #[prost(bytes = "vec", tag = "5")]
    pub turn_snapshot_hash: ::prost::alloc::vec::Vec<u8>,
    #[prost(enumeration = "BattleEndStatus", tag = "14")]
    pub end_status: i32,
    #[prost(bool, tag = "11")]
    pub ddfkaepcanh: bool,
}
/// Obf: PFAIJOHBNCF
#[derive(proto_derive::CmdID)]
#[cmdid(168)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PveBattleResultScRsp {
    /// TODO
    #[prost(string, tag = "11")]
    pub res_version: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "1")]
    pub nhanakjfeab: ::core::option::Option<ItemList>,
    #[prost(enumeration = "BattleEndStatus", tag = "3")]
    pub end_status: i32,
    /// TODO
    #[prost(string, tag = "13")]
    pub bin_version: ::prost::alloc::string::String,
    /// TODO
    #[prost(message, optional, tag = "14")]
    pub drop_data: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "10")]
    pub klodelecmci: u32,
    #[prost(bool, tag = "5")]
    pub check_identical: bool,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub stage_id: u32,
    #[prost(message, repeated, tag = "9")]
    pub battle_avatar_list: ::prost::alloc::vec::Vec<BattleAvatar>,
    #[prost(uint32, tag = "8")]
    pub ggmpfnkofkd: u32,
    #[prost(uint32, tag = "4")]
    pub battle_id: u32,
    #[prost(uint32, tag = "15")]
    pub event_id: u32,
    #[prost(uint32, tag = "7")]
    pub ndcmdokkphh: u32,
    #[prost(message, optional, tag = "768")]
    pub nbhlifpblmf: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "12")]
    pub jhmmoojpkha: ::core::option::Option<ItemList>,
}
/// Obf: FJPLPFNKKKF
#[derive(proto_derive::CmdID)]
#[cmdid(158)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuitBattleCsReq {
    #[prost(message, optional, tag = "7")]
    pub stt: ::core::option::Option<BattleStatistics>,
    #[prost(enumeration = "Lipekjfjmnm", tag = "8")]
    pub nikhbkchhjg: i32,
}
/// Obf: PLOAKKONHKL
#[derive(proto_derive::CmdID)]
#[cmdid(124)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuitBattleScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: KJLJOBFCGDD
#[derive(proto_derive::CmdID)]
#[cmdid(130)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurBattleInfoCsReq {}
/// Obf: LHAFGCJCLFJ
#[derive(proto_derive::CmdID)]
#[cmdid(156)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurBattleInfoScRsp {
    #[prost(message, optional, tag = "10")]
    pub pbphjbafgbb: ::core::option::Option<Bbdikgejbmp>,
    #[prost(enumeration = "BattleEndStatus", tag = "11")]
    pub hddndocnefo: i32,
    #[prost(uint32, tag = "5")]
    pub ibpjkffflng: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "7")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: OJMPHGKIIOC
#[derive(proto_derive::CmdID)]
#[cmdid(197)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncClientResVersionCsReq {
    #[prost(uint32, tag = "12")]
    pub client_res_version: u32,
}
/// Obf: GHIJAKBMJFH
#[derive(proto_derive::CmdID)]
#[cmdid(176)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncClientResVersionScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub client_res_version: u32,
}
/// Obf: HEFKLAHHJPD
#[derive(proto_derive::CmdID)]
#[cmdid(128)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuitBattleScNotify {}
/// Obf: EBKCKNCFAKC
#[derive(proto_derive::CmdID)]
#[cmdid(111)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleLogReportCsReq {}
/// Obf: CGGHCMBCGBG
#[derive(proto_derive::CmdID)]
#[cmdid(105)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleLogReportScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(bool, tag = "11")]
    pub lcgbacgbknc: bool,
}
/// Obf: INAKOOFBIBC
#[derive(proto_derive::CmdID)]
#[cmdid(114)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServerSimulateBattleFinishScNotify {}
/// Obf: BKPKHGCNLAM
#[derive(proto_derive::CmdID)]
#[cmdid(149)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReBattleAfterBattleLoseCsNotify {
    #[prost(bool, tag = "6")]
    pub pmjahilblfl: bool,
}
/// Obf: JADANENHLEF
#[derive(proto_derive::CmdID)]
#[cmdid(122)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RebattleByClientCsNotify {
    #[prost(message, optional, tag = "11")]
    pub stt: ::core::option::Option<BattleStatistics>,
    #[prost(enumeration = "Lipekjfjmnm", tag = "6")]
    pub nikhbkchhjg: i32,
}
/// Obf: EEHPKOFBGJI
#[derive(proto_derive::CmdID)]
#[cmdid(5701)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBattleCollegeDataCsReq {}
/// Obf: EDOBBBIOGOM
#[derive(proto_derive::CmdID)]
#[cmdid(5768)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBattleCollegeDataScRsp {
    #[prost(uint32, tag = "3")]
    pub mamhojmfjof: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub finished_college_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: CPLJOBGDALK
#[derive(proto_derive::CmdID)]
#[cmdid(5758)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleCollegeDataChangeScNotify {
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, repeated, tag = "4")]
    pub finished_college_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "11")]
    pub mamhojmfjof: u32,
}
/// Obf: MNBLONDLDJD
#[derive(proto_derive::CmdID)]
#[cmdid(5724)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartBattleCollegeCsReq {
    #[prost(uint32, tag = "7")]
    pub id: u32,
}
/// Obf: MOPKNCIPMMP
#[derive(proto_derive::CmdID)]
#[cmdid(5730)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartBattleCollegeScRsp {
    #[prost(message, optional, tag = "9")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "12")]
    pub id: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: LCGKPCGHILI
#[derive(proto_derive::CmdID)]
#[cmdid(3001)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattlePassInfoNotify {
    #[prost(uint64, tag = "12")]
    pub inbockjglbo: u64,
    #[prost(uint64, tag = "10")]
    pub cbjklleohdc: u64,
    #[prost(uint64, tag = "11")]
    pub nkaoknmholh: u64,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "14")]
    pub ljflflimkad: u32,
    #[prost(uint64, tag = "3")]
    pub ekgopldjoii: u64,
    #[prost(uint32, tag = "9")]
    pub exp: u32,
    #[prost(uint64, tag = "15")]
    pub cphiiockhpi: u64,
    #[prost(uint64, tag = "1")]
    pub fdkkikganck: u64,
    #[prost(uint32, tag = "4")]
    pub edbmnmdjbko: u32,
    #[prost(enumeration = "BpTierType", tag = "8")]
    pub bp_tier_type: i32,
    #[prost(uint64, tag = "7")]
    pub hkeoaaccbpl: u64,
    #[prost(uint64, tag = "13")]
    pub ljoekefkpko: u64,
}
/// Obf: EBLMPDFIFGF
#[derive(proto_derive::CmdID)]
#[cmdid(3024)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeBpRewardCsReq {
    #[prost(uint32, tag = "6")]
    pub optional_reward_id: u32,
    #[prost(uint32, tag = "12")]
    pub level: u32,
    #[prost(enumeration = "BpRewardType", tag = "3")]
    pub slot: i32,
}
/// Obf: DCNCOIBPBJD
#[derive(proto_derive::CmdID)]
#[cmdid(3030)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeBpRewardScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: BPNKPCIPOOB
#[derive(proto_derive::CmdID)]
#[cmdid(3056)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyBpLevelCsReq {
    #[prost(uint32, tag = "7")]
    pub ldnjeacfbje: u32,
}
/// Obf: GFEGGMHOBLN
#[derive(proto_derive::CmdID)]
#[cmdid(3097)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyBpLevelScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OptionalReward {
    #[prost(uint32, tag = "6")]
    pub level: u32,
    #[prost(uint32, tag = "12")]
    pub optional_reward_id: u32,
}
/// Obf: CILPIOAHNIB
#[derive(proto_derive::CmdID)]
#[cmdid(3076)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeAllRewardCsReq {
    #[prost(message, repeated, tag = "7")]
    pub modoofjoiao: ::prost::alloc::vec::Vec<OptionalReward>,
}
/// Obf: BOJPKOEHOCI
#[derive(proto_derive::CmdID)]
#[cmdid(3028)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeAllRewardScRsp {
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: PGPCBBCOBHG
#[derive(proto_derive::CmdID)]
#[cmdid(4876)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBenefitActivityInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LuckyKoiInfo {
    #[prost(string, tag = "15")]
    pub uid_str: ::prost::alloc::string::String,
    #[prost(uint32, tag = "1")]
    pub head_icon: u32,
    #[prost(string, tag = "9")]
    pub name_str: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fecadlcjfic {
    #[prost(message, optional, tag = "2")]
    pub item_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "10")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ojfaklfikcj {
    #[prost(message, repeated, tag = "15")]
    pub pfeaniahfpc: ::prost::alloc::vec::Vec<Fecadlcjfic>,
    #[prost(uint64, tag = "12")]
    pub pjpmlcdhebl: u64,
    #[prost(uint64, tag = "9")]
    pub begin_time: u64,
    #[prost(message, repeated, tag = "11")]
    pub nkjpgkmlhnk: ::prost::alloc::vec::Vec<LuckyKoiInfo>,
    #[prost(uint32, tag = "14")]
    pub iigmeobdmje: u32,
    #[prost(uint64, tag = "5")]
    pub end_time: u64,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mogacgjehae {
    #[prost(uint32, tag = "15")]
    pub status: u32,
    #[prost(uint32, tag = "2")]
    pub colbgejelgi: u32,
    #[prost(message, optional, tag = "14")]
    pub fgpmjanhepd: ::core::option::Option<Ojfaklfikcj>,
    #[prost(uint32, tag = "5")]
    pub level: u32,
}
/// Obf: LPELGNPNFLO
#[derive(proto_derive::CmdID)]
#[cmdid(4887)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBenefitActivityInfoScRsp {
    #[prost(bool, tag = "3")]
    pub ofnginbodlp: bool,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "15")]
    pub fmkcnmcailn: ::prost::alloc::vec::Vec<Mogacgjehae>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lflogadlema {
    #[prost(uint32, tag = "14")]
    pub colbgejelgi: u32,
    #[prost(bool, tag = "4")]
    pub einfbgkendh: bool,
}
/// Obf: BJJDECAGCII
#[derive(proto_derive::CmdID)]
#[cmdid(4891)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeBenefitActivityRewardCsReq {
    #[prost(message, repeated, tag = "5")]
    pub param_list: ::prost::alloc::vec::Vec<Lflogadlema>,
    #[prost(bool, tag = "13")]
    pub bfbpcbnpfph: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cmgdhfiobef {
    #[prost(uint32, tag = "2")]
    pub colbgejelgi: u32,
    #[prost(bool, tag = "13")]
    pub einfbgkendh: bool,
    #[prost(message, optional, tag = "10")]
    pub item_list: ::core::option::Option<ItemList>,
}
/// Obf: FEDPIHJNBHF
#[derive(proto_derive::CmdID)]
#[cmdid(4893)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeBenefitActivityRewardScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub ckekcconjgb: ::core::option::Option<ItemList>,
    #[prost(message, repeated, tag = "15")]
    pub param_list: ::prost::alloc::vec::Vec<Cmgdhfiobef>,
}
/// Obf: NBAMKPBNEMA
#[derive(proto_derive::CmdID)]
#[cmdid(4856)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JoinBenefitActivityCsReq {
    #[prost(uint32, tag = "4")]
    pub colbgejelgi: u32,
}
/// Obf: PMMCAMJGHKD
#[derive(proto_derive::CmdID)]
#[cmdid(4883)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JoinBenefitActivityScRsp {
    #[prost(uint32, tag = "3")]
    pub colbgejelgi: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ijkjjdhlklb {
    #[prost(uint32, tag = "13")]
    pub avatar_id: u32,
    #[prost(enumeration = "AvatarType", tag = "10")]
    pub avatar_type: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fcihijlomga {
    #[prost(uint32, tag = "15")]
    pub hjmglemjhkg: u32,
    #[prost(uint32, tag = "8")]
    pub naalcbmbpgc: u32,
    #[prost(uint32, tag = "4")]
    pub hnpeappmgaa: u32,
    #[prost(uint32, tag = "5")]
    pub llfofpndafg: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub challenge_id: u32,
    #[prost(bool, tag = "1")]
    pub aplknjegbkf: bool,
    #[prost(uint32, repeated, tag = "7")]
    pub hlibijfhhpg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "14")]
    pub cpgoipicpjf: u32,
    #[prost(message, repeated, tag = "13")]
    pub mdlachdkmph: ::prost::alloc::vec::Vec<Ijkjjdhlklb>,
}
/// Obf: BNABKPINGGB
#[derive(proto_derive::CmdID)]
#[cmdid(4201)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBoxingClubInfoCsReq {}
/// Obf: BHDCDGAPHGH
#[derive(proto_derive::CmdID)]
#[cmdid(4268)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBoxingClubInfoScRsp {
    #[prost(message, repeated, tag = "9")]
    pub challenge_list: ::prost::alloc::vec::Vec<Fcihijlomga>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gneibbpoaab {
    #[prost(enumeration = "AvatarType", tag = "10")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "15")]
    pub avatar_id: u32,
}
/// Obf: MPBJBFHDDJG
#[derive(proto_derive::CmdID)]
#[cmdid(4258)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchBoxingClubOpponentCsReq {
    #[prost(uint32, repeated, tag = "8")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "4")]
    pub mdlachdkmph: ::prost::alloc::vec::Vec<Gneibbpoaab>,
    #[prost(uint32, tag = "10")]
    pub challenge_id: u32,
}
/// Obf: NGBFMHIJBIJ
#[derive(proto_derive::CmdID)]
#[cmdid(4224)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchBoxingClubOpponentScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub dddikpnnble: ::core::option::Option<Fcihijlomga>,
}
/// Obf: ACIMGINPANN
#[derive(proto_derive::CmdID)]
#[cmdid(4205)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChooseBoxingClubResonanceCsReq {
    #[prost(uint32, tag = "3")]
    pub llfofpndafg: u32,
    #[prost(uint32, tag = "1")]
    pub challenge_id: u32,
}
/// Obf: ADIJJGADDHF
#[derive(proto_derive::CmdID)]
#[cmdid(4214)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChooseBoxingClubResonanceScRsp {
    #[prost(message, optional, tag = "13")]
    pub dddikpnnble: ::core::option::Option<Fcihijlomga>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: JNJKBCNNKGB
#[derive(proto_derive::CmdID)]
#[cmdid(4249)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetBoxingClubResonanceLineupCsReq {
    #[prost(uint32, tag = "10")]
    pub challenge_id: u32,
    #[prost(message, repeated, tag = "14")]
    pub mdlachdkmph: ::prost::alloc::vec::Vec<Gneibbpoaab>,
}
/// Obf: JHGHHPBOCHK
#[derive(proto_derive::CmdID)]
#[cmdid(4222)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetBoxingClubResonanceLineupScRsp {
    #[prost(message, optional, tag = "3")]
    pub dddikpnnble: ::core::option::Option<Fcihijlomga>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: NGNGPMKLFAK
#[derive(proto_derive::CmdID)]
#[cmdid(4247)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChooseBoxingClubStageOptionalBuffCsReq {
    #[prost(uint32, tag = "3")]
    pub fmgmaiegofp: u32,
    #[prost(uint32, tag = "13")]
    pub challenge_id: u32,
}
/// Obf: JBJPGCDOCJC
#[derive(proto_derive::CmdID)]
#[cmdid(4280)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChooseBoxingClubStageOptionalBuffScRsp {
    #[prost(message, optional, tag = "9")]
    pub dddikpnnble: ::core::option::Option<Fcihijlomga>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: IBNNGGAGIPD
#[derive(proto_derive::CmdID)]
#[cmdid(4230)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartBoxingClubBattleCsReq {
    #[prost(uint32, tag = "9")]
    pub challenge_id: u32,
}
/// Obf: CKFFILONDHI
#[derive(proto_derive::CmdID)]
#[cmdid(4256)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartBoxingClubBattleScRsp {
    #[prost(message, optional, tag = "11")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub challenge_id: u32,
}
/// Obf: IGPNNOGBAFH
#[derive(proto_derive::CmdID)]
#[cmdid(4297)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GiveUpBoxingClubChallengeCsReq {
    #[prost(uint32, tag = "5")]
    pub challenge_id: u32,
    #[prost(bool, tag = "1")]
    pub pcpdfjhdjcc: bool,
}
/// Obf: LAPAICIPAHE
#[derive(proto_derive::CmdID)]
#[cmdid(4276)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GiveUpBoxingClubChallengeScRsp {
    #[prost(message, optional, tag = "15")]
    pub dddikpnnble: ::core::option::Option<Fcihijlomga>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: JBENHLGKAOM
#[derive(proto_derive::CmdID)]
#[cmdid(4228)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BoxingClubRewardScNotify {
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "7")]
    pub challenge_id: u32,
    #[prost(uint32, tag = "9")]
    pub naalcbmbpgc: u32,
    #[prost(bool, tag = "4")]
    pub is_win: bool,
}
/// Obf: BLPFDJGEHMF
#[derive(proto_derive::CmdID)]
#[cmdid(4211)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BoxingClubChallengeUpdateScNotify {
    #[prost(message, optional, tag = "3")]
    pub dddikpnnble: ::core::option::Option<Fcihijlomga>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Challenge {
    #[prost(uint32, tag = "13")]
    pub stars: u32,
    #[prost(uint32, tag = "10")]
    pub attempts: u32,
    #[prost(uint32, tag = "1")]
    pub score_two: u32,
    #[prost(bool, tag = "5")]
    pub kfdaicilnmb: bool,
    #[prost(uint32, tag = "14")]
    pub score: u32,
    #[prost(uint32, tag = "3")]
    pub taken_reward: u32,
    #[prost(uint32, tag = "8")]
    pub challenge_id: u32,
    #[prost(message, optional, tag = "15")]
    pub story_info: ::core::option::Option<ChallengeBossExtraInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeReward {
    #[prost(uint32, tag = "11")]
    pub group_id: u32,
    #[prost(uint64, tag = "3")]
    pub taken_challenge_reward: u64,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeHistoryMaxLevel {
    #[prost(uint32, tag = "6")]
    pub ordering_index: u32,
    #[prost(uint32, tag = "12")]
    pub level: u32,
}
/// Obf: BKGDNIMPOKJ
#[derive(proto_derive::CmdID)]
#[cmdid(1701)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChallengeCsReq {}
/// Obf: KAMDAMIGPGL
#[derive(proto_derive::CmdID)]
#[cmdid(1768)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChallengeScRsp {
    #[prost(message, repeated, tag = "11")]
    pub challenge_reward_list: ::prost::alloc::vec::Vec<ChallengeReward>,
    #[prost(uint32, tag = "13")]
    pub lpljmkpblif: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "6")]
    pub max_level_list: ::prost::alloc::vec::Vec<ChallengeHistoryMaxLevel>,
    #[prost(message, repeated, tag = "9")]
    pub challenge_list: ::prost::alloc::vec::Vec<Challenge>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartChallengeStoryBuffInfo {
    #[prost(uint32, tag = "14")]
    pub buff_two: u32,
    #[prost(uint32, tag = "6")]
    pub buff_one: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartChallengeBossBuffInfo {
    /// TODO
    #[prost(uint32, tag = "8")]
    pub buff_one: u32,
    /// TODO
    #[prost(uint32, tag = "2")]
    pub buff_two: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartChallengeStoryInfo {
    #[prost(oneof = "start_challenge_story_info::Buff", tags = "11, 8")]
    pub buff: ::core::option::Option<start_challenge_story_info::Buff>,
}
/// Nested message and enum types in `StartChallengeStoryInfo`.
pub mod start_challenge_story_info {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "11")]
        StoryBuffInfo(super::StartChallengeStoryBuffInfo),
        #[prost(message, tag = "8")]
        BossBuffInfo(super::StartChallengeBossBuffInfo),
    }
}
/// Obf: HJMBNPPOMNE
#[derive(proto_derive::CmdID)]
#[cmdid(1758)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartChallengeCsReq {
    /// TODO
    #[prost(uint32, repeated, tag = "9")]
    pub first_lineup_ids: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "11")]
    pub challenge_id: u32,
    /// TODO
    #[prost(uint32, repeated, tag = "10")]
    pub second_lineup_ids: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "2")]
    pub story_info: ::core::option::Option<StartChallengeStoryInfo>,
}
/// Obf: NLLMMAHMCEA
#[derive(proto_derive::CmdID)]
#[cmdid(1724)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartChallengeScRsp {
    #[prost(message, optional, tag = "11")]
    pub story_info: ::core::option::Option<ChallengeBossExtraInfo>,
    #[prost(message, optional, tag = "14")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(message, optional, tag = "8")]
    pub challenge_info: ::core::option::Option<ChallengeInfo>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "5")]
    pub lineup_list: ::prost::alloc::vec::Vec<LineupInfo>,
}
/// Obf: FICKCKBMKOB
#[derive(proto_derive::CmdID)]
#[cmdid(1723)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartPartialChallengeCsReq {
    #[prost(uint32, tag = "15")]
    pub buff_id: u32,
    #[prost(uint32, tag = "14")]
    pub challenge_id: u32,
    #[prost(bool, tag = "13")]
    pub is_first_half: bool,
}
/// Obf: MMPPOEFOALC
#[derive(proto_derive::CmdID)]
#[cmdid(1712)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartPartialChallengeScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(message, optional, tag = "3")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(message, optional, tag = "9")]
    pub challenge_info: ::core::option::Option<ChallengeInfo>,
}
/// Obf: EFDLMFKDMKF
#[derive(proto_derive::CmdID)]
#[cmdid(1730)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LeaveChallengeCsReq {}
/// Obf: CFJBOKIKIEN
#[derive(proto_derive::CmdID)]
#[cmdid(1756)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LeaveChallengeScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: IMMJAEDHHIA
#[derive(proto_derive::CmdID)]
#[cmdid(1797)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeSettleNotify {
    #[prost(bool, tag = "15")]
    pub is_win: bool,
    #[prost(uint32, repeated, tag = "3")]
    pub hahaeifmlbm: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "7")]
    pub challenge_info: ::core::option::Option<ChallengeInfo>,
    #[prost(message, optional, tag = "5")]
    pub max_level: ::core::option::Option<ChallengeHistoryMaxLevel>,
    #[prost(uint32, tag = "4")]
    pub challenge_id: u32,
    #[prost(uint32, tag = "8")]
    pub challenge_score: u32,
    /// TODO?
    #[prost(uint32, tag = "9")]
    pub stars: u32,
    #[prost(message, optional, tag = "11")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "2")]
    pub lpljmkpblif: u32,
    #[prost(uint32, tag = "10")]
    pub score_two: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KillMonsterInfo {
    #[prost(uint32, tag = "1")]
    pub kill_num: u32,
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeStoryBuffInfo {
    #[prost(uint32, repeated, tag = "15")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossBuffInfo {
    #[prost(uint32, tag = "6")]
    pub kbhnhbbahhf: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeStoryInfo {
    #[prost(oneof = "challenge_story_info::Buff", tags = "15, 13")]
    pub buff: ::core::option::Option<challenge_story_info::Buff>,
}
/// Nested message and enum types in `ChallengeStoryInfo`.
pub mod challenge_story_info {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "15")]
        StoryBuffs(super::ChallengeStoryBuffInfo),
        #[prost(message, tag = "13")]
        BossBuffs(super::ChallengeBossBuffInfo),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeInfo {
    #[prost(uint32, tag = "11")]
    pub score_two: u32,
    #[prost(enumeration = "ExtraLineupType", tag = "12")]
    pub extra_lineup_type: i32,
    #[prost(uint32, tag = "8")]
    pub round_count: u32,
    #[prost(message, repeated, tag = "4")]
    pub archive_monster_id_list: ::prost::alloc::vec::Vec<KillMonsterInfo>,
    #[prost(uint32, tag = "3")]
    pub challenge_id: u32,
    #[prost(uint32, tag = "2")]
    pub denbnlilgij: u32,
    #[prost(uint32, tag = "5")]
    pub score: u32,
    #[prost(message, optional, tag = "6")]
    pub story_info: ::core::option::Option<ChallengeStoryInfo>,
    #[prost(enumeration = "ChallengeStatus", tag = "9")]
    pub status: i32,
}
/// Obf: GLABHAOJNNK
#[derive(proto_derive::CmdID)]
#[cmdid(1711)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurChallengeCsReq {}
/// Obf: PDAIAOMIFCG
#[derive(proto_derive::CmdID)]
#[cmdid(1705)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurChallengeScRsp {
    #[prost(message, optional, tag = "8")]
    pub challenge_info: ::core::option::Option<ChallengeInfo>,
    #[prost(message, repeated, tag = "15")]
    pub lineup_list: ::prost::alloc::vec::Vec<LineupInfo>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: PDJJKPKEHIG
#[derive(proto_derive::CmdID)]
#[cmdid(1714)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeLineupNotify {
    #[prost(enumeration = "ExtraLineupType", tag = "11")]
    pub extra_lineup_type: i32,
}
/// Obf: EAKKAPGCAEJ
#[derive(proto_derive::CmdID)]
#[cmdid(1747)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeChallengeRewardCsReq {
    #[prost(uint32, tag = "13")]
    pub group_id: u32,
}
/// Obf: OINBAGIIMKJ
#[derive(proto_derive::CmdID)]
#[cmdid(1780)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeChallengeRewardScRsp {
    #[prost(uint32, tag = "13")]
    pub group_id: u32,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "1")]
    pub taken_reward_list: ::prost::alloc::vec::Vec<TakenChallengeRewardInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakenChallengeRewardInfo {
    #[prost(message, optional, tag = "11")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "1")]
    pub star_count: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeMemoryStats {
    #[prost(message, optional, tag = "2")]
    pub clear_info: ::core::option::Option<ChallengeMemoryClearInfo>,
    #[prost(uint32, tag = "5")]
    pub attempts: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeStoryStats {
    #[prost(uint32, tag = "9")]
    pub attempts: u32,
    #[prost(message, optional, tag = "4")]
    pub clear_info: ::core::option::Option<ChallengeStoryClearInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossStats {
    #[prost(message, optional, tag = "4")]
    pub clear_info: ::core::option::Option<ChallengeBossClearInfo>,
    #[prost(uint32, tag = "15")]
    pub attempts: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeMemoryClearInfo {
    #[prost(message, repeated, tag = "7")]
    pub lineup_list: ::prost::alloc::vec::Vec<ChallengeLineup>,
    #[prost(uint32, tag = "10")]
    pub highest_difficulty: u32,
    #[prost(uint32, tag = "6")]
    pub round_count: u32,
    #[prost(uint32, tag = "13")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeStoryClearInfo {
    #[prost(uint32, tag = "1")]
    pub highest_difficulty: u32,
    #[prost(uint32, tag = "11")]
    pub score: u32,
    #[prost(message, repeated, tag = "13")]
    pub lineup_list: ::prost::alloc::vec::Vec<ChallengeLineup>,
    #[prost(uint32, tag = "2")]
    pub buff_one: u32,
    #[prost(uint32, tag = "3")]
    pub level: u32,
    #[prost(uint32, tag = "8")]
    pub buff_two: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossClearInfo {
    #[prost(uint32, tag = "5")]
    pub buff_two: u32,
    #[prost(uint32, tag = "6")]
    pub highest_difficulty: u32,
    #[prost(uint32, tag = "13")]
    pub buff_one: u32,
    #[prost(uint32, tag = "11")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub score: u32,
    #[prost(message, repeated, tag = "12")]
    pub lineup_list: ::prost::alloc::vec::Vec<ChallengeLineup>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeLineup {
    #[prost(message, repeated, tag = "12")]
    pub avatar_list: ::prost::alloc::vec::Vec<ChallengeLineupMember>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeLineupMember {
    #[prost(uint32, tag = "15")]
    pub level: u32,
    #[prost(uint32, tag = "2")]
    pub ggdiibcdobb: u32,
    #[prost(enumeration = "AvatarType", tag = "12")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "14")]
    pub index: u32,
    #[prost(uint32, tag = "5")]
    pub id: u32,
}
/// Obf: NCPOHOIHIDC
#[derive(proto_derive::CmdID)]
#[cmdid(1739)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChallengeGroupStatisticsCsReq {
    #[prost(uint32, tag = "11")]
    pub group_id: u32,
}
/// Obf: PADOFDJLIFE
#[derive(proto_derive::CmdID)]
#[cmdid(1796)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChallengeGroupStatisticsScRsp {
    #[prost(uint32, tag = "14")]
    pub group_id: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(
        oneof = "get_challenge_group_statistics_sc_rsp::ChallengeType",
        tags = "13, 10, 7"
    )]
    pub challenge_type: ::core::option::Option<
        get_challenge_group_statistics_sc_rsp::ChallengeType,
    >,
}
/// Nested message and enum types in `GetChallengeGroupStatisticsScRsp`.
pub mod get_challenge_group_statistics_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum ChallengeType {
        #[prost(message, tag = "13")]
        MemoryStats(super::ChallengeMemoryStats),
        #[prost(message, tag = "10")]
        StoryStats(super::ChallengeStoryStats),
        #[prost(message, tag = "7")]
        BossStats(super::ChallengeBossStats),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossStageInfo {
    #[prost(uint32, tag = "11")]
    pub stage_score: u32,
    #[prost(uint32, tag = "12")]
    pub buff_id: u32,
    #[prost(bool, tag = "9")]
    pub meelgndnomn: bool,
    #[prost(bool, tag = "4")]
    pub is_win: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossEquipment {
    #[prost(uint32, tag = "13")]
    pub tid: u32,
    #[prost(uint32, tag = "8")]
    pub rank: u32,
    #[prost(uint32, tag = "11")]
    pub promotion: u32,
    #[prost(uint32, tag = "5")]
    pub level: u32,
    #[prost(uint32, tag = "2")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossRelic {
    #[prost(uint32, tag = "4")]
    pub main_affix_id: u32,
    #[prost(uint32, tag = "13")]
    pub tid: u32,
    #[prost(message, repeated, tag = "11")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    #[prost(uint32, tag = "8")]
    pub unique_id: u32,
    #[prost(uint32, tag = "5")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossRelicList {
    #[prost(map = "uint32, message", tag = "6")]
    pub equipped_relic_map: ::std::collections::HashMap<u32, ChallengeBossRelic>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossInfo {
    /// TODO
    #[prost(uint32, repeated, tag = "15")]
    pub first_lineup_ids: ::prost::alloc::vec::Vec<u32>,
    /// TODO
    #[prost(uint32, repeated, tag = "4")]
    pub second_lineup_ids: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "3")]
    pub ncbdnpgpeai: bool,
    #[prost(message, optional, tag = "2")]
    pub first_node: ::core::option::Option<ChallengeBossStageInfo>,
    /// TODO
    #[prost(map = "uint32, message", tag = "8")]
    pub used_equipment_map: ::std::collections::HashMap<u32, ChallengeBossEquipment>,
    #[prost(message, optional, tag = "10")]
    pub second_node: ::core::option::Option<ChallengeBossStageInfo>,
    /// TODO
    #[prost(map = "uint32, message", tag = "9")]
    pub used_relic_map: ::std::collections::HashMap<u32, ChallengeBossRelicList>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossExtraInfo {
    #[prost(oneof = "challenge_boss_extra_info::Buff", tags = "5")]
    pub buff: ::core::option::Option<challenge_boss_extra_info::Buff>,
}
/// Nested message and enum types in `ChallengeBossExtraInfo`.
pub mod challenge_boss_extra_info {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "5")]
        BossBuffInfo(super::ChallengeBossInfo),
    }
}
/// Obf: HJFFBHBBADC
#[derive(proto_derive::CmdID)]
#[cmdid(1791)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RestartChallengePhaseCsReq {}
/// Obf: CHAJPMIBFLH
#[derive(proto_derive::CmdID)]
#[cmdid(1718)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RestartChallengePhaseScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub scene: ::core::option::Option<SceneInfo>,
}
/// Obf: BPLCLIOADHE
#[derive(proto_derive::CmdID)]
#[cmdid(1795)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterChallengeNextPhaseCsReq {}
/// Obf: JKPDIFEIBBF
#[derive(proto_derive::CmdID)]
#[cmdid(1750)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterChallengeNextPhaseScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub scene: ::core::option::Option<SceneInfo>,
}
/// Obf: BAGDAHEKNJA
#[derive(proto_derive::CmdID)]
#[cmdid(1748)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossPhaseSettleNotify {
    #[prost(bool, tag = "13")]
    pub njbfdiakfhn: bool,
    #[prost(uint32, tag = "9")]
    pub stars: u32,
    #[prost(message, repeated, tag = "8")]
    pub challenge_battle_target_list: ::prost::alloc::vec::Vec<BattleTarget>,
    #[prost(bool, tag = "10")]
    pub is_win: bool,
    #[prost(uint32, tag = "6")]
    pub challenge_id: u32,
    #[prost(uint32, tag = "3")]
    pub challenge_score: u32,
    /// page_number
    #[prost(uint32, tag = "4")]
    pub fcmagjblgoj: u32,
    #[prost(uint32, tag = "12")]
    pub phase: u32,
    #[prost(bool, tag = "7")]
    pub ilhafbkckog: bool,
    #[prost(uint32, tag = "14")]
    pub score_two: u32,
}
/// Obf: GLHAAABCBBI
#[derive(proto_derive::CmdID)]
#[cmdid(3901)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SendMsgCsReq {
    #[prost(uint32, repeated, tag = "14")]
    pub to_uid_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "3")]
    pub hnbepabnbng: ::core::option::Option<Pedlphdbnaf>,
    #[prost(enumeration = "ChatType", tag = "10")]
    pub chat_type: i32,
    #[prost(enumeration = "MsgType", tag = "8")]
    pub msg_type: i32,
    #[prost(string, tag = "2")]
    pub text: ::prost::alloc::string::String,
    #[prost(uint32, tag = "5")]
    pub emote: u32,
}
/// Obf: BDMDFGCCAFJ
#[derive(proto_derive::CmdID)]
#[cmdid(3968)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SendMsgScRsp {
    #[prost(uint64, tag = "15")]
    pub end_time: u64,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Chat {
    #[prost(message, optional, tag = "14")]
    pub hnbepabnbng: ::core::option::Option<Pedlphdbnaf>,
    #[prost(uint32, tag = "5")]
    pub emote: u32,
    #[prost(enumeration = "MsgType", tag = "1")]
    pub msg_type: i32,
    #[prost(string, tag = "12")]
    pub text: ::prost::alloc::string::String,
    #[prost(uint32, tag = "9")]
    pub sender_uid: u32,
    #[prost(uint64, tag = "15")]
    pub sent_time: u64,
}
/// Obf: OBDANOMEOCB
#[derive(proto_derive::CmdID)]
#[cmdid(3958)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RevcMsgScNotify {
    #[prost(enumeration = "MsgType", tag = "13")]
    pub msg_type: i32,
    #[prost(string, tag = "7")]
    pub text: ::prost::alloc::string::String,
    #[prost(enumeration = "ChatType", tag = "14")]
    pub chat_type: i32,
    #[prost(uint32, tag = "9")]
    pub emote: u32,
    #[prost(message, optional, tag = "4")]
    pub hnbepabnbng: ::core::option::Option<Pedlphdbnaf>,
    /// TODO
    #[prost(uint32, tag = "15")]
    pub from_uid: u32,
    /// TODO
    #[prost(uint32, tag = "3")]
    pub to_uid: u32,
}
/// Obf: MCFHPBPGJHA
#[derive(proto_derive::CmdID)]
#[cmdid(3924)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PrivateMsgOfflineUsersScNotify {
    #[prost(uint32, repeated, tag = "7")]
    pub aibfdnekjmg: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FBNPMGMMBCB
#[derive(proto_derive::CmdID)]
#[cmdid(3930)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPrivateChatHistoryCsReq {
    #[prost(uint32, tag = "11")]
    pub from_uid: u32,
    #[prost(uint32, tag = "5")]
    pub to_uid: u32,
}
/// Obf: PBIHKCAJOJM
#[derive(proto_derive::CmdID)]
#[cmdid(3956)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPrivateChatHistoryScRsp {
    #[prost(message, repeated, tag = "10")]
    pub chat_list: ::prost::alloc::vec::Vec<Chat>,
    #[prost(uint32, tag = "12")]
    pub to_uid: u32,
    #[prost(uint32, tag = "13")]
    pub from_uid: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Onbgidncbob {
    #[prost(uint32, tag = "2")]
    pub to_uid: u32,
    #[prost(int64, tag = "1")]
    pub fflipihfaef: i64,
}
/// Obf: CCNBMJDHJKH
#[derive(proto_derive::CmdID)]
#[cmdid(3997)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChatFriendHistoryCsReq {}
/// Obf: OEPOODKIDLF
#[derive(proto_derive::CmdID)]
#[cmdid(3976)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChatFriendHistoryScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "11")]
    pub iligpoleepj: ::prost::alloc::vec::Vec<Onbgidncbob>,
}
/// Obf: LMGLHEKDJAJ
#[derive(proto_derive::CmdID)]
#[cmdid(3928)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChatEmojiListCsReq {}
/// Obf: DMPOKADBKBK
#[derive(proto_derive::CmdID)]
#[cmdid(3911)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChatEmojiListScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub jepkimmipom: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HDDJNPMHDCJ
#[derive(proto_derive::CmdID)]
#[cmdid(3905)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarkChatEmojiCsReq {
    #[prost(bool, tag = "5")]
    pub ncknkebngoh: bool,
    #[prost(uint32, tag = "12")]
    pub emote: u32,
}
/// Obf: ACJOGCJGFIN
#[derive(proto_derive::CmdID)]
#[cmdid(3914)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarkChatEmojiScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "2")]
    pub emote: u32,
    #[prost(bool, tag = "4")]
    pub ncknkebngoh: bool,
}
/// Obf: HNKAMIGEFDP
#[derive(proto_derive::CmdID)]
#[cmdid(3949)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchMarkChatEmojiCsReq {
    #[prost(uint32, repeated, tag = "6")]
    pub gcjkopicjhd: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: BBJKHANKCJN
#[derive(proto_derive::CmdID)]
#[cmdid(3922)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchMarkChatEmojiScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub gcjkopicjhd: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GBILEJOLHFD
#[derive(proto_derive::CmdID)]
#[cmdid(3947)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLoginChatInfoCsReq {}
/// Obf: PHPIJGBLAMH
#[derive(proto_derive::CmdID)]
#[cmdid(3980)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLoginChatInfoScRsp {
    #[prost(uint32, repeated, tag = "3")]
    pub aibfdnekjmg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ncciejolncf {
    #[prost(message, optional, tag = "1")]
    pub gficflciejj: ::core::option::Option<ItemCostList>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ehanapnjfjd {
    #[prost(message, optional, tag = "12")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(message, optional, tag = "15")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lpnkmemoobe {
    #[prost(uint32, repeated, tag = "11")]
    pub ajkknfkijkh: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "14")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mffkjdndkio {
    #[prost(message, repeated, tag = "2")]
    pub ngffgbcbbon: ::prost::alloc::vec::Vec<Lpnkmemoobe>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oaloinnaini {
    #[prost(bool, tag = "11")]
    pub bnafeecpego: bool,
    #[prost(message, optional, tag = "1197")]
    pub licobikoaao: ::core::option::Option<Kjehfkbjphd>,
    #[prost(enumeration = "Aikblmohhjp", tag = "8")]
    pub bkknaegklcb: i32,
    #[prost(enumeration = "Nlmollcfcgb", tag = "3")]
    pub iccepgcifmg: i32,
    #[prost(uint32, tag = "4")]
    pub hfmjdfpnncm: u32,
    #[prost(message, optional, tag = "1674")]
    pub boncmhigpfj: ::core::option::Option<Aekpjeldapd>,
    #[prost(uint32, tag = "9")]
    pub onlglocadgd: u32,
    #[prost(message, optional, tag = "1547")]
    pub edphldegjlm: ::core::option::Option<Eendhpkpflp>,
    #[prost(uint32, tag = "13")]
    pub ciblonpnbfe: u32,
    #[prost(uint32, tag = "6")]
    pub omcagfaahke: u32,
    #[prost(bool, tag = "1780")]
    pub fneidjimjph: bool,
    #[prost(uint32, tag = "14")]
    pub cjgonlaecko: u32,
    #[prost(uint32, tag = "1")]
    pub gofpdnoapbb: u32,
    #[prost(int32, tag = "1673")]
    pub jfipiifpmmb: i32,
    #[prost(uint32, repeated, tag = "1888")]
    pub ngdedlkngfg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub kpnakipljgb: u32,
    #[prost(uint32, tag = "2")]
    pub pagpblafneh: u32,
}
/// Obf: HPIOLDGGBMD
#[derive(proto_derive::CmdID)]
#[cmdid(5438)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueRollDiceCsReq {
    #[prost(uint32, tag = "3")]
    pub kchfjdajecm: u32,
}
/// Obf: NOGNCPJBEHK
#[derive(proto_derive::CmdID)]
#[cmdid(5518)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueRollDiceScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub dcihkmfnhbm: u32,
    #[prost(message, optional, tag = "4")]
    pub aiaonpfbgng: ::core::option::Option<Oaloinnaini>,
}
/// Obf: DCHDDGALFIJ
#[derive(proto_derive::CmdID)]
#[cmdid(5581)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueGoAheadCsReq {
    #[prost(uint32, tag = "5")]
    pub hhcbjghkcpc: u32,
}
/// Obf: CMHEOKAMHPG
#[derive(proto_derive::CmdID)]
#[cmdid(5539)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueGoAheadScRsp {
    #[prost(uint32, tag = "12")]
    pub hhcbjghkcpc: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iaaefegdnlo {
    #[prost(uint32, tag = "13")]
    pub mldlfhjlhoc: u32,
    #[prost(uint32, tag = "5")]
    pub monster_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmopbldhjmf {
    #[prost(bool, tag = "5")]
    pub pipmgacmjnn: bool,
    #[prost(uint32, tag = "14")]
    pub endidlcdnni: u32,
    #[prost(message, repeated, tag = "13")]
    pub cdodefkbkpd: ::prost::alloc::vec::Vec<Iaaefegdnlo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ilhlpphldcg {
    #[prost(uint32, repeated, tag = "4")]
    pub lhmidpambpd: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "3")]
    pub gcnkifmgmce: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ikhpeepogle {
    #[prost(message, optional, tag = "13")]
    pub cjiakcaphjg: ::core::option::Option<Ilhlpphldcg>,
    #[prost(message, optional, tag = "7")]
    pub hgimnjflklb: ::core::option::Option<Mmopbldhjmf>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pihkdokdikf {
    #[prost(oneof = "pihkdokdikf::Ldmccmabllc", tags = "13, 7, 12")]
    pub ldmccmabllc: ::core::option::Option<pihkdokdikf::Ldmccmabllc>,
}
/// Nested message and enum types in `PIHKDOKDIKF`.
pub mod pihkdokdikf {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ldmccmabllc {
        #[prost(message, tag = "13")]
        Hgimnjflklb(super::Mmopbldhjmf),
        #[prost(message, tag = "7")]
        Cjiakcaphjg(super::Ilhlpphldcg),
        #[prost(message, tag = "12")]
        Iagebjbplfm(super::Ikhpeepogle),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mknhikdcjjg {
    #[prost(uint32, tag = "12")]
    pub feknlhbagdd: u32,
    #[prost(uint32, tag = "3")]
    pub dknjlpihepj: u32,
    #[prost(enumeration = "Eieenafclll", tag = "7")]
    pub daajljcajob: i32,
    #[prost(bool, tag = "8")]
    pub alifdhnigal: bool,
    #[prost(message, optional, tag = "15")]
    pub story_info: ::core::option::Option<Pihkdokdikf>,
    #[prost(bool, tag = "4")]
    pub knbdpfeidnm: bool,
    #[prost(uint32, tag = "10")]
    pub gicooehhhig: u32,
    #[prost(uint32, tag = "2")]
    pub room_id: u32,
    #[prost(uint32, tag = "5")]
    pub iigoemfhgll: u32,
    #[prost(uint32, tag = "11")]
    pub id: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub mjaplacifjn: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Ogjbgonlhih", tag = "1")]
    pub hkcjgfephea: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ofphdlopiem {
    #[prost(uint32, tag = "14")]
    pub hdhiongofid: u32,
    #[prost(uint32, tag = "12")]
    pub hlamiclgpee: u32,
    #[prost(uint32, tag = "7")]
    pub nghppegbpao: u32,
    #[prost(uint32, tag = "5")]
    pub bmajdilbpob: u32,
    #[prost(message, repeated, tag = "8")]
    pub iafbijekkpg: ::prost::alloc::vec::Vec<Mknhikdcjjg>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Doiblcekfdg {
    #[prost(uint32, tag = "10")]
    pub room_id: u32,
    #[prost(uint32, tag = "12")]
    pub hhcbjghkcpc: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kkckgeojfke {
    #[prost(uint32, tag = "13")]
    pub bdmlgepndfm: u32,
    #[prost(message, optional, tag = "5")]
    pub bohdminejno: ::core::option::Option<Eendhpkpflp>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hajpalbodih {
    #[prost(message, optional, tag = "11")]
    pub cfekaolkhjg: ::core::option::Option<Kkckgeojfke>,
    #[prost(enumeration = "Eieenafclll", tag = "1")]
    pub ccghbbbolmh: i32,
    #[prost(uint32, tag = "7")]
    pub aoeppibmggn: u32,
    #[prost(message, optional, tag = "12")]
    pub anhjnbgielf: ::core::option::Option<Ofphdlopiem>,
    #[prost(uint32, tag = "5")]
    pub pmgpokklkdd: u32,
    #[prost(message, repeated, tag = "6")]
    pub mcknecfhdkg: ::prost::alloc::vec::Vec<Doiblcekfdg>,
    #[prost(uint32, repeated, tag = "4")]
    pub ingagmmhmjc: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afabkdefddg {
    #[prost(uint32, tag = "3")]
    pub id: u32,
    #[prost(uint32, tag = "12")]
    pub eehkfnkhnbi: u32,
    #[prost(int32, tag = "15")]
    pub ocdnmhnnkgm: i32,
    #[prost(uint32, tag = "8")]
    pub mhoijafgecp: u32,
    #[prost(uint32, repeated, tag = "10")]
    pub cmnnlmcemcg: ::prost::alloc::vec::Vec<u32>,
    #[prost(int32, tag = "13")]
    pub ljffcnbpjdd: i32,
    #[prost(uint32, repeated, tag = "2")]
    pub cpbmapflplc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "11")]
    pub ppjbgnbmkpm: u32,
    #[prost(message, optional, tag = "14")]
    pub jmgkbhhigmk: ::core::option::Option<Hajpalbodih>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Llbjabeocec {
    #[prost(uint32, tag = "10")]
    pub mamhojmfjof: u32,
    #[prost(uint32, tag = "8")]
    pub elappcmeloa: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pgaldkkfblc {
    #[prost(message, repeated, tag = "5")]
    pub pjkdpobkkgb: ::prost::alloc::vec::Vec<Llbjabeocec>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjembcbcbkj {
    #[prost(int32, tag = "13")]
    pub icjabpgmacj: i32,
    #[prost(uint32, repeated, tag = "12")]
    pub fpchnblonlc: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "8")]
    pub hlagjpbaeml: ::core::option::Option<Pgaldkkfblc>,
    #[prost(uint32, tag = "4")]
    pub amnbmjofjoo: u32,
    #[prost(message, optional, tag = "10")]
    pub bohdminejno: ::core::option::Option<Eendhpkpflp>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Knlmliimohd {
    #[prost(uint32, tag = "14")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "8")]
    pub dlefmlcooka: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iegmfgpfadl {
    #[prost(message, optional, tag = "5")]
    pub fpjckpnlnfm: ::core::option::Option<Ncciejolncf>,
    #[prost(message, repeated, tag = "6")]
    pub ajljgmilelp: ::prost::alloc::vec::Vec<Knlmliimohd>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hkmlalbdpgo {
    #[prost(uint32, tag = "6")]
    pub lhcbbgimmdg: u32,
    #[prost(uint32, tag = "5")]
    pub fahihdjfohm: u32,
    #[prost(bool, tag = "2")]
    pub fjkgkaekbkj: bool,
    #[prost(uint32, repeated, tag = "11")]
    pub boonpdeobla: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ocbcbidlllj {
    #[prost(int32, tag = "7")]
    pub odjpoenppob: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hijkilgjclp {
    #[prost(uint32, repeated, tag = "10")]
    pub dimhpbcpnlc: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fflapkolhcm {
    #[prost(message, optional, tag = "7")]
    pub aiaonpfbgng: ::core::option::Option<Oaloinnaini>,
    #[prost(message, optional, tag = "6")]
    pub embagmmhipa: ::core::option::Option<Iegmfgpfadl>,
    #[prost(message, optional, tag = "5")]
    pub lgopnbhhhbg: ::core::option::Option<Kcacnhcadec>,
    #[prost(message, optional, tag = "8")]
    pub story_buff_info: ::core::option::Option<Hkmlalbdpgo>,
    #[prost(message, optional, tag = "13")]
    pub eeppkmpajoh: ::core::option::Option<Nkidddpflje>,
    #[prost(message, optional, tag = "2015")]
    pub fiocabcbnkb: ::core::option::Option<Hijkilgjclp>,
    #[prost(uint32, tag = "15")]
    pub bngfaignphe: u32,
    #[prost(message, optional, tag = "4")]
    pub kndmeilhkej: ::core::option::Option<Kfpmaiaadmo>,
    #[prost(message, optional, tag = "11")]
    pub chmhpcngfao: ::core::option::Option<Cjembcbcbkj>,
    #[prost(message, optional, tag = "10")]
    pub lmgkmaoicgc: ::core::option::Option<Afabkdefddg>,
    #[prost(message, optional, tag = "2")]
    pub opakjjmagph: ::core::option::Option<Imnpeajajjo>,
    #[prost(message, repeated, tag = "12")]
    pub biphngcadde: ::prost::alloc::vec::Vec<Lgkgehhajje>,
    #[prost(message, optional, tag = "3")]
    pub ofolhkcnlba: ::core::option::Option<Ajcndbhnlfl>,
    #[prost(message, optional, tag = "14")]
    pub aabchfbkpeg: ::core::option::Option<Bcllbmeedkp>,
    #[prost(message, optional, tag = "9")]
    pub ibmioggkbfb: ::core::option::Option<Ocbcbidlllj>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jacmenokjfm {
    #[prost(message, optional, tag = "9")]
    pub hlagjpbaeml: ::core::option::Option<Pgaldkkfblc>,
    #[prost(message, optional, tag = "11")]
    pub talent_info: ::core::option::Option<Lgeljhjomlo>,
    #[prost(message, optional, tag = "8")]
    pub fiocabcbnkb: ::core::option::Option<Afaghelicpd>,
    #[prost(uint32, repeated, tag = "6")]
    pub cmnnlmcemcg: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "15")]
    pub ofolhkcnlba: ::core::option::Option<Ajcndbhnlfl>,
    #[prost(message, optional, tag = "5")]
    pub bbcpoebnanc: ::core::option::Option<Dffjcmlaicl>,
    #[prost(uint32, repeated, tag = "13")]
    pub cpbmapflplc: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bipddejaadc {
    #[prost(uint32, tag = "15")]
    pub bngfaignphe: u32,
    #[prost(message, repeated, tag = "4")]
    pub biphngcadde: ::prost::alloc::vec::Vec<Lgkgehhajje>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ihnjghalkjb {
    #[prost(uint32, repeated, tag = "15")]
    pub cmnnlmcemcg: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "12")]
    pub hlagjpbaeml: ::core::option::Option<Pgaldkkfblc>,
    #[prost(message, optional, tag = "5")]
    pub bbcpoebnanc: ::core::option::Option<Dffjcmlaicl>,
    #[prost(uint32, repeated, tag = "10")]
    pub cpbmapflplc: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "9")]
    pub fiocabcbnkb: ::core::option::Option<Afaghelicpd>,
    #[prost(message, optional, tag = "14")]
    pub talent_info: ::core::option::Option<Lgeljhjomlo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ccodjoaholb {
    #[prost(uint32, tag = "4")]
    pub blbbokogfda: u32,
    #[prost(message, optional, tag = "1535")]
    pub opakjjmagph: ::core::option::Option<Imnpeajajjo>,
    #[prost(uint32, tag = "10")]
    pub pbalfienefo: u32,
    #[prost(message, optional, tag = "12")]
    pub bgpeckfdeld: ::core::option::Option<ItemList>,
    #[prost(enumeration = "Kfhlbkccaco", tag = "8")]
    pub gmolnjibnja: i32,
    #[prost(uint32, tag = "918")]
    pub egpcibjiajd: u32,
    #[prost(message, optional, tag = "6")]
    pub anniaoidado: ::core::option::Option<LineupInfo>,
    #[prost(uint32, tag = "2")]
    pub ipojmmgoopj: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub ojggmoopgil: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "241")]
    pub opoimhhafjo: u32,
    #[prost(uint32, tag = "1")]
    pub fgomiplmeic: u32,
    #[prost(uint32, tag = "62")]
    pub bngfaignphe: u32,
    #[prost(bool, tag = "15")]
    pub hlnfbgacnpo: bool,
    #[prost(message, optional, tag = "7")]
    pub lgopnbhhhbg: ::core::option::Option<Gckblhadlgn>,
    #[prost(uint32, tag = "11")]
    pub plbcdiaadkd: u32,
    #[prost(message, optional, tag = "9")]
    pub eeppkmpajoh: ::core::option::Option<Ajpfphkklpg>,
    #[prost(uint32, tag = "1064")]
    pub abehkcjhceh: u32,
    #[prost(uint32, tag = "1339")]
    pub score: u32,
    #[prost(uint32, tag = "14")]
    pub dmbdnaicpfb: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ojleefjelap {
    #[prost(message, repeated, tag = "9")]
    pub iafbijekkpg: ::prost::alloc::vec::Vec<Mknhikdcjjg>,
    #[prost(uint32, tag = "13")]
    pub hbcmgiicjmk: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lahjpfooheb {
    #[prost(uint32, tag = "9")]
    pub fgomiplmeic: u32,
    #[prost(uint32, tag = "14")]
    pub kenpckfonok: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dipmfomgcgl {
    #[prost(uint32, tag = "13")]
    pub cfibpmkaino: u32,
    #[prost(uint32, tag = "7")]
    pub fahihdjfohm: u32,
}
/// Obf: DFPMEHBDAFP
#[derive(proto_derive::CmdID)]
#[cmdid(5594)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueQueryCsReq {}
/// Obf: FFICMOGJCGL
#[derive(proto_derive::CmdID)]
#[cmdid(5406)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueQueryScRsp {
    #[prost(message, optional, tag = "5")]
    pub blndmfgkpmj: ::core::option::Option<Jacmenokjfm>,
    #[prost(message, optional, tag = "8")]
    pub hndlhicdnpc: ::core::option::Option<Fflapkolhcm>,
    #[prost(message, optional, tag = "14")]
    pub omcbcgchlgn: ::core::option::Option<Bipddejaadc>,
    #[prost(message, optional, tag = "15")]
    pub lagbgldlgcb: ::core::option::Option<Ihnjghalkjb>,
    #[prost(message, optional, tag = "11")]
    pub boikablfkec: ::core::option::Option<Ccodjoaholb>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: GFFNDENCOPM
#[derive(proto_derive::CmdID)]
#[cmdid(5569)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueEnterCellCsReq {
    #[prost(uint32, tag = "10")]
    pub hhcbjghkcpc: u32,
    #[prost(uint32, tag = "15")]
    pub femgpnlfagc: u32,
}
/// Obf: FLGHAEAHAIE
#[derive(proto_derive::CmdID)]
#[cmdid(5529)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueEnterCellScRsp {
    #[prost(uint32, tag = "1")]
    pub hhcbjghkcpc: u32,
    #[prost(message, optional, tag = "8")]
    pub hndlhicdnpc: ::core::option::Option<Fflapkolhcm>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub omcbcgchlgn: ::core::option::Option<Bipddejaadc>,
    #[prost(message, optional, tag = "3")]
    pub story_info: ::core::option::Option<Ehanapnjfjd>,
}
/// Obf: ADCOMLGAENP
#[derive(proto_derive::CmdID)]
#[cmdid(5431)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueEnterCsReq {
    #[prost(uint32, tag = "4")]
    pub id: u32,
}
/// Obf: DGLBNHHIPFH
#[derive(proto_derive::CmdID)]
#[cmdid(5551)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueEnterScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub omcbcgchlgn: ::core::option::Option<Bipddejaadc>,
    #[prost(message, optional, tag = "5")]
    pub hndlhicdnpc: ::core::option::Option<Fflapkolhcm>,
    #[prost(message, optional, tag = "10")]
    pub story_info: ::core::option::Option<Ehanapnjfjd>,
    #[prost(uint32, tag = "1")]
    pub id: u32,
}
/// Obf: MGMMCBBIKMO
#[derive(proto_derive::CmdID)]
#[cmdid(5536)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueLeaveCsReq {}
/// Obf: MFDMEODLBJI
#[derive(proto_derive::CmdID)]
#[cmdid(5558)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueLeaveScRsp {
    #[prost(message, optional, tag = "7")]
    pub story_info: ::core::option::Option<Ehanapnjfjd>,
    #[prost(message, optional, tag = "4")]
    pub blndmfgkpmj: ::core::option::Option<Jacmenokjfm>,
    #[prost(message, optional, tag = "11")]
    pub chmhpcngfao: ::core::option::Option<Cjembcbcbkj>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub lagbgldlgcb: ::core::option::Option<Ihnjghalkjb>,
}
/// Obf: ODPOLCDMIHM
#[derive(proto_derive::CmdID)]
#[cmdid(5521)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueGiveUpCsReq {}
/// Obf: EFFDKLFNALG
#[derive(proto_derive::CmdID)]
#[cmdid(5401)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueGiveUpScRsp {
    #[prost(message, optional, tag = "15")]
    pub chmhpcngfao: ::core::option::Option<Cjembcbcbkj>,
    #[prost(message, optional, tag = "13")]
    pub blndmfgkpmj: ::core::option::Option<Jacmenokjfm>,
    #[prost(message, optional, tag = "6")]
    pub lagbgldlgcb: ::core::option::Option<Ihnjghalkjb>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "12")]
    pub boikablfkec: ::core::option::Option<Ccodjoaholb>,
    #[prost(message, optional, tag = "11")]
    pub story_info: ::core::option::Option<Ehanapnjfjd>,
}
/// Obf: OJEFOAPJBNN
#[derive(proto_derive::CmdID)]
#[cmdid(5407)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueStartCsReq {
    #[prost(uint32, tag = "11")]
    pub dhndampbhpp: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub id: u32,
    #[prost(uint32, tag = "8")]
    pub elappcmeloa: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "7")]
    pub hjgndhlmmib: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "2")]
    pub ahiibhkdfjb: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DCLBJGFLPGI
#[derive(proto_derive::CmdID)]
#[cmdid(5578)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueStartScRsp {
    #[prost(message, optional, tag = "7")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(message, optional, tag = "1")]
    pub dbdgahblgbb: ::core::option::Option<Ojleefjelap>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub hndlhicdnpc: ::core::option::Option<Fflapkolhcm>,
    #[prost(message, optional, tag = "11")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(message, optional, tag = "14")]
    pub story_info: ::core::option::Option<Ehanapnjfjd>,
    #[prost(message, optional, tag = "3")]
    pub omcbcgchlgn: ::core::option::Option<Bipddejaadc>,
}
/// Obf: KKEIBLACBDH
#[derive(proto_derive::CmdID)]
#[cmdid(5560)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueQueryAeonDimensionsCsReq {}
/// Obf: LKOPLOODPAL
#[derive(proto_derive::CmdID)]
#[cmdid(5458)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueQueryAeonDimensionsScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub hndlhicdnpc: ::core::option::Option<Pgaldkkfblc>,
}
/// Obf: MCMOFBLFAJA
#[derive(proto_derive::CmdID)]
#[cmdid(5486)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueChangeyAeonDimensionNotify {
    #[prost(message, optional, tag = "11")]
    pub hndlhicdnpc: ::core::option::Option<Llbjabeocec>,
}
/// Obf: FBOAJCKGDEN
#[derive(proto_derive::CmdID)]
#[cmdid(5493)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueSelectCellCsReq {
    #[prost(uint32, tag = "9")]
    pub hhcbjghkcpc: u32,
    #[prost(uint32, tag = "15")]
    pub femgpnlfagc: u32,
}
/// Obf: HMICABPCDCP
#[derive(proto_derive::CmdID)]
#[cmdid(5429)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueSelectCellScRsp {
    #[prost(message, optional, tag = "12")]
    pub kajafnpekaj: ::core::option::Option<Oiaolbgoaag>,
    #[prost(uint32, tag = "14")]
    pub femgpnlfagc: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(uint32, tag = "8")]
    pub hhcbjghkcpc: u32,
}
/// Obf: ANHJGLLFFFP
#[derive(proto_derive::CmdID)]
#[cmdid(5503)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueQueryBpCsReq {}
/// Obf: MPNEFIKAAOD
#[derive(proto_derive::CmdID)]
#[cmdid(5562)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueQueryBpScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub hndlhicdnpc: ::core::option::Option<Mffkjdndkio>,
}
/// Obf: BHIPDEICMHI
#[derive(proto_derive::CmdID)]
#[cmdid(5565)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueSelectBpCsReq {
    #[prost(uint32, tag = "15")]
    pub fbceifdkega: u32,
}
/// Obf: KFDJNNCCBIP
#[derive(proto_derive::CmdID)]
#[cmdid(5428)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueSelectBpScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "7")]
    pub inacdceaicp: ::core::option::Option<Lpnkmemoobe>,
    #[prost(uint32, tag = "10")]
    pub fbceifdkega: u32,
}
/// Obf: ILGKMJJPAAM
#[derive(proto_derive::CmdID)]
#[cmdid(5451)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueLayerAccountInfoNotify {
    #[prost(message, optional, tag = "6")]
    pub boikablfkec: ::core::option::Option<Ccodjoaholb>,
    #[prost(uint32, tag = "3")]
    pub ppjbgnbmkpm: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub ojggmoopgil: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub pbalfienefo: u32,
    #[prost(message, optional, tag = "2")]
    pub lmgkmaoicgc: ::core::option::Option<Afabkdefddg>,
}
/// Obf: JOJNOKAGLPI
#[derive(proto_derive::CmdID)]
#[cmdid(5592)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChessRogueBuffEnhanceInfoCsReq {}
/// Obf: GPKDBFDBOBH
#[derive(proto_derive::CmdID)]
#[cmdid(5506)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChessRogueBuffEnhanceInfoScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub buff_enhance_info: ::core::option::Option<Ngpimhhelmm>,
}
/// Obf: NPEHJAHJEPA
#[derive(proto_derive::CmdID)]
#[cmdid(5421)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnhanceChessRogueBuffCsReq {
    #[prost(uint32, tag = "2")]
    pub ojeblmkkmgo: u32,
}
/// Obf: AFNJNBKBABB
#[derive(proto_derive::CmdID)]
#[cmdid(5533)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnhanceChessRogueBuffScRsp {
    #[prost(message, optional, tag = "14")]
    pub anagcoddmom: ::core::option::Option<Ffamnkoaihf>,
    #[prost(message, optional, tag = "8")]
    pub buff_enhance_info: ::core::option::Option<Ngpimhhelmm>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(bool, tag = "13")]
    pub is_success: bool,
}
/// Obf: JGHADCEKFGG
#[derive(proto_derive::CmdID)]
#[cmdid(5510)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRoguePickAvatarCsReq {
    #[prost(uint32, repeated, tag = "14")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub prop_entity_id: u32,
}
/// Obf: FEPOEPBDPPM
#[derive(proto_derive::CmdID)]
#[cmdid(5494)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRoguePickAvatarScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "8")]
    pub embagmmhipa: ::core::option::Option<Iegmfgpfadl>,
}
/// Obf: DHDPCOIJBGJ
#[derive(proto_derive::CmdID)]
#[cmdid(5519)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueReviveAvatarCsReq {
    #[prost(uint32, repeated, tag = "5")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: KEHIIMHCHLI
#[derive(proto_derive::CmdID)]
#[cmdid(5496)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueReviveAvatarScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "15")]
    pub fpjckpnlnfm: ::core::option::Option<Ncciejolncf>,
}
/// Obf: GOAMHGNKPJM
#[derive(proto_derive::CmdID)]
#[cmdid(5566)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateReviveInfoScNotify {
    #[prost(message, optional, tag = "2")]
    pub fpjckpnlnfm: ::core::option::Option<Ncciejolncf>,
}
/// Obf: CEMBPPNNHBN
#[derive(proto_derive::CmdID)]
#[cmdid(5553)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateMoneyInfoScNotify {
    #[prost(message, optional, tag = "4")]
    pub aabchfbkpeg: ::core::option::Option<Bcllbmeedkp>,
}
/// Obf: PFDMKAMINEM
#[derive(proto_derive::CmdID)]
#[cmdid(5509)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateDiceInfoScNotify {
    #[prost(message, optional, tag = "8")]
    pub aiaonpfbgng: ::core::option::Option<Oaloinnaini>,
}
/// Obf: KCKJOLHPNEE
#[derive(proto_derive::CmdID)]
#[cmdid(5465)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateLevelBaseInfoScNotify {
    #[prost(enumeration = "Mmkdkdgfblh", tag = "14")]
    pub reason: i32,
    #[prost(enumeration = "Ibmlfggingp", tag = "13")]
    pub eehkfnkhnbi: i32,
}
/// Obf: HFINFFLLHOC
#[derive(proto_derive::CmdID)]
#[cmdid(5595)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateAllowedSelectCellScNotify {
    #[prost(uint32, repeated, tag = "9")]
    pub ingagmmhmjc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub eamgahffeco: u32,
}
/// Obf: DMAGHPKHLBO
#[derive(proto_derive::CmdID)]
#[cmdid(5411)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateBoardScNotify {
    #[prost(message, optional, tag = "6")]
    pub dhdknmfmgbc: ::core::option::Option<Ofphdlopiem>,
}
/// Obf: BOLPCHMMDHM
#[derive(proto_derive::CmdID)]
#[cmdid(5579)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateAeonModifierValueScNotify {
    #[prost(uint32, tag = "3")]
    pub elappcmeloa: u32,
    #[prost(int32, tag = "2")]
    pub icjabpgmacj: i32,
}
/// Obf: ACIENOHKCOG
#[derive(proto_derive::CmdID)]
#[cmdid(5596)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateDicePassiveAccumulateValueScNotify {
    #[prost(int32, tag = "12")]
    pub cblaememmig: i32,
}
/// Obf: MLLPACPPJBB
#[derive(proto_derive::CmdID)]
#[cmdid(5404)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueSkipTeachingLevelCsReq {}
/// Obf: ChessRogueSkipTeachingLevelScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(5564)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueSkipTeachingLevelScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub skip_reward_list: ::core::option::Option<ItemList>,
}
/// Obf: OAPHEAMIIFF
#[derive(proto_derive::CmdID)]
#[cmdid(5462)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateUnlockLevelScNotify {
    #[prost(uint32, repeated, tag = "2")]
    pub cpbmapflplc: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: BIHDFJFHHMA
#[derive(proto_derive::CmdID)]
#[cmdid(5528)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueEnterNextLayerCsReq {
    #[prost(uint32, tag = "11")]
    pub prop_entity_id: u32,
}
/// Obf: PFJHDBLEKHD
#[derive(proto_derive::CmdID)]
#[cmdid(5512)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueEnterNextLayerScRsp {
    #[prost(message, optional, tag = "4")]
    pub story_info: ::core::option::Option<Ehanapnjfjd>,
    #[prost(message, optional, tag = "7")]
    pub omcbcgchlgn: ::core::option::Option<Bipddejaadc>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub dbdgahblgbb: ::core::option::Option<Ojleefjelap>,
    #[prost(message, optional, tag = "15")]
    pub rogue_info: ::core::option::Option<Fflapkolhcm>,
}
/// Obf: APNIJKHIJDD
#[derive(proto_derive::CmdID)]
#[cmdid(5402)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueReRollDiceCsReq {
    #[prost(uint32, tag = "6")]
    pub kchfjdajecm: u32,
}
/// Obf: JBHIKPPOCBH
#[derive(proto_derive::CmdID)]
#[cmdid(5561)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueReRollDiceScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub aiaonpfbgng: ::core::option::Option<Oaloinnaini>,
}
/// Obf: CAEECAHOEOL
#[derive(proto_derive::CmdID)]
#[cmdid(5443)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueConfirmRollCsReq {
    #[prost(uint32, tag = "5")]
    pub kchfjdajecm: u32,
}
/// Obf: FDMLPJGLCLF
#[derive(proto_derive::CmdID)]
#[cmdid(5577)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueConfirmRollScRsp {
    #[prost(message, optional, tag = "11")]
    pub aiaonpfbgng: ::core::option::Option<Oaloinnaini>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: KJNFLIGHDII
#[derive(proto_derive::CmdID)]
#[cmdid(5544)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueCheatRollCsReq {
    #[prost(uint32, tag = "5")]
    pub eooadpocphd: u32,
    #[prost(uint32, tag = "9")]
    pub kchfjdajecm: u32,
}
/// Obf: PENOIKKIHPB
#[derive(proto_derive::CmdID)]
#[cmdid(5563)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueCheatRollScRsp {
    #[prost(message, optional, tag = "15")]
    pub aiaonpfbgng: ::core::option::Option<Oaloinnaini>,
    #[prost(uint32, tag = "8")]
    pub eooadpocphd: u32,
    #[prost(uint32, tag = "13")]
    pub nljoldmcgai: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: KMFHMGOABIP
#[derive(proto_derive::CmdID)]
#[cmdid(5456)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueGiveUpRollCsReq {}
/// Obf: OHJANOLOLLE
#[derive(proto_derive::CmdID)]
#[cmdid(5508)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueGiveUpRollScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub nkmjhejcolp: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "5")]
    pub aiaonpfbgng: ::core::option::Option<Oaloinnaini>,
}
/// Obf: GDAIDHNKFCG
#[derive(proto_derive::CmdID)]
#[cmdid(5535)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueQuitCsReq {}
/// Obf: HFGHFCGANCF
#[derive(proto_derive::CmdID)]
#[cmdid(5546)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueQuitScRsp {
    #[prost(message, optional, tag = "14")]
    pub story_info: ::core::option::Option<Ehanapnjfjd>,
    #[prost(message, optional, tag = "2")]
    pub blndmfgkpmj: ::core::option::Option<Jacmenokjfm>,
    #[prost(message, optional, tag = "7")]
    pub lmgkmaoicgc: ::core::option::Option<Afabkdefddg>,
    #[prost(message, optional, tag = "9")]
    pub hndlhicdnpc: ::core::option::Option<Fflapkolhcm>,
    #[prost(message, optional, tag = "5")]
    pub lagbgldlgcb: ::core::option::Option<Ihnjghalkjb>,
    #[prost(message, optional, tag = "1")]
    pub chmhpcngfao: ::core::option::Option<Cjembcbcbkj>,
    #[prost(message, optional, tag = "6")]
    pub boikablfkec: ::core::option::Option<Ccodjoaholb>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub omcbcgchlgn: ::core::option::Option<Bipddejaadc>,
}
/// Obf: HIEALLFPLKL
#[derive(proto_derive::CmdID)]
#[cmdid(5410)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueFinishCurRoomNotify {
    #[prost(message, optional, tag = "10")]
    pub lmgkmaoicgc: ::core::option::Option<Afabkdefddg>,
}
/// Obf: FBIHAHFLFGG
#[derive(proto_derive::CmdID)]
#[cmdid(5487)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueMoveCellNotify {
    #[prost(uint32, tag = "14")]
    pub cpbohhbncod: u32,
    #[prost(uint32, tag = "11")]
    pub dnmjhgcgahl: u32,
    #[prost(message, optional, tag = "5")]
    pub anhjnbgielf: ::core::option::Option<Ofphdlopiem>,
}
/// Obf: GPJCDDBBMCB
#[derive(proto_derive::CmdID)]
#[cmdid(5534)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueCellUpdateNotify {
    #[prost(uint32, tag = "7")]
    pub eamgahffeco: u32,
    #[prost(message, repeated, tag = "6")]
    pub iafbijekkpg: ::prost::alloc::vec::Vec<Mknhikdcjjg>,
    #[prost(enumeration = "Aebjegdpong", tag = "2")]
    pub reason: i32,
    #[prost(enumeration = "Lgmdbcffjof", tag = "5")]
    pub dniibbhllnb: i32,
}
/// Obf: JGJNNDHAAIC
#[derive(proto_derive::CmdID)]
#[cmdid(5576)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueQuestFinishNotify {
    #[prost(uint32, tag = "4")]
    pub jlfabhhnhcm: u32,
    #[prost(uint32, tag = "8")]
    pub nnjccfeindo: u32,
}
/// Obf: AEHKPMIEHJI
#[derive(proto_derive::CmdID)]
#[cmdid(5491)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChessRogueStoryInfoCsReq {}
/// Obf: CHNCADPNMIB
#[derive(proto_derive::CmdID)]
#[cmdid(5530)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChessRogueStoryInfoScRsp {
    #[prost(message, repeated, tag = "9")]
    pub mnhmekkhkna: ::prost::alloc::vec::Vec<Dipmfomgcgl>,
    #[prost(message, repeated, tag = "3")]
    pub idgiahopgaj: ::prost::alloc::vec::Vec<Lahjpfooheb>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: GGIDCJDDGGP
#[derive(proto_derive::CmdID)]
#[cmdid(5580)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelectChessRogueSubStoryCsReq {
    #[prost(uint32, tag = "7")]
    pub fahihdjfohm: u32,
    #[prost(uint32, tag = "2")]
    pub ifiijgngogp: u32,
    #[prost(uint32, tag = "14")]
    pub ikmnamkjafa: u32,
    #[prost(uint32, tag = "12")]
    pub rogue_dialogue_event_id: u32,
}
/// Obf: IMHNNPFBGPI
#[derive(proto_derive::CmdID)]
#[cmdid(5538)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelectChessRogueSubStoryScRsp {
    #[prost(uint32, tag = "9")]
    pub ifiijgngogp: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub ikmnamkjafa: u32,
    #[prost(uint32, tag = "5")]
    pub fahihdjfohm: u32,
    #[prost(uint32, tag = "4")]
    pub rogue_dialogue_event_id: u32,
}
/// Obf: GIEFBJHKBOK
#[derive(proto_derive::CmdID)]
#[cmdid(5468)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishChessRogueSubStoryCsReq {
    #[prost(uint32, tag = "12")]
    pub ikmnamkjafa: u32,
    #[prost(uint32, tag = "8")]
    pub ifiijgngogp: u32,
    #[prost(uint32, tag = "3")]
    pub fahihdjfohm: u32,
}
/// Obf: IEJBFANAEMO
#[derive(proto_derive::CmdID)]
#[cmdid(5425)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishChessRogueSubStoryScRsp {
    #[prost(uint32, tag = "4")]
    pub fahihdjfohm: u32,
    #[prost(uint32, tag = "15")]
    pub fgomiplmeic: u32,
    #[prost(uint32, tag = "11")]
    pub ifiijgngogp: u32,
    #[prost(uint32, tag = "14")]
    pub ikmnamkjafa: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: KGDAGPJHBMJ
#[derive(proto_derive::CmdID)]
#[cmdid(5455)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateActionPointScNotify {
    #[prost(int32, tag = "4")]
    pub ljffcnbpjdd: i32,
}
/// Obf: HFEOILGGHKA
#[derive(proto_derive::CmdID)]
#[cmdid(5514)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterChessRogueAeonRoomCsReq {}
/// Obf: PEDBKMGBGEK
#[derive(proto_derive::CmdID)]
#[cmdid(5475)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterChessRogueAeonRoomScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub story_info: ::core::option::Option<Ehanapnjfjd>,
}
/// Obf: CIHFECGBLCP
#[derive(proto_derive::CmdID)]
#[cmdid(5452)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChessRogueStoryAeonTalkInfoCsReq {
    #[prost(uint32, tag = "7")]
    pub cdjecokfiof: u32,
}
/// Obf: NEHFFDDBJJP
#[derive(proto_derive::CmdID)]
#[cmdid(5430)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChessRogueStoryAeonTalkInfoScRsp {
    #[prost(uint32, tag = "8")]
    pub cdjecokfiof: u32,
    #[prost(map = "uint32, uint32", tag = "10")]
    pub kjcbneindhl: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: CNFKEJPJDCI
#[derive(proto_derive::CmdID)]
#[cmdid(5548)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncChessRogueMainStoryFinishScNotify {
    #[prost(uint32, tag = "10")]
    pub kenpckfonok: u32,
    #[prost(uint32, tag = "12")]
    pub fgomiplmeic: u32,
}
/// Obf: MJGHIBKOCAA
#[derive(proto_derive::CmdID)]
#[cmdid(5435)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncChessRogueNousValueScNotify {
    #[prost(message, optional, tag = "1")]
    pub ibmioggkbfb: ::core::option::Option<Ocbcbidlllj>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbeejnbebep {
    #[prost(enumeration = "Cdoegmdjgoc", tag = "8")]
    pub status: i32,
    #[prost(uint32, tag = "13")]
    pub fgomiplmeic: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Diecddgebnb {
    #[prost(uint32, tag = "10")]
    pub ikmnamkjafa: u32,
}
/// Obf: CLNPFNGPJMM
#[derive(proto_derive::CmdID)]
#[cmdid(5422)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChessRogueNousStoryInfoCsReq {}
/// Obf: NLJCLCHNAFB
#[derive(proto_derive::CmdID)]
#[cmdid(5554)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChessRogueNousStoryInfoScRsp {
    #[prost(message, repeated, tag = "15")]
    pub idgiahopgaj: ::prost::alloc::vec::Vec<Gbeejnbebep>,
    #[prost(message, repeated, tag = "4")]
    pub mnhmekkhkna: ::prost::alloc::vec::Vec<Diecddgebnb>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: HCGBMJNCJGE
#[derive(proto_derive::CmdID)]
#[cmdid(5557)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelectChessRogueNousSubStoryCsReq {
    #[prost(uint32, tag = "7")]
    pub ifiijgngogp: u32,
    #[prost(uint32, tag = "13")]
    pub ikmnamkjafa: u32,
    #[prost(uint32, tag = "8")]
    pub rogue_dialogue_event_id: u32,
}
/// Obf: NJKGHDKICMM
#[derive(proto_derive::CmdID)]
#[cmdid(5499)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelectChessRogueNousSubStoryScRsp {
    #[prost(uint32, tag = "10")]
    pub rogue_dialogue_event_id: u32,
    #[prost(uint32, tag = "3")]
    pub ifiijgngogp: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub ikmnamkjafa: u32,
}
/// Obf: ELLMOCGKHLB
#[derive(proto_derive::CmdID)]
#[cmdid(5501)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishChessRogueNousSubStoryCsReq {
    #[prost(uint32, tag = "3")]
    pub ifiijgngogp: u32,
    #[prost(uint32, tag = "9")]
    pub ikmnamkjafa: u32,
}
/// Obf: EKMNJGBOEJF
#[derive(proto_derive::CmdID)]
#[cmdid(5427)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishChessRogueNousSubStoryScRsp {
    #[prost(uint32, tag = "1")]
    pub ikmnamkjafa: u32,
    #[prost(uint32, tag = "14")]
    pub ifiijgngogp: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: CLNNAJGNMAF
#[derive(proto_derive::CmdID)]
#[cmdid(5467)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncChessRogueNousSubStoryScNotify {
    #[prost(uint32, tag = "9")]
    pub ikmnamkjafa: u32,
}
/// Obf: NGGNCMHBNPE
#[derive(proto_derive::CmdID)]
#[cmdid(5532)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncChessRogueNousMainStoryScNotify {
    #[prost(message, repeated, tag = "3")]
    pub idgiahopgaj: ::prost::alloc::vec::Vec<Gbeejnbebep>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Imnpeajajjo {
    #[prost(uint32, tag = "9")]
    pub ffmdbdehheg: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub oblhboeolaf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "5")]
    pub emllecgepck: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub ikmnamkjafa: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub ilmookbjhhc: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "10")]
    pub fjkgkaekbkj: bool,
    #[prost(bool, tag = "12")]
    pub ffheeidbhea: bool,
    #[prost(uint32, tag = "15")]
    pub fgomiplmeic: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hngihjjiaco {
    #[prost(uint32, tag = "12")]
    pub eooadpocphd: u32,
    #[prost(uint32, tag = "10")]
    pub slot_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kjehfkbjphd {
    #[prost(uint32, tag = "3")]
    pub oabliofcofo: u32,
    #[prost(uint32, tag = "4")]
    pub hmkebdlflpg: u32,
    #[prost(uint32, tag = "9")]
    pub dhndampbhpp: u32,
    #[prost(message, repeated, tag = "5")]
    pub igbcacgfckb: ::prost::alloc::vec::Vec<Hngihjjiaco>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dffjcmlaicl {
    #[prost(enumeration = "Faohejiddhj", tag = "15")]
    pub hdmpbpoffdk: i32,
    #[prost(map = "uint32, bool", tag = "7")]
    pub nbcmaknlphg: ::std::collections::HashMap<u32, bool>,
    #[prost(message, repeated, tag = "13")]
    pub alehdaaohoe: ::prost::alloc::vec::Vec<Kjehfkbjphd>,
    #[prost(uint32, repeated, tag = "8")]
    pub jkmimlbajbl: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ajcndbhnlfl {
    #[prost(uint32, tag = "11")]
    pub pofmjblmbji: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lgeljhjomlo {
    #[prost(message, optional, tag = "5")]
    pub jmgipebloge: ::core::option::Option<RogueTalentInfoList>,
    #[prost(uint32, tag = "3")]
    pub pofmjblmbji: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afaghelicpd {
    #[prost(uint32, repeated, tag = "9")]
    pub gihdmhdadon: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GLIGOBEJCEE
#[derive(proto_derive::CmdID)]
#[cmdid(5439)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueNousEditDiceCsReq {
    #[prost(message, optional, tag = "14")]
    pub bbcpoebnanc: ::core::option::Option<Kjehfkbjphd>,
}
/// Obf: CGHIHPAIEGL
#[derive(proto_derive::CmdID)]
#[cmdid(5516)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueNousEditDiceScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub bbcpoebnanc: ::core::option::Option<Kjehfkbjphd>,
}
/// Obf: HPGJGJBCEEF
#[derive(proto_derive::CmdID)]
#[cmdid(5414)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueNousDiceUpdateNotify {
    #[prost(message, optional, tag = "13")]
    pub mbibkhkkefb: ::core::option::Option<Dffjcmlaicl>,
}
/// Obf: BLNHPBNMGND
#[derive(proto_derive::CmdID)]
#[cmdid(5457)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueNousDiceSurfaceUnlockNotify {
    #[prost(uint32, tag = "14")]
    pub caphiddhlfg: u32,
}
/// Obf: CKPGAINGLAN
#[derive(proto_derive::CmdID)]
#[cmdid(5408)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueNousGetRogueTalentInfoCsReq {}
/// Obf: FFFAADGCBIO
#[derive(proto_derive::CmdID)]
#[cmdid(5470)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueNousGetRogueTalentInfoScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub talent_info: ::core::option::Option<RogueTalentInfoList>,
    #[prost(uint32, tag = "1")]
    pub pofmjblmbji: u32,
}
/// Obf: GGLPHNHLGOA
#[derive(proto_derive::CmdID)]
#[cmdid(5583)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueNousEnableRogueTalentCsReq {
    #[prost(uint32, tag = "9")]
    pub talent_id: u32,
}
/// Obf: EONJEJPDIBH
#[derive(proto_derive::CmdID)]
#[cmdid(5420)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueNousEnableRogueTalentScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "12")]
    pub talent_info: ::core::option::Option<RogueTalentInfoList>,
    #[prost(uint32, tag = "1")]
    pub pofmjblmbji: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aacofikdcpl {
    #[prost(uint32, tag = "7")]
    pub ienpelbphdp: u32,
    #[prost(uint32, tag = "11")]
    pub progress: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Odnnkbimefh {
    #[prost(message, repeated, tag = "1")]
    pub keedplpaclp: ::prost::alloc::vec::Vec<Aacofikdcpl>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eadganmjipk {
    #[prost(uint32, repeated, tag = "9")]
    pub ibpfgebmilb: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jcnjdffcldg {
    #[prost(int32, tag = "11")]
    pub hp: i32,
    #[prost(bool, tag = "8")]
    pub jnboonpdoce: bool,
    #[prost(uint32, repeated, tag = "10")]
    pub oopkikmbbhh: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "13")]
    pub keedplpaclp: ::core::option::Option<Odnnkbimefh>,
    #[prost(uint32, tag = "15")]
    pub id: u32,
    #[prost(int32, tag = "12")]
    pub lkeblpijmgb: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mpjdibccohf {
    #[prost(uint32, repeated, tag = "9")]
    pub obcpgobaede: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub miaiopgiphh: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Difpdplcigd {
    #[prost(uint32, tag = "13")]
    pub jfpnmoonlnj: u32,
    #[prost(uint32, tag = "7")]
    pub goneakbdgek: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jmaanmpanhm {
    #[prost(uint32, tag = "7")]
    pub fpaibldakli: u32,
    #[prost(uint32, tag = "12")]
    pub index: u32,
    #[prost(int32, tag = "14")]
    pub attack: i32,
    #[prost(uint32, tag = "2")]
    pub nhjalpdbogn: u32,
    #[prost(uint32, tag = "11")]
    pub clpmibdfpjc: u32,
    #[prost(uint32, tag = "10")]
    pub noeimmhckpm: u32,
    #[prost(int32, tag = "13")]
    pub hp: i32,
    #[prost(uint32, tag = "6")]
    pub nkoffbmhapi: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Egdghfllmgn {
    #[prost(uint32, tag = "6")]
    pub bclnmidffoh: u32,
    #[prost(uint32, tag = "13")]
    pub lcjhgdjdeng: u32,
    #[prost(uint32, tag = "15")]
    pub cfijipchhgo: u32,
    #[prost(uint32, tag = "4")]
    pub khkfkdnbhpe: u32,
    #[prost(uint32, tag = "12")]
    pub total_damage: u32,
    #[prost(uint32, tag = "11")]
    pub total_turns: u32,
}
/// Obf: CHDKEPCOKNK
#[derive(proto_derive::CmdID)]
#[cmdid(8177)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraGetDataCsReq {}
/// Obf: DPLGEGIJCEF
#[derive(proto_derive::CmdID)]
#[cmdid(8168)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraGetDataScRsp {
    #[prost(uint32, tag = "871")]
    pub kilpnhjbpdb: u32,
    #[prost(uint32, tag = "4")]
    pub lfkfocjfncj: u32,
    #[prost(uint32, tag = "13")]
    pub eaiojcnlmng: u32,
    #[prost(uint32, tag = "1")]
    pub cjekjhpibjl: u32,
    #[prost(uint32, tag = "1929")]
    pub olldkajoajd: u32,
    #[prost(message, optional, tag = "3")]
    pub lineup: ::core::option::Option<Mpjdibccohf>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(enumeration = "Oapdmkkkeol", tag = "15")]
    pub bbmgiimecel: i32,
    #[prost(uint32, tag = "7")]
    pub jfpnmoonlnj: u32,
    #[prost(uint32, tag = "1877")]
    pub cagaplnhabb: u32,
    #[prost(uint32, tag = "8")]
    pub gbemdnckkba: u32,
    #[prost(message, repeated, tag = "6")]
    pub kiimkaeajal: ::prost::alloc::vec::Vec<Jcnjdffcldg>,
    #[prost(message, repeated, tag = "14")]
    pub ncdaoblmhhp: ::prost::alloc::vec::Vec<Difpdplcigd>,
    #[prost(uint32, tag = "5")]
    pub cjkcnhclmgd: u32,
    #[prost(uint32, tag = "53")]
    pub cpbdbaidaeh: u32,
    #[prost(uint32, tag = "12")]
    pub bbbgkchnock: u32,
    #[prost(uint32, tag = "11")]
    pub ijeiommfpka: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub mfafnncjjng: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NHENNNBHLCA
#[derive(proto_derive::CmdID)]
#[cmdid(8172)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraSetLineupCsReq {
    #[prost(message, optional, tag = "2")]
    pub lineup: ::core::option::Option<Mpjdibccohf>,
}
/// Obf: IGCADEMMOKK
#[derive(proto_derive::CmdID)]
#[cmdid(8162)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraSetLineupScRsp {
    #[prost(message, optional, tag = "11")]
    pub lineup: ::core::option::Option<Mpjdibccohf>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: BKHCMDINFJN
#[derive(proto_derive::CmdID)]
#[cmdid(8164)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraFinishRoundCsReq {
    #[prost(bool, tag = "3")]
    pub molidikifgb: bool,
    #[prost(enumeration = "Biakdfeljfm", tag = "7")]
    pub hbgclmcgnfm: i32,
    #[prost(map = "uint32, message", tag = "6")]
    pub mlbaljkcmcg: ::std::collections::HashMap<u32, Odnnkbimefh>,
    #[prost(uint32, repeated, tag = "2")]
    pub hgodgdeaajo: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "1")]
    pub stt: ::core::option::Option<Egdghfllmgn>,
    #[prost(message, optional, tag = "8")]
    pub lineup: ::core::option::Option<Mpjdibccohf>,
    #[prost(map = "uint32, uint32", tag = "9")]
    pub bahhnmlhalj: ::std::collections::HashMap<u32, u32>,
    #[prost(message, repeated, tag = "4")]
    pub opamaeijcoh: ::prost::alloc::vec::Vec<Jmaanmpanhm>,
    #[prost(uint32, tag = "11")]
    pub hjoeamdlbpl: u32,
}
/// Obf: MBPCAMJPKMA
#[derive(proto_derive::CmdID)]
#[cmdid(8161)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraFinishRoundScRsp {
    #[prost(message, repeated, tag = "9")]
    pub goiakpgjlcb: ::prost::alloc::vec::Vec<Jcnjdffcldg>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub eaiojcnlmng: u32,
    #[prost(map = "uint32, message", tag = "13")]
    pub nahpkppmdkk: ::std::collections::HashMap<u32, Odnnkbimefh>,
    #[prost(enumeration = "Oapdmkkkeol", tag = "3")]
    pub bbmgiimecel: i32,
    #[prost(uint32, tag = "6")]
    pub ijeiommfpka: u32,
    #[prost(uint32, tag = "4")]
    pub jfpnmoonlnj: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub mfafnncjjng: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub olldkajoajd: u32,
    #[prost(enumeration = "Biakdfeljfm", tag = "1")]
    pub hbgclmcgnfm: i32,
    #[prost(uint32, tag = "5")]
    pub cjkcnhclmgd: u32,
    #[prost(map = "uint32, message", tag = "10")]
    pub ghkgcfclabf: ::std::collections::HashMap<u32, Eadganmjipk>,
    #[prost(message, repeated, tag = "2")]
    pub ncdaoblmhhp: ::prost::alloc::vec::Vec<Difpdplcigd>,
    #[prost(bool, tag = "8")]
    pub molidikifgb: bool,
    #[prost(bool, tag = "11")]
    pub jieifdocohe: bool,
}
/// Obf: AMCAGDKFNLA
#[derive(proto_derive::CmdID)]
#[cmdid(8179)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraStartEndlessCsReq {}
/// Obf: AIFMPIGKCGP
#[derive(proto_derive::CmdID)]
#[cmdid(8174)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraStartEndlessScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: IMAACGNDEDK
#[derive(proto_derive::CmdID)]
#[cmdid(8175)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraFinishEndlessRoundCsReq {
    #[prost(message, repeated, tag = "14")]
    pub opamaeijcoh: ::prost::alloc::vec::Vec<Jmaanmpanhm>,
    #[prost(bool, tag = "12")]
    pub pahmagpfddj: bool,
    #[prost(uint32, tag = "11")]
    pub cpbdbaidaeh: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub hgodgdeaajo: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "13")]
    pub stt: ::core::option::Option<Egdghfllmgn>,
    #[prost(message, optional, tag = "10")]
    pub lineup: ::core::option::Option<Mpjdibccohf>,
}
/// Obf: FKGECNEDFJB
#[derive(proto_derive::CmdID)]
#[cmdid(8166)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraFinishEndlessRoundScRsp {
    #[prost(uint32, tag = "8")]
    pub gbemdnckkba: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub aebjngimhcj: u32,
    #[prost(message, repeated, tag = "15")]
    pub igagibnelck: ::prost::alloc::vec::Vec<Jcnjdffcldg>,
    #[prost(uint32, tag = "3")]
    pub cpbdbaidaeh: u32,
    #[prost(bool, tag = "5")]
    pub pahmagpfddj: bool,
    #[prost(uint32, tag = "11")]
    pub lfkfocjfncj: u32,
    #[prost(uint32, tag = "10")]
    pub bbbgkchnock: u32,
}
/// Obf: GIGMKHMONPI
#[derive(proto_derive::CmdID)]
#[cmdid(8178)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraQuitEndlessCsReq {}
/// Obf: HAPEJPNCICF
#[derive(proto_derive::CmdID)]
#[cmdid(8165)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraQuitEndlessScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: LCBCPIPHIMN
#[derive(proto_derive::CmdID)]
#[cmdid(8176)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDoFinalRoundCsReq {
    #[prost(message, optional, tag = "5")]
    pub lineup: ::core::option::Option<Mpjdibccohf>,
    #[prost(message, optional, tag = "13")]
    pub stt: ::core::option::Option<Egdghfllmgn>,
    #[prost(bool, tag = "1")]
    pub pahmagpfddj: bool,
    #[prost(uint32, repeated, tag = "6")]
    pub hgodgdeaajo: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub cpbdbaidaeh: u32,
    #[prost(message, repeated, tag = "15")]
    pub opamaeijcoh: ::prost::alloc::vec::Vec<Jmaanmpanhm>,
}
/// Obf: CLKGPDAIAME
#[derive(proto_derive::CmdID)]
#[cmdid(8170)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDoFinalRoundScRsp {
    #[prost(message, repeated, tag = "7")]
    pub ncdaoblmhhp: ::prost::alloc::vec::Vec<Difpdplcigd>,
    #[prost(uint32, tag = "15")]
    pub olldkajoajd: u32,
    #[prost(uint32, tag = "8")]
    pub cagaplnhabb: u32,
    #[prost(message, repeated, tag = "4")]
    pub igagibnelck: ::prost::alloc::vec::Vec<Jcnjdffcldg>,
    #[prost(bool, tag = "5")]
    pub pahmagpfddj: bool,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub cpbdbaidaeh: u32,
    #[prost(uint32, tag = "9")]
    pub eaiojcnlmng: u32,
    #[prost(uint32, tag = "14")]
    pub index: u32,
    #[prost(uint32, tag = "12")]
    pub jfpnmoonlnj: u32,
}
/// Obf: HMLGEPFNKDJ
#[derive(proto_derive::CmdID)]
#[cmdid(8173)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraRoundWorkStartCsReq {
    #[prost(uint32, tag = "13")]
    pub mdfeekikbmj: u32,
    #[prost(message, optional, tag = "12")]
    pub lineup: ::core::option::Option<Mpjdibccohf>,
    #[prost(message, repeated, tag = "11")]
    pub opamaeijcoh: ::prost::alloc::vec::Vec<Jmaanmpanhm>,
    #[prost(uint32, tag = "5")]
    pub flgjpheopaa: u32,
}
/// Obf: MKGBDLADHNK
#[derive(proto_derive::CmdID)]
#[cmdid(8169)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraRoundWorkStartScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: PHNFMMBJABG
#[derive(proto_derive::CmdID)]
#[cmdid(7226)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkGetInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nlljbbcjiam {
    #[prost(uint32, tag = "14")]
    pub clkeoehplng: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub odogfhenjep: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FFOPBLNLPGI
#[derive(proto_derive::CmdID)]
#[cmdid(7237)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkGetInfoScRsp {
    #[prost(uint32, tag = "3")]
    pub gfadcahlkfp: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub ibjpcofdlji: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub progress: u32,
    #[prost(message, repeated, tag = "12")]
    pub bnfhfhefmem: ::prost::alloc::vec::Vec<Nlljbbcjiam>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub ediajgcbpfo: u32,
}
/// Obf: POHKPBOBJEA
#[derive(proto_derive::CmdID)]
#[cmdid(7206)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkUnlockTalentCsReq {
    #[prost(uint32, tag = "11")]
    pub talent_id: u32,
}
/// Obf: EPOOLCKMMKB
#[derive(proto_derive::CmdID)]
#[cmdid(7233)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkUnlockTalentScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "5")]
    pub talent_id: u32,
}
/// Obf: IKMEOFEDGFD
#[derive(proto_derive::CmdID)]
#[cmdid(7207)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkStartScriptCsReq {
    #[prost(uint32, repeated, tag = "8")]
    pub jmojeoalclo: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub clkeoehplng: u32,
}
/// Obf: ELDBJPOGEIF
#[derive(proto_derive::CmdID)]
#[cmdid(7229)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkStartScriptScRsp {
    #[prost(uint32, tag = "1")]
    pub clkeoehplng: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: HMODIPBDAMG
#[derive(proto_derive::CmdID)]
#[cmdid(7225)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkGetOngoingScriptInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lnihjdaildj {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Accbigfanoa {
    #[prost(uint32, repeated, tag = "1")]
    pub pneoolflnlk: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub card_id: u32,
    #[prost(uint32, tag = "4")]
    pub bjkhpadclhi: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hdckchpdmmi {
    #[prost(message, repeated, tag = "6")]
    pub card_data_list: ::prost::alloc::vec::Vec<Accbigfanoa>,
    #[prost(uint32, repeated, tag = "11")]
    pub pneoolflnlk: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nnccfpoockh {
    #[prost(message, optional, tag = "2")]
    pub ancpcpcljed: ::core::option::Option<Hdckchpdmmi>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Machndhamnm {
    #[prost(message, optional, tag = "6")]
    pub ancpcpcljed: ::core::option::Option<Hdckchpdmmi>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ifbdbdccopo {
    #[prost(message, optional, tag = "12")]
    pub ancpcpcljed: ::core::option::Option<Hdckchpdmmi>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Glijklooapa {
    #[prost(message, optional, tag = "11")]
    pub ancpcpcljed: ::core::option::Option<Hdckchpdmmi>,
    #[prost(uint32, tag = "8")]
    pub ecfagnkdaef: u32,
    #[prost(uint32, tag = "7")]
    pub gacha_random: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Anbankmlclh {
    #[prost(message, optional, tag = "11")]
    pub ancpcpcljed: ::core::option::Option<Hdckchpdmmi>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eppnkgolaap {
    #[prost(bool, tag = "11")]
    pub bgdoijphfdb: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lkbbkojddpd {
    #[prost(uint32, tag = "9")]
    pub ahidjbjggpp: u32,
    #[prost(oneof = "lkbbkojddpd::Nkpnkgiahip", tags = "1, 13, 15, 5, 10, 12, 6, 7")]
    pub nkpnkgiahip: ::core::option::Option<lkbbkojddpd::Nkpnkgiahip>,
}
/// Nested message and enum types in `LKBBKOJDDPD`.
pub mod lkbbkojddpd {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Nkpnkgiahip {
        #[prost(message, tag = "1")]
        Pnimpjfilgf(super::Lnihjdaildj),
        #[prost(message, tag = "13")]
        Dhleejmiimo(super::Nnccfpoockh),
        #[prost(message, tag = "15")]
        Oeofnnbljik(super::Machndhamnm),
        #[prost(message, tag = "5")]
        Gpbgdcmjhln(super::Ifbdbdccopo),
        #[prost(message, tag = "10")]
        Lnkpgggkmnk(super::Glijklooapa),
        #[prost(message, tag = "12")]
        Aenefmcbfgm(super::Anbankmlclh),
        #[prost(message, tag = "6")]
        Bciighioapl(super::Eppnkgolaap),
        #[prost(bool, tag = "7")]
        Gneooaifkib(bool),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bmlofpcngkn {
    #[prost(int32, tag = "4")]
    pub djfhcddifmi: i32,
    #[prost(int32, tag = "8")]
    pub ihlhdpnaekc: i32,
    #[prost(int32, tag = "9")]
    pub ofcndemappl: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ioncppdejej {
    #[prost(uint32, tag = "6")]
    pub feonehhcjjm: u32,
    #[prost(uint32, tag = "9")]
    pub buff_id: u32,
    #[prost(uint64, tag = "10")]
    pub unique_id: u64,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ecmilhckomo {
    #[prost(message, repeated, tag = "1")]
    pub buff_list: ::prost::alloc::vec::Vec<Ioncppdejej>,
}
/// Obf: EHPCJHHNFAJ
#[derive(proto_derive::CmdID)]
#[cmdid(7215)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkGetOngoingScriptInfoScRsp {
    #[prost(uint32, tag = "6")]
    pub chobaogmlfn: u32,
    #[prost(string, tag = "10")]
    pub cmgkeolcbip: ::prost::alloc::string::String,
    #[prost(uint32, tag = "9")]
    pub obpfblnbfki: u32,
    #[prost(uint32, tag = "12")]
    pub aigehhnhkpm: u32,
    #[prost(uint32, tag = "14")]
    pub clkeoehplng: u32,
    #[prost(message, optional, tag = "11")]
    pub ienphefangl: ::core::option::Option<Lkbbkojddpd>,
    #[prost(message, optional, tag = "1")]
    pub lgopnbhhhbg: ::core::option::Option<Ecmilhckomo>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub kiekjeffphk: u32,
    #[prost(message, optional, tag = "7")]
    pub mjdogpbojip: ::core::option::Option<Bmlofpcngkn>,
    #[prost(uint32, repeated, tag = "8")]
    pub eidlleolfgm: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub blhgbednfib: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Obnonmhmeck {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ffomibncfki {
    #[prost(message, optional, tag = "13")]
    pub ancpcpcljed: ::core::option::Option<Hdckchpdmmi>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ajehamdabna {
    #[prost(bool, tag = "9")]
    pub is_win: bool,
    #[prost(uint32, tag = "7")]
    pub omddfkmaape: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Amghdcabjmj {
    #[prost(uint32, repeated, tag = "13")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Innnicfolii {
    #[prost(bool, tag = "6")]
    pub jcnodamfffc: bool,
    #[prost(uint32, tag = "8")]
    pub gacha_random: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ceoonflondj {
    #[prost(uint32, tag = "13")]
    pub omddfkmaape: u32,
    #[prost(bool, tag = "2")]
    pub is_win: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Helnoihmdha {}
/// Obf: ELGHHAKOKPB
#[derive(proto_derive::CmdID)]
#[cmdid(7230)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkHandleWaitOperationCsReq {
    #[prost(uint32, tag = "7")]
    pub ahidjbjggpp: u32,
    #[prost(uint32, tag = "10")]
    pub clkeoehplng: u32,
    #[prost(
        oneof = "clock_park_handle_wait_operation_cs_req::Nomemjfhdib",
        tags = "9, 8, 3, 1, 13, 2, 5, 11"
    )]
    pub nomemjfhdib: ::core::option::Option<
        clock_park_handle_wait_operation_cs_req::Nomemjfhdib,
    >,
}
/// Nested message and enum types in `ClockParkHandleWaitOperationCsReq`.
pub mod clock_park_handle_wait_operation_cs_req {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Nomemjfhdib {
        #[prost(message, tag = "9")]
        Jfbckclpako(super::Obnonmhmeck),
        #[prost(message, tag = "8")]
        Ipikflcefla(super::Ffomibncfki),
        #[prost(message, tag = "3")]
        Megnbbfilnl(super::Ajehamdabna),
        #[prost(message, tag = "1")]
        Abkkdhapchn(super::Amghdcabjmj),
        #[prost(message, tag = "13")]
        Lihjmeingik(super::Innnicfolii),
        #[prost(message, tag = "2")]
        Lmgglcncdhf(super::Ceoonflondj),
        #[prost(message, tag = "5")]
        Fngfoaepfjn(super::Helnoihmdha),
        #[prost(uint32, tag = "11")]
        Obpfblnbfki(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mdjlojfmemc {
    #[prost(bool, tag = "5")]
    pub kfdaicilnmb: bool,
    #[prost(uint32, tag = "7")]
    pub clkeoehplng: u32,
    #[prost(bool, tag = "15")]
    pub eeehghkocji: bool,
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "10")]
    pub kiekjeffphk: u32,
    #[prost(uint32, tag = "6")]
    pub aigehhnhkpm: u32,
    #[prost(uint32, tag = "12")]
    pub progress: u32,
}
/// Obf: LBGJOELCNHC
#[derive(proto_derive::CmdID)]
#[cmdid(7202)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkHandleWaitOperationScRsp {
    #[prost(enumeration = "Egblomhgijm", tag = "12")]
    pub jfkdbmdomnk: i32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "8")]
    pub ficfgdnhnge: u32,
    #[prost(uint32, tag = "5")]
    pub ahidjbjggpp: u32,
    #[prost(uint32, tag = "3")]
    pub koijfoffjnj: u32,
}
/// Obf: HAEOGLJFLGE
#[derive(proto_derive::CmdID)]
#[cmdid(7248)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkQuitScriptCsReq {
    #[prost(uint32, tag = "8")]
    pub clkeoehplng: u32,
    #[prost(bool, tag = "5")]
    pub khnhpgdeimm: bool,
}
/// Obf: FAPAGKJIBAJ
#[derive(proto_derive::CmdID)]
#[cmdid(7204)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkQuitScriptScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: LJMIHCBEGLJ
#[derive(proto_derive::CmdID)]
#[cmdid(7240)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkBattleEndScNotify {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub ahidjbjggpp: u32,
}
/// Obf: AKIGDDCAHOL
#[derive(proto_derive::CmdID)]
#[cmdid(7235)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkUseBuffCsReq {
    #[prost(uint32, tag = "9")]
    pub clkeoehplng: u32,
    #[prost(uint32, tag = "5")]
    pub ahidjbjggpp: u32,
    #[prost(uint64, tag = "15")]
    pub unique_id: u64,
}
/// Obf: LEOEDAODJNM
#[derive(proto_derive::CmdID)]
#[cmdid(7209)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkUseBuffScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub lgopnbhhhbg: ::core::option::Option<Ecmilhckomo>,
    #[prost(uint32, tag = "12")]
    pub clkeoehplng: u32,
    #[prost(uint32, tag = "5")]
    pub ahidjbjggpp: u32,
    #[prost(oneof = "clock_park_use_buff_sc_rsp::Ifllbcfgbdm", tags = "1454, 1653")]
    pub ifllbcfgbdm: ::core::option::Option<clock_park_use_buff_sc_rsp::Ifllbcfgbdm>,
}
/// Nested message and enum types in `ClockParkUseBuffScRsp`.
pub mod clock_park_use_buff_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ifllbcfgbdm {
        #[prost(message, tag = "1454")]
        Ancpcpcljed(super::Hdckchpdmmi),
        #[prost(message, tag = "1653")]
        Mjdogpbojip(super::Bmlofpcngkn),
    }
}
/// Obf: GFGGJLLCNIB
#[derive(proto_derive::CmdID)]
#[cmdid(7224)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkFinishScriptScNotify {
    #[prost(message, optional, tag = "11")]
    pub finish_info: ::core::option::Option<Mdjlojfmemc>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Item {
    #[prost(uint32, tag = "6")]
    pub promotion: u32,
    #[prost(uint32, tag = "1")]
    pub main_affix_id: u32,
    #[prost(uint32, tag = "8")]
    pub unique_id: u32,
    #[prost(uint32, tag = "5")]
    pub rank: u32,
    #[prost(uint32, tag = "7")]
    pub item_id: u32,
    #[prost(uint32, tag = "14")]
    pub level: u32,
    #[prost(uint32, tag = "13")]
    pub num: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ItemList {
    #[prost(message, repeated, tag = "7")]
    pub item_list: ::prost::alloc::vec::Vec<Item>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PileItem {
    #[prost(uint32, tag = "11")]
    pub item_id: u32,
    #[prost(uint32, tag = "5")]
    pub item_num: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ItemCost {
    #[prost(oneof = "item_cost::ItemCase", tags = "6, 13, 9")]
    pub item_case: ::core::option::Option<item_cost::ItemCase>,
}
/// Nested message and enum types in `ItemCost`.
pub mod item_cost {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum ItemCase {
        #[prost(message, tag = "6")]
        PileItem(super::PileItem),
        #[prost(uint32, tag = "13")]
        EquipmentUniqueId(u32),
        #[prost(uint32, tag = "9")]
        RelicUniqueId(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ItemCostList {
    #[prost(message, repeated, tag = "4")]
    pub item_list: ::prost::alloc::vec::Vec<ItemCost>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iekhjdecape {
    #[prost(uint32, tag = "3")]
    pub item_id: u32,
    #[prost(uint32, tag = "12")]
    pub mbejblfhcbh: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Akcpalgemol {
    #[prost(uint32, tag = "3")]
    pub promotion: u32,
    #[prost(uint32, tag = "12")]
    pub tid: u32,
    #[prost(uint32, tag = "2")]
    pub exp: u32,
    #[prost(uint32, tag = "13")]
    pub level: u32,
    #[prost(uint32, tag = "14")]
    pub rank: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nhdbofcfcjm {
    #[prost(uint32, tag = "5")]
    pub exp: u32,
    #[prost(message, repeated, tag = "13")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    #[prost(uint32, tag = "1")]
    pub level: u32,
    #[prost(uint32, tag = "14")]
    pub main_affix_id: u32,
    #[prost(uint32, tag = "11")]
    pub tid: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ndhopedofoc {
    #[prost(oneof = "ndhopedofoc::Lagnobaolij", tags = "6, 13, 14")]
    pub lagnobaolij: ::core::option::Option<ndhopedofoc::Lagnobaolij>,
}
/// Nested message and enum types in `NDHOPEDOFOC`.
pub mod ndhopedofoc {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Lagnobaolij {
        #[prost(message, tag = "6")]
        Oekhngffgkb(super::Iekhjdecape),
        #[prost(message, tag = "13")]
        Adeoigebmdf(super::Akcpalgemol),
        #[prost(message, tag = "14")]
        Fhgafcjcaoa(super::Nhdbofcfcjm),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aodidfnpicf {
    #[prost(message, repeated, tag = "3")]
    pub item_list: ::prost::alloc::vec::Vec<Ndhopedofoc>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Vector {
    /// TODO
    #[prost(sint32, tag = "1")]
    pub z: i32,
    /// TODO
    #[prost(sint32, tag = "11")]
    pub y: i32,
    /// TODO
    #[prost(sint32, tag = "15")]
    pub x: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MotionInfo {
    #[prost(message, optional, tag = "2")]
    pub pos: ::core::option::Option<Vector>,
    #[prost(message, optional, tag = "12")]
    pub rot: ::core::option::Option<Vector>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RotateVector {
    #[prost(float, tag = "9")]
    pub x: f32,
    #[prost(float, tag = "13")]
    pub y: f32,
    #[prost(float, tag = "14")]
    pub z: f32,
    #[prost(float, tag = "8")]
    pub rotate: f32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneMonsterWaveParam {
    #[prost(uint32, tag = "13")]
    pub level: u32,
    #[prost(uint32, tag = "1")]
    pub kpieaikhchd: u32,
    #[prost(uint32, tag = "7")]
    pub edcnkkmgpco: u32,
    #[prost(uint32, tag = "11")]
    pub dneampllfme: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneMonster {
    #[prost(uint32, tag = "15")]
    pub monster_id: u32,
    #[prost(uint32, tag = "1")]
    pub max_hp: u32,
    #[prost(uint32, tag = "12")]
    pub cur_hp: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneMonsterWave {
    #[prost(message, optional, tag = "5")]
    pub wave_param: ::core::option::Option<SceneMonsterWaveParam>,
    #[prost(message, repeated, tag = "4")]
    pub monster_list: ::prost::alloc::vec::Vec<SceneMonster>,
    #[prost(uint32, tag = "2")]
    pub wave_id: u32,
    #[prost(uint32, tag = "1")]
    pub stage_id: u32,
    #[prost(message, repeated, tag = "13")]
    pub jcdljghhaof: ::prost::alloc::vec::Vec<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneBattleInfo {
    #[prost(message, optional, tag = "1839")]
    pub ajgpjglpmio: ::core::option::Option<Ljgiaglfhhc>,
    #[prost(uint32, tag = "1")]
    pub stage_id: u32,
    #[prost(message, repeated, tag = "9")]
    pub monster_wave_list: ::prost::alloc::vec::Vec<SceneMonsterWave>,
    #[prost(message, repeated, tag = "8")]
    pub buff_list: ::prost::alloc::vec::Vec<BattleBuff>,
    #[prost(message, repeated, tag = "2")]
    pub battle_avatar_list: ::prost::alloc::vec::Vec<BattleAvatar>,
    #[prost(uint32, tag = "5")]
    pub world_level: u32,
    #[prost(message, optional, tag = "929")]
    pub jpgifchjdlk: ::core::option::Option<EvolveBuildBattleInfo>,
    #[prost(uint32, tag = "12")]
    pub wave_count: u32,
    #[prost(uint32, tag = "15")]
    pub rounds_limit: u32,
    #[prost(message, optional, tag = "909")]
    pub rogue_magic_battle_info: ::core::option::Option<RogueMagicBattleInfo>,
    #[prost(map = "uint32, message", tag = "1568")]
    pub battle_target_info: ::std::collections::HashMap<u32, BattleTargetList>,
    #[prost(uint32, tag = "7")]
    pub battle_id: u32,
    #[prost(uint32, tag = "10")]
    pub logic_random_seed: u32,
    #[prost(message, repeated, tag = "131")]
    pub event_battle_info_list: ::prost::alloc::vec::Vec<BattleEventBattleInfo>,
    #[prost(bool, tag = "11")]
    pub nbckfdgmfdb: bool,
    #[prost(message, optional, tag = "363")]
    pub mfkjokajjmj: ::core::option::Option<Gieibeacbao>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bbdikgejbmp {
    #[prost(uint32, tag = "15")]
    pub logic_random_seed: u32,
    #[prost(message, repeated, tag = "2")]
    pub battle_avatar_list: ::prost::alloc::vec::Vec<Pkiakjmeaml>,
    #[prost(message, repeated, tag = "7")]
    pub buff_list: ::prost::alloc::vec::Vec<BattleBuff>,
    #[prost(bool, tag = "3")]
    pub nbckfdgmfdb: bool,
    #[prost(message, repeated, tag = "11")]
    pub monster_wave_list: ::prost::alloc::vec::Vec<SceneMonsterWave>,
    #[prost(uint32, tag = "12")]
    pub stage_id: u32,
    #[prost(uint32, tag = "14")]
    pub battle_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phhkombgppk {
    #[prost(enumeration = "AvatarType", tag = "6")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "4")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub cpmncmgncek: u32,
}
/// Obf: NGJLLIPIIEA
#[derive(proto_derive::CmdID)]
#[cmdid(7526)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContentPackageGetDataCsReq {}
/// Obf: OMIGANNPOJA
#[derive(proto_derive::CmdID)]
#[cmdid(7537)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContentPackageGetDataScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub data: ::core::option::Option<PackageData>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContentInfo {
    #[prost(enumeration = "ContentPackageStatus", tag = "6")]
    pub status: i32,
    #[prost(uint32, tag = "11")]
    pub content_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PackageData {
    #[prost(message, repeated, tag = "1")]
    pub info_list: ::prost::alloc::vec::Vec<ContentInfo>,
    #[prost(uint32, tag = "10")]
    pub nklobnhgfhb: u32,
}
/// Obf: BAFENJAPGCK
#[derive(proto_derive::CmdID)]
#[cmdid(7541)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContentPackageSyncDataScNotify {
    #[prost(message, optional, tag = "4")]
    pub data: ::core::option::Option<PackageData>,
}
/// Obf: PGBAFKCKDMJ
#[derive(proto_derive::CmdID)]
#[cmdid(7543)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContentPackageUnlockCsReq {
    #[prost(uint32, tag = "1")]
    pub content_id: u32,
}
/// Obf: PEDJDFLKFLL
#[derive(proto_derive::CmdID)]
#[cmdid(7506)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContentPackageUnlockScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub content_id: u32,
}
/// Obf: CJKIDMMIHKB
#[derive(proto_derive::CmdID)]
#[cmdid(7533)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContentPackageTransferScNotify {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DailyActivityInfo {
    #[prost(uint32, tag = "8")]
    pub world_level: u32,
    #[prost(bool, tag = "13")]
    pub is_has_taken: bool,
    #[prost(uint32, tag = "9")]
    pub daily_active_point: u32,
    #[prost(uint32, tag = "5")]
    pub level: u32,
}
/// Obf: KLEJANCIKIG
#[derive(proto_derive::CmdID)]
#[cmdid(3301)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeApRewardCsReq {
    #[prost(uint32, tag = "13")]
    pub level: u32,
}
/// Obf: DFANCHBCHGC
#[derive(proto_derive::CmdID)]
#[cmdid(3368)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeApRewardScRsp {
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: EKGDCAICJPH
#[derive(proto_derive::CmdID)]
#[cmdid(3358)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetDailyActiveInfoCsReq {}
/// Obf: COPNLCKMLEC
#[derive(proto_derive::CmdID)]
#[cmdid(3324)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetDailyActiveInfoScRsp {
    #[prost(message, repeated, tag = "2")]
    pub daily_active_level_list: ::prost::alloc::vec::Vec<DailyActivityInfo>,
    #[prost(uint32, repeated, tag = "15")]
    pub daily_active_quest_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub daily_active_point: u32,
}
/// Obf: BLOBJAJFLKH
#[derive(proto_derive::CmdID)]
#[cmdid(3330)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DailyActiveInfoNotify {
    #[prost(message, repeated, tag = "3")]
    pub daily_active_level_list: ::prost::alloc::vec::Vec<DailyActivityInfo>,
    #[prost(uint32, tag = "6")]
    pub daily_active_point: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub daily_active_quest_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HPAJNLOKJNA
#[derive(proto_derive::CmdID)]
#[cmdid(3356)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeAllApRewardCsReq {}
/// Obf: KJECLEPJJCE
#[derive(proto_derive::CmdID)]
#[cmdid(3397)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeAllApRewardScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub fbkccpkieia: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DrinkMakerGuest {
    #[prost(uint32, tag = "3")]
    pub faith: u32,
    #[prost(uint32, repeated, tag = "8")]
    pub unlocked_favor_tag_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub guest_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eekfecdihje {
    #[prost(uint32, tag = "14")]
    pub odmphfaniee: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub dbpgefglfjj: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub jiblnlhcnkd: u32,
    #[prost(uint32, tag = "6")]
    pub kidbbfghecn: u32,
    #[prost(uint32, tag = "12")]
    pub dgppffkihoc: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mflpamafjnc {
    #[prost(uint32, tag = "11")]
    pub kcfpiecmgbd: u32,
    #[prost(bool, tag = "2")]
    pub is_success: bool,
}
/// Obf: CILOJNNLNFK
#[derive(proto_derive::CmdID)]
#[cmdid(6997)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetDrinkMakerDataCsReq {}
/// Obf: AHKIKIHJOOP
#[derive(proto_derive::CmdID)]
#[cmdid(6988)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetDrinkMakerDataScRsp {
    #[prost(message, optional, tag = "11")]
    pub boinombhpcl: ::core::option::Option<Eekfecdihje>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "4")]
    pub hepalniojnp: u32,
    #[prost(message, repeated, tag = "15")]
    pub pjkibodpcki: ::prost::alloc::vec::Vec<DrinkMakerGuest>,
    #[prost(uint32, repeated, tag = "14")]
    pub pcnnpejegef: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "7")]
    pub level: u32,
    #[prost(uint32, tag = "3")]
    pub amefgbicgdi: u32,
    #[prost(uint32, tag = "12")]
    pub dhakofagdof: u32,
    #[prost(uint32, tag = "6")]
    pub eaolmhoaaml: u32,
    #[prost(uint32, tag = "2")]
    pub exp: u32,
}
/// Obf: KBFOHKHKANJ
#[derive(proto_derive::CmdID)]
#[cmdid(6992)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MakeDrinkCsReq {
    #[prost(uint32, tag = "1")]
    pub eaolmhoaaml: u32,
    #[prost(message, optional, tag = "2")]
    pub lpmcgnjlbgd: ::core::option::Option<Eekfecdihje>,
}
/// Obf: MakeDrinkScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(6982)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MakeDrinkScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub next_chat_id: u32,
    #[prost(bool, tag = "8")]
    pub is_succ: bool,
}
/// Obf: MIBAMEIGMED
#[derive(proto_derive::CmdID)]
#[cmdid(6984)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EndDrinkMakerSequenceCsReq {}
/// Obf: EndDrinkMakerSequenceScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(6981)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EndDrinkMakerSequenceScRsp {
    #[prost(uint32, tag = "13")]
    pub level: u32,
    #[prost(uint32, tag = "6")]
    pub exp: u32,
    #[prost(message, repeated, tag = "1")]
    pub request_list: ::prost::alloc::vec::Vec<Mflpamafjnc>,
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "12")]
    pub guest: ::core::option::Option<DrinkMakerGuest>,
    #[prost(uint32, tag = "10")]
    pub tips: u32,
    #[prost(uint32, tag = "7")]
    pub next_sequence_id: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: OHIGLDPPJHI
#[derive(proto_derive::CmdID)]
#[cmdid(6999)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MakeMissionDrinkCsReq {
    #[prost(bool, tag = "3")]
    pub jgeaegmhdoc: bool,
    #[prost(uint32, tag = "15")]
    pub kcfpiecmgbd: u32,
    #[prost(message, optional, tag = "13")]
    pub lpmcgnjlbgd: ::core::option::Option<Eekfecdihje>,
}
/// Obf: MakeMissionDrinkScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(6994)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MakeMissionDrinkScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(bool, tag = "15")]
    pub is_save: bool,
    #[prost(bool, tag = "4")]
    pub is_succ: bool,
    #[prost(message, optional, tag = "6")]
    pub custom_drink: ::core::option::Option<Eekfecdihje>,
}
/// Obf: DLDNKDIKPBO
#[derive(proto_derive::CmdID)]
#[cmdid(6995)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DrinkMakerDayEndScNotify {
    #[prost(uint32, tag = "11")]
    pub ecilicnolfn: u32,
}
/// Obf: MIGGMONDLHO
#[derive(proto_derive::CmdID)]
#[cmdid(6986)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DrinkMakerChallengeCsReq {
    #[prost(message, optional, tag = "8")]
    pub lpmcgnjlbgd: ::core::option::Option<Eekfecdihje>,
    #[prost(uint32, tag = "15")]
    pub challenge_id: u32,
}
/// Obf: BKMIEADDANJ
#[derive(proto_derive::CmdID)]
#[cmdid(6998)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DrinkMakerChallengeScRsp {
    #[prost(bool, tag = "12")]
    pub is_success: bool,
    #[prost(message, optional, tag = "4")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "6")]
    pub challenge_id: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: KEAHBLFMMAB
#[derive(proto_derive::CmdID)]
#[cmdid(6985)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DrinkMakerUpdateTipsNotify {
    #[prost(uint32, tag = "7")]
    pub amefgbicgdi: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Goahfmlpdmf {
    #[prost(uint32, tag = "8")]
    pub state: u32,
    #[prost(uint32, tag = "11")]
    pub acnpbbnlmie: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kkeaenndmkb {
    #[prost(message, repeated, tag = "6")]
    pub ndpgblaaghk: ::prost::alloc::vec::Vec<Goahfmlpdmf>,
}
/// Obf: IFBIEEKFDJM
#[derive(proto_derive::CmdID)]
#[cmdid(6576)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEraFlipperDataCsReq {}
/// Obf: MGOGBDBOKFB
#[derive(proto_derive::CmdID)]
#[cmdid(6587)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEraFlipperDataScRsp {
    #[prost(message, optional, tag = "1")]
    pub data: ::core::option::Option<Kkeaenndmkb>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: AAMKEPIPNGO
#[derive(proto_derive::CmdID)]
#[cmdid(6591)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangeEraFlipperDataCsReq {
    #[prost(message, optional, tag = "9")]
    pub data: ::core::option::Option<Kkeaenndmkb>,
}
/// Obf: MEHGKNJPOJE
#[derive(proto_derive::CmdID)]
#[cmdid(6593)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangeEraFlipperDataScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub data: ::core::option::Option<Kkeaenndmkb>,
}
/// Obf: FFFNNIALANO
#[derive(proto_derive::CmdID)]
#[cmdid(6556)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResetEraFlipperDataCsReq {
    #[prost(bool, tag = "15")]
    pub pahmagpfddj: bool,
}
/// Obf: JIOJIJLGGOD
#[derive(proto_derive::CmdID)]
#[cmdid(6583)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResetEraFlipperDataScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(bool, tag = "5")]
    pub pahmagpfddj: bool,
    #[prost(message, optional, tag = "4")]
    pub data: ::core::option::Option<Kkeaenndmkb>,
}
/// Obf: MCDHIAJANIH
#[derive(proto_derive::CmdID)]
#[cmdid(6557)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterEraFlipperRegionCsReq {
    #[prost(uint32, tag = "9")]
    pub state: u32,
    #[prost(uint32, tag = "13")]
    pub acnpbbnlmie: u32,
}
/// Obf: CEPMIOIMPAP
#[derive(proto_derive::CmdID)]
#[cmdid(6579)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterEraFlipperRegionScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub acnpbbnlmie: u32,
}
/// Obf: JPPIMNMMJFB
#[derive(proto_derive::CmdID)]
#[cmdid(6575)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EraFlipperDataChangeScNotify {
    #[prost(message, optional, tag = "12")]
    pub data: ::core::option::Option<Kkeaenndmkb>,
    #[prost(uint32, tag = "1")]
    pub floor_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildAvatar {
    #[prost(double, tag = "1")]
    pub damage: f64,
    #[prost(enumeration = "AvatarType", tag = "3")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "4")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildLevelInfo {
    #[prost(uint32, tag = "4")]
    pub cur_game_exp: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub period_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub round_cnt: u32,
    #[prost(message, optional, tag = "6")]
    pub battle_info: ::core::option::Option<EvolveBuildBattleInfo>,
    #[prost(message, repeated, tag = "5")]
    pub avatar_list: ::prost::alloc::vec::Vec<EvolveBuildAvatar>,
    #[prost(message, repeated, tag = "11")]
    pub battle_target_list: ::prost::alloc::vec::Vec<BattleTarget>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ceenlalpdmk {
    #[prost(uint32, tag = "12")]
    pub acjcphifmln: u32,
    #[prost(uint32, tag = "5")]
    pub ceadmdamhmo: u32,
    #[prost(uint32, tag = "4")]
    pub stage_score: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Imgjiebfgpf {
    #[prost(uint32, tag = "7")]
    pub level: u32,
    #[prost(uint32, tag = "4")]
    pub neciljojgan: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ecmmjllhpmd {
    #[prost(uint32, tag = "13")]
    pub acjcphifmln: u32,
    #[prost(bool, tag = "12")]
    pub cadmfghaljg: bool,
    #[prost(uint32, repeated, tag = "14")]
    pub lgdniigephh: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "8")]
    pub najohihmabc: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pdicnbbkfnp {
    #[prost(uint32, tag = "6")]
    pub item_value: u32,
    #[prost(uint32, tag = "7")]
    pub eodgcnafiac: u32,
    #[prost(message, repeated, tag = "10")]
    pub klgheccbhcg: ::prost::alloc::vec::Vec<Ceenlalpdmk>,
    #[prost(uint32, repeated, tag = "2")]
    pub fjocdkifppc: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "4")]
    pub cokdnpeemag: ::prost::alloc::vec::Vec<Imgjiebfgpf>,
    #[prost(bool, tag = "8")]
    pub dehghedinih: bool,
    #[prost(uint32, repeated, tag = "9")]
    pub lmeljcifbdf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub exp: u32,
    #[prost(message, repeated, tag = "11")]
    pub lcjnndgkidp: ::prost::alloc::vec::Vec<Ecmmjllhpmd>,
    #[prost(bool, tag = "12")]
    pub oofhjahfidh: bool,
}
/// Obf: LAMIFJCNFHH
#[derive(proto_derive::CmdID)]
#[cmdid(7126)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildQueryInfoCsReq {}
/// Obf: KHDHBJJEOKB
#[derive(proto_derive::CmdID)]
#[cmdid(7137)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildQueryInfoScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub lmgkmaoicgc: ::core::option::Option<EvolveBuildLevelInfo>,
    #[prost(message, optional, tag = "8")]
    pub omcbcgchlgn: ::core::option::Option<Pdicnbbkfnp>,
}
/// Obf: DNHBALAHPBG
#[derive(proto_derive::CmdID)]
#[cmdid(7141)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildStartLevelCsReq {
    #[prost(message, repeated, tag = "7")]
    pub avatar_list: ::prost::alloc::vec::Vec<EvolveBuildAvatar>,
    #[prost(message, optional, tag = "2")]
    pub jiapjhdlfbj: ::core::option::Option<Kpkkkjpjcpc>,
    #[prost(uint32, tag = "4")]
    pub acjcphifmln: u32,
}
/// Obf: BFIEPMAPCME
#[derive(proto_derive::CmdID)]
#[cmdid(7143)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildStartLevelScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub nopheehjhek: ::core::option::Option<SceneBattleInfo>,
    #[prost(message, optional, tag = "11")]
    pub lmgkmaoicgc: ::core::option::Option<EvolveBuildLevelInfo>,
}
/// Obf: LEAGCOGMOJM
#[derive(proto_derive::CmdID)]
#[cmdid(7106)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildStartStageCsReq {
    #[prost(uint32, tag = "14")]
    pub acjcphifmln: u32,
}
/// Obf: FBEAPHBAIFP
#[derive(proto_derive::CmdID)]
#[cmdid(7133)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildStartStageScRsp {
    #[prost(message, optional, tag = "6")]
    pub nopheehjhek: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub lmgkmaoicgc: ::core::option::Option<EvolveBuildLevelInfo>,
}
/// Obf: BCGILDDNIIH
#[derive(proto_derive::CmdID)]
#[cmdid(7107)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildGiveupCsReq {}
/// Obf: MENHNDFMFKL
#[derive(proto_derive::CmdID)]
#[cmdid(7129)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildGiveupScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub lmgkmaoicgc: ::core::option::Option<EvolveBuildLevelInfo>,
}
/// Obf: KJHBEPOJJCO
#[derive(proto_derive::CmdID)]
#[cmdid(7125)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildLeaveCsReq {}
/// Obf: HAEDIEJIDGC
#[derive(proto_derive::CmdID)]
#[cmdid(7115)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildLeaveScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub lmgkmaoicgc: ::core::option::Option<EvolveBuildLevelInfo>,
}
/// Obf: EvolveBuildFinishScNotify
#[derive(proto_derive::CmdID)]
#[cmdid(7130)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildFinishScNotify {
    #[prost(uint32, tag = "6")]
    pub coin: u32,
    #[prost(uint32, tag = "15")]
    pub score: u32,
    #[prost(uint32, tag = "10")]
    pub wave: u32,
    #[prost(uint32, tag = "1")]
    pub cur_period_type: u32,
    #[prost(bool, tag = "7")]
    pub is_lose: bool,
    #[prost(enumeration = "Dlhcmcnihii", tag = "2")]
    pub battle_result_type: i32,
    #[prost(uint32, tag = "3")]
    pub exp: u32,
    #[prost(message, optional, tag = "5")]
    pub level_info: ::core::option::Option<EvolveBuildLevelInfo>,
    #[prost(uint32, tag = "9")]
    pub level_id: u32,
}
/// Obf: BKBIPBBOBIO
#[derive(proto_derive::CmdID)]
#[cmdid(7102)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildReRandomStageCsReq {
    #[prost(uint32, tag = "13")]
    pub acjcphifmln: u32,
}
/// Obf: BPKNBKMPCFG
#[derive(proto_derive::CmdID)]
#[cmdid(7148)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildReRandomStageScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub jgpbflccijp: ::core::option::Option<Ecmmjllhpmd>,
}
/// Obf: IENKMECLNJM
#[derive(proto_derive::CmdID)]
#[cmdid(7114)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildShopAbilityUpCsReq {
    #[prost(uint32, tag = "1")]
    pub level: u32,
    #[prost(uint32, tag = "2")]
    pub neciljojgan: u32,
}
/// Obf: EPFGDIPDKAO
#[derive(proto_derive::CmdID)]
#[cmdid(7140)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildShopAbilityUpScRsp {
    #[prost(uint32, tag = "3")]
    pub level: u32,
    #[prost(uint32, tag = "15")]
    pub neciljojgan: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: JKBPDBKBNHB
#[derive(proto_derive::CmdID)]
#[cmdid(7110)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildShopAbilityDownCsReq {
    #[prost(uint32, tag = "12")]
    pub level: u32,
    #[prost(uint32, tag = "2")]
    pub neciljojgan: u32,
}
/// Obf: MFFCJHKLKBP
#[derive(proto_derive::CmdID)]
#[cmdid(7135)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildShopAbilityDownScRsp {
    #[prost(uint32, tag = "3")]
    pub level: u32,
    #[prost(uint32, tag = "7")]
    pub neciljojgan: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: JNMGLOFJJPM
#[derive(proto_derive::CmdID)]
#[cmdid(7109)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildTakeExpRewardCsReq {}
/// Obf: LEAJAJBIMIO
#[derive(proto_derive::CmdID)]
#[cmdid(7124)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildTakeExpRewardScRsp {
    #[prost(uint32, tag = "2")]
    pub eodgcnafiac: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: PBKJMDMFLNN
#[derive(proto_derive::CmdID)]
#[cmdid(7101)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildShopAbilityResetCsReq {}
/// Obf: NMGLNOLFPMI
#[derive(proto_derive::CmdID)]
#[cmdid(7121)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildShopAbilityResetScRsp {
    #[prost(message, repeated, tag = "14")]
    pub cokdnpeemag: ::prost::alloc::vec::Vec<Imgjiebfgpf>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub item_value: u32,
}
/// Obf: IHNIHBPEKDK
#[derive(proto_derive::CmdID)]
#[cmdid(7120)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildCoinNotify {
    #[prost(uint32, tag = "12")]
    pub item_value: u32,
}
/// Obf: ALJHGDGANBP
#[derive(proto_derive::CmdID)]
#[cmdid(7139)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildUnlockInfoNotify {
    #[prost(bool, tag = "11")]
    pub dehghedinih: bool,
    #[prost(bool, tag = "4")]
    pub oofhjahfidh: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fjibdhhohmh {
    #[prost(uint32, repeated, tag = "15")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(int64, tag = "4")]
    pub ponadanoaln: i64,
    #[prost(uint32, tag = "14")]
    pub id: u32,
    #[prost(uint32, tag = "11")]
    pub aoedghmhgjj: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kimnfbjceol {
    #[prost(uint32, tag = "7")]
    pub ojfnlmhmlof: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(int64, tag = "12")]
    pub ponadanoaln: i64,
    #[prost(uint32, tag = "10")]
    pub ipgeclelhgj: u32,
    #[prost(uint32, tag = "6")]
    pub id: u32,
    #[prost(uint32, tag = "2")]
    pub fnggnbmofaa: u32,
}
/// Obf: OIEKBHIHCIJ
#[derive(proto_derive::CmdID)]
#[cmdid(2501)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetExpeditionDataCsReq {}
/// Obf: OGHFHDGNKEK
#[derive(proto_derive::CmdID)]
#[cmdid(2568)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetExpeditionDataScRsp {
    #[prost(uint32, tag = "5")]
    pub dipkgomgmoa: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub fjgimkepjob: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "11")]
    pub fnalloldglm: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "6")]
    pub jfjpadlalmd: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "15")]
    pub pageieobhbp: ::prost::alloc::vec::Vec<Fjibdhhohmh>,
    #[prost(message, repeated, tag = "12")]
    pub hjbkdbmgmbd: ::prost::alloc::vec::Vec<Kimnfbjceol>,
}
/// Obf: KPECCFNGJKH
#[derive(proto_derive::CmdID)]
#[cmdid(2558)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptExpeditionCsReq {
    #[prost(message, optional, tag = "15")]
    pub pmhmlhlfgae: ::core::option::Option<Fjibdhhohmh>,
}
/// Obf: MKOOBKEONFO
#[derive(proto_derive::CmdID)]
#[cmdid(2524)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptExpeditionScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub pmhmlhlfgae: ::core::option::Option<Fjibdhhohmh>,
}
/// Obf: BKPNMEKHABD
#[derive(proto_derive::CmdID)]
#[cmdid(2580)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptMultipleExpeditionCsReq {
    #[prost(message, repeated, tag = "1")]
    pub egnpoofacdb: ::prost::alloc::vec::Vec<Fjibdhhohmh>,
}
/// Obf: JBJJBMLBAEE
#[derive(proto_derive::CmdID)]
#[cmdid(2539)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptMultipleExpeditionScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "7")]
    pub ohhgihlnepk: ::prost::alloc::vec::Vec<Fjibdhhohmh>,
}
/// Obf: MLLMLDEONPD
#[derive(proto_derive::CmdID)]
#[cmdid(2530)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CancelExpeditionCsReq {
    #[prost(uint32, tag = "10")]
    pub nnmlockecka: u32,
}
/// Obf: CKFBOEBNOFJ
#[derive(proto_derive::CmdID)]
#[cmdid(2556)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CancelExpeditionScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "8")]
    pub nnmlockecka: u32,
}
/// Obf: CICAAONIKLP
#[derive(proto_derive::CmdID)]
#[cmdid(2597)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeExpeditionRewardCsReq {
    #[prost(uint32, tag = "15")]
    pub nnmlockecka: u32,
}
/// Obf: MJAPIHCEOJM
#[derive(proto_derive::CmdID)]
#[cmdid(2576)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeExpeditionRewardScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "10")]
    pub nnmlockecka: u32,
    #[prost(message, optional, tag = "7")]
    pub pehcdfaeefk: ::core::option::Option<ItemList>,
}
/// Obf: KLPCGCINMKC
#[derive(proto_derive::CmdID)]
#[cmdid(2596)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMultipleExpeditionRewardCsReq {
    #[prost(uint32, repeated, tag = "15")]
    pub ijajdhkgnkl: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IKDCPJGPIFK
#[derive(proto_derive::CmdID)]
#[cmdid(2523)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMultipleExpeditionRewardScRsp {
    #[prost(uint32, repeated, tag = "9")]
    pub pppbklohckk: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub pehcdfaeefk: ::core::option::Option<ItemList>,
    #[prost(message, repeated, tag = "12")]
    pub lfbfmochjbl: ::prost::alloc::vec::Vec<ItemList>,
    #[prost(message, repeated, tag = "8")]
    pub lblidldbobm: ::prost::alloc::vec::Vec<ItemList>,
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: BODEAMBDFDH
#[derive(proto_derive::CmdID)]
#[cmdid(2528)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExpeditionDataChangeScNotify {
    #[prost(uint32, tag = "1")]
    pub dipkgomgmoa: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub fnalloldglm: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "10")]
    pub pageieobhbp: ::prost::alloc::vec::Vec<Fjibdhhohmh>,
    #[prost(uint32, repeated, tag = "4")]
    pub jfjpadlalmd: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "8")]
    pub hjbkdbmgmbd: ::prost::alloc::vec::Vec<Kimnfbjceol>,
}
/// Obf: MPIHHIBDOHO
#[derive(proto_derive::CmdID)]
#[cmdid(2511)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptActivityExpeditionCsReq {
    #[prost(message, optional, tag = "3")]
    pub lgkjlfjgoje: ::core::option::Option<Kimnfbjceol>,
}
/// Obf: OMDOBPBPOLA
#[derive(proto_derive::CmdID)]
#[cmdid(2505)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptActivityExpeditionScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub lgkjlfjgoje: ::core::option::Option<Kimnfbjceol>,
}
/// Obf: JMFIHJAIMAD
#[derive(proto_derive::CmdID)]
#[cmdid(2514)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CancelActivityExpeditionCsReq {
    #[prost(uint32, tag = "12")]
    pub mpgemlglhbh: u32,
}
/// Obf: LNBBELACOID
#[derive(proto_derive::CmdID)]
#[cmdid(2549)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CancelActivityExpeditionScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "2")]
    pub mpgemlglhbh: u32,
}
/// Obf: PNOEHDKCDCP
#[derive(proto_derive::CmdID)]
#[cmdid(2522)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeActivityExpeditionRewardCsReq {
    #[prost(uint32, tag = "7")]
    pub mpgemlglhbh: u32,
}
/// Obf: LOAMIMDLJNC
#[derive(proto_derive::CmdID)]
#[cmdid(2547)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeActivityExpeditionRewardScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub pehcdfaeefk: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "10")]
    pub score: u32,
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "13")]
    pub mpgemlglhbh: u32,
}
/// Obf: MAFGCPMGAII
#[derive(proto_derive::CmdID)]
#[cmdid(2512)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMultipleActivityExpeditionRewardCsReq {
    #[prost(uint32, repeated, tag = "11")]
    pub gomdmnhmmnh: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmnjmingahj {
    #[prost(uint32, tag = "1")]
    pub mpgemlglhbh: u32,
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "4")]
    pub score: u32,
    #[prost(message, optional, tag = "12")]
    pub pehcdfaeefk: ::core::option::Option<ItemList>,
}
/// Obf: ACBFOFDKOFJ
#[derive(proto_derive::CmdID)]
#[cmdid(2517)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMultipleActivityExpeditionRewardScRsp {
    #[prost(uint32, repeated, tag = "3")]
    pub jieeelikijm: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "9")]
    pub cdndfceedco: ::prost::alloc::vec::Vec<Mmnjmingahj>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gcaiemmcpdh {
    #[prost(message, repeated, tag = "15")]
    pub avatar_list: ::prost::alloc::vec::Vec<Kjmfeockcml>,
    #[prost(uint32, repeated, tag = "11")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fhblgmpmiie {
    #[prost(uint32, repeated, tag = "3")]
    pub njngbpjemcl: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "2")]
    pub hkmmnfghfpb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "11")]
    pub edhnakfofgj: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub bejcaldilnc: u32,
    #[prost(map = "uint32, uint32", tag = "14")]
    pub jgajkoefgpc: ::std::collections::HashMap<u32, u32>,
    #[prost(map = "uint32, message", tag = "15")]
    pub gblooeppgdm: ::std::collections::HashMap<u32, Gcaiemmcpdh>,
    #[prost(uint32, repeated, tag = "13")]
    pub amdhncjjoph: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CLJEPFDCHON
#[derive(proto_derive::CmdID)]
#[cmdid(4901)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFantasticStoryActivityDataCsReq {
    #[prost(uint32, tag = "13")]
    pub bejcaldilnc: u32,
}
/// Obf: NAOJJABOCOJ
#[derive(proto_derive::CmdID)]
#[cmdid(4968)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFantasticStoryActivityDataScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "7")]
    pub fpepicfcffm: ::core::option::Option<Fhblgmpmiie>,
}
/// Obf: BFBBJFNLFDF
#[derive(proto_derive::CmdID)]
#[cmdid(4958)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishChapterScNotify {
    #[prost(message, optional, tag = "3")]
    pub fpepicfcffm: ::core::option::Option<Fhblgmpmiie>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kjmfeockcml {
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    #[prost(enumeration = "AvatarType", tag = "6")]
    pub avatar_type: i32,
}
/// Obf: LAHJHNKHPMD
#[derive(proto_derive::CmdID)]
#[cmdid(4924)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterFantasticStoryActivityStageCsReq {
    #[prost(uint32, tag = "6")]
    pub bejcaldilnc: u32,
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<Kjmfeockcml>,
    #[prost(uint32, tag = "7")]
    pub battle_id: u32,
    #[prost(uint32, repeated, tag = "8")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MCHENFGFKNN
#[derive(proto_derive::CmdID)]
#[cmdid(4930)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterFantasticStoryActivityStageScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub bejcaldilnc: u32,
    #[prost(uint32, tag = "9")]
    pub battle_id: u32,
    #[prost(message, optional, tag = "15")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: AOJIAEAKEBH
#[derive(proto_derive::CmdID)]
#[cmdid(4956)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FantasticStoryActivityBattleEndScNotify {
    #[prost(uint32, tag = "9")]
    pub bejcaldilnc: u32,
    #[prost(uint32, tag = "3")]
    pub battle_id: u32,
    #[prost(uint32, tag = "6")]
    pub pkklpbbnnce: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Okcndieklpm {
    #[prost(uint32, tag = "15")]
    pub nlpklpccjpl: u32,
    #[prost(uint32, tag = "10")]
    pub jbolaafdkan: u32,
    #[prost(enumeration = "Pmnfdjcllgb", tag = "11")]
    pub plikadkklgd: i32,
}
/// Obf: OIMCKJDFFKE
#[derive(proto_derive::CmdID)]
#[cmdid(7156)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFeverTimeActivityDataCsReq {}
/// Obf: FGENJLKFAAN
#[derive(proto_derive::CmdID)]
#[cmdid(7155)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFeverTimeActivityDataScRsp {
    #[prost(message, repeated, tag = "11")]
    pub caaejfijidj: ::prost::alloc::vec::Vec<Okcndieklpm>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: KGMMHKFPJMG
#[derive(proto_derive::CmdID)]
#[cmdid(7151)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeverTimeActivityBattleEndScNotify {
    #[prost(uint32, tag = "11")]
    pub id: u32,
    #[prost(uint32, tag = "12")]
    pub hoehiobiiej: u32,
    #[prost(enumeration = "Pmnfdjcllgb", tag = "13")]
    pub lfjkkfgpkdm: i32,
    #[prost(uint32, tag = "4")]
    pub fhfmfmlllgd: u32,
}
/// Obf: IHBFKMBMBEE
#[derive(proto_derive::CmdID)]
#[cmdid(7159)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterFeverTimeActivityStageCsReq {
    #[prost(uint32, tag = "6")]
    pub ffinmbacahh: u32,
    #[prost(uint32, tag = "15")]
    pub gcjeicifjgi: u32,
    #[prost(message, repeated, tag = "13")]
    pub avatar_list: ::prost::alloc::vec::Vec<Bpdfjaaeofo>,
    #[prost(uint32, tag = "5")]
    pub id: u32,
}
/// Obf: BJAHJOGMEND
#[derive(proto_derive::CmdID)]
#[cmdid(7158)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterFeverTimeActivityStageScRsp {
    #[prost(message, optional, tag = "8")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "12")]
    pub id: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: IOENCAFKENL
#[derive(proto_derive::CmdID)]
#[cmdid(30001)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightEnterCsReq {
    #[prost(uint32, tag = "13")]
    pub icmfpnpijjf: u32,
    #[prost(uint64, tag = "3")]
    pub kpkdnmdajgl: u64,
    #[prost(uint32, tag = "8")]
    pub fgojlpaejec: u32,
    #[prost(string, tag = "7")]
    pub aokcmmpfgbc: ::prost::alloc::string::String,
    #[prost(uint32, tag = "5")]
    pub uid: u32,
    #[prost(uint32, tag = "1")]
    pub client_res_version: u32,
    #[prost(uint32, tag = "4")]
    pub mkiniofgiag: u32,
    #[prost(uint32, tag = "6")]
    pub platform_type: u32,
}
/// Obf: AFCPBFPGGEI
#[derive(proto_derive::CmdID)]
#[cmdid(30068)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightEnterScRsp {
    #[prost(uint64, tag = "4")]
    pub secret_key_seed: u64,
    #[prost(bool, tag = "7")]
    pub jlpkeobincp: bool,
    #[prost(uint32, tag = "9")]
    pub mkiniofgiag: u32,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint64, tag = "5")]
    pub server_timestamp_ms: u64,
}
/// Obf: NBMHOFJAPJO
#[derive(proto_derive::CmdID)]
#[cmdid(30058)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightLeaveScNotify {
    #[prost(uint32, tag = "6")]
    pub cagjmmmfdli: u32,
}
/// Obf: FKGGCDCILNB
#[derive(proto_derive::CmdID)]
#[cmdid(30024)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightKickOutScNotify {
    #[prost(enumeration = "Dkiifbicieg", tag = "15")]
    pub mglldoifgnd: i32,
}
/// Obf: EJLIFAJIAEF
#[derive(proto_derive::CmdID)]
#[cmdid(30030)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightHeartBeatCsReq {
    #[prost(uint64, tag = "5")]
    pub client_time_ms: u64,
}
/// Obf: FOKGAFGKBHJ
#[derive(proto_derive::CmdID)]
#[cmdid(30056)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightHeartBeatScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint64, tag = "10")]
    pub server_time_ms: u64,
    #[prost(uint64, tag = "1")]
    pub client_time_ms: u64,
}
/// Obf: GNFGCANGLHJ
#[derive(proto_derive::CmdID)]
#[cmdid(30097)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightSessionStopScNotify {
    #[prost(message, optional, tag = "12")]
    pub pfffjngnpom: ::core::option::Option<Ppggkmdaoea>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightActivityGroup {
    #[prost(uint32, tag = "4")]
    pub passed_max_difficulty_level: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub taken_difficulty_level_reward_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "7")]
    pub endless_max_wave: u32,
    #[prost(uint32, tag = "10")]
    pub group_id: u32,
}
/// Obf: NGCDAFKKFPC
#[derive(proto_derive::CmdID)]
#[cmdid(3601)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFightActivityDataCsReq {}
/// Obf: HCKIMJDGKIG
#[derive(proto_derive::CmdID)]
#[cmdid(3668)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFightActivityDataScRsp {
    #[prost(map = "uint32, uint32", tag = "2")]
    pub dgnfcmdjopa: ::std::collections::HashMap<u32, u32>,
    #[prost(bool, tag = "10")]
    pub kaiompfbgkl: bool,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "12")]
    pub groups: ::prost::alloc::vec::Vec<FightActivityGroup>,
    #[prost(uint32, tag = "11")]
    pub world_level: u32,
}
/// Obf: OBIEGBGBACI
#[derive(proto_derive::CmdID)]
#[cmdid(3658)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightActivityDataChangeScNotify {
    #[prost(message, repeated, tag = "6")]
    pub groups: ::prost::alloc::vec::Vec<FightActivityGroup>,
    #[prost(map = "uint32, uint32", tag = "8")]
    pub dgnfcmdjopa: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Npedhhcklia {
    #[prost(enumeration = "AvatarType", tag = "15")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "10")]
    pub avatar_id: u32,
}
/// Obf: GGFJFHPNCEJ
#[derive(proto_derive::CmdID)]
#[cmdid(3624)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterFightActivityStageCsReq {
    #[prost(uint32, repeated, tag = "7")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub nedfibonlkb: u32,
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
    #[prost(message, repeated, tag = "11")]
    pub fopnlgbgagh: ::prost::alloc::vec::Vec<Npedhhcklia>,
    #[prost(uint32, repeated, tag = "1")]
    pub item_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HPKCEGKMPOI
#[derive(proto_derive::CmdID)]
#[cmdid(3630)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterFightActivityStageScRsp {
    #[prost(uint32, tag = "2")]
    pub group_id: u32,
    #[prost(uint32, tag = "14")]
    pub nedfibonlkb: u32,
    #[prost(message, optional, tag = "8")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: PLLLPGHMPNF
#[derive(proto_derive::CmdID)]
#[cmdid(3656)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeFightActivityRewardCsReq {
    #[prost(uint32, tag = "1")]
    pub group_id: u32,
    #[prost(uint32, tag = "15")]
    pub nedfibonlkb: u32,
}
/// Obf: EJHMPNBEJLG
#[derive(proto_derive::CmdID)]
#[cmdid(3697)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeFightActivityRewardScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "1")]
    pub nedfibonlkb: u32,
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iklnilkpena {
    #[prost(uint32, tag = "4")]
    pub aeieojgcmmo: u32,
    #[prost(uint32, tag = "2")]
    pub challenge_id: u32,
    #[prost(uint32, tag = "10")]
    pub jbolaafdkan: u32,
    #[prost(enumeration = "Hgdapjpkffb", tag = "3")]
    pub plikadkklgd: i32,
}
/// Obf: OPIDGKKKBFP
#[derive(proto_derive::CmdID)]
#[cmdid(7276)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFightFestDataCsReq {}
/// Obf: CKNPNLGPAPP
#[derive(proto_derive::CmdID)]
#[cmdid(7287)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFightFestDataScRsp {
    #[prost(message, repeated, tag = "4")]
    pub challenge_list: ::prost::alloc::vec::Vec<Iklnilkpena>,
    #[prost(uint32, tag = "1")]
    pub item_value: u32,
    #[prost(uint32, tag = "15")]
    pub score: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub mfgonhjgipp: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afodmejodlg {
    #[prost(uint32, tag = "14")]
    pub id: u32,
    #[prost(enumeration = "AvatarType", tag = "15")]
    pub avatar_type: i32,
}
/// Obf: IEGCIHAEMFK
#[derive(proto_derive::CmdID)]
#[cmdid(7291)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartFightFestCsReq {
    #[prost(uint32, repeated, tag = "9")]
    pub mfgonhjgipp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub id: u32,
    #[prost(uint32, tag = "7")]
    pub event_id: u32,
    #[prost(message, repeated, tag = "15")]
    pub avatar_list: ::prost::alloc::vec::Vec<Afodmejodlg>,
    #[prost(enumeration = "Aploagdibki", tag = "13")]
    pub slot: i32,
}
/// Obf: JDJAJJGBGHA
#[derive(proto_derive::CmdID)]
#[cmdid(7293)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartFightFestScRsp {
    #[prost(uint32, tag = "11")]
    pub id: u32,
    #[prost(uint32, tag = "3")]
    pub event_id: u32,
    #[prost(message, optional, tag = "6")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(enumeration = "Aploagdibki", tag = "1")]
    pub slot: i32,
}
/// Obf: EEGLBGDIILH
#[derive(proto_derive::CmdID)]
#[cmdid(7256)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightFestScoreUpdateNotify {
    #[prost(uint32, tag = "8")]
    pub score: u32,
    #[prost(uint32, tag = "13")]
    pub gnpkpljlabm: u32,
}
/// Obf: DKGGEJBDFBO
#[derive(proto_derive::CmdID)]
#[cmdid(7283)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightFestUnlockSkillNotify {
    #[prost(uint32, tag = "14")]
    pub ejjehjmmbgj: u32,
}
/// Obf: EMBLJKGDDMB
#[derive(proto_derive::CmdID)]
#[cmdid(7257)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightFestUpdateChallengeRecordNotify {
    #[prost(uint32, tag = "13")]
    pub challenge_id: u32,
    #[prost(enumeration = "Hgdapjpkffb", tag = "6")]
    pub fkpepbmjhkn: i32,
    #[prost(uint32, tag = "1")]
    pub hoehiobiiej: u32,
    #[prost(enumeration = "Hgdapjpkffb", tag = "2")]
    pub rank: i32,
    #[prost(uint32, tag = "11")]
    pub jbolaafdkan: u32,
}
/// Obf: ODLIIOLEIAK
#[derive(proto_derive::CmdID)]
#[cmdid(7279)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightFestUpdateCoinNotify {
    #[prost(uint32, tag = "11")]
    pub item_value: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mekdnikfdna {
    #[prost(uint32, tag = "10")]
    pub ognepbfpilh: u32,
    #[prost(uint32, tag = "5")]
    pub score: u32,
    #[prost(uint32, tag = "7")]
    pub rank: u32,
    #[prost(uint32, tag = "9")]
    pub ldnbeidjbhi: u32,
    #[prost(bool, tag = "11")]
    pub hnjfffjdgne: bool,
    #[prost(uint32, tag = "6")]
    pub nmlffogbpoc: u32,
    #[prost(enumeration = "Nppnfppenmc", tag = "3")]
    pub state: i32,
    #[prost(uint32, tag = "1")]
    pub hp: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kldmjemimcn {
    #[prost(uint64, tag = "8")]
    pub mcokhhfpbpj: u64,
    #[prost(uint32, tag = "9")]
    pub danccaojljn: u32,
    #[prost(message, optional, tag = "14")]
    pub mejdmjikimo: ::core::option::Option<Mdohafbeepk>,
    #[prost(enumeration = "Dgfcbofaoia", tag = "7")]
    pub jgibhfjmobe: i32,
    #[prost(int32, tag = "15")]
    pub hcbbhckjnji: i32,
    #[prost(message, repeated, tag = "3")]
    pub cpkpincceip: ::prost::alloc::vec::Vec<Mekdnikfdna>,
    #[prost(uint32, repeated, tag = "1")]
    pub hbanccokofc: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jjaepdihcnl {
    #[prost(uint32, tag = "15")]
    pub heckmdlolag: u32,
    #[prost(uint32, tag = "6")]
    pub fpbedncocho: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mdohafbeepk {
    #[prost(uint32, tag = "2")]
    pub najlpnlnoje: u32,
    #[prost(uint32, tag = "1")]
    pub midejnjcaia: u32,
    #[prost(message, optional, tag = "3")]
    pub niaeghjlnmb: ::core::option::Option<Cdimemfjjfp>,
    #[prost(uint32, tag = "7")]
    pub energy_info: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub aihmghajgkj: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "11")]
    pub pkdpiemgibe: u32,
    #[prost(enumeration = "Nppnfppenmc", tag = "12")]
    pub kjpmohfiilo: i32,
    #[prost(uint32, tag = "5")]
    pub gdfndpmjdaf: u32,
    #[prost(uint32, tag = "14")]
    pub score: u32,
    #[prost(uint32, tag = "8")]
    pub anhfjkepcgf: u32,
    #[prost(uint32, tag = "9")]
    pub cur_hp: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Egcddlkhfeb {
    #[prost(enumeration = "Bfilliobmfn", tag = "5")]
    pub olkndfjbdgj: i32,
    #[prost(message, optional, tag = "7")]
    pub mlpcfgdafnd: ::core::option::Option<Mdohafbeepk>,
}
/// Obf: JGMOEPGHEMC
#[derive(proto_derive::CmdID)]
#[cmdid(30101)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightMatch3DataCsReq {
    #[prost(int32, tag = "8")]
    pub player_data: i32,
}
/// Obf: HLMOJIFFMBM
#[derive(proto_derive::CmdID)]
#[cmdid(30168)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightMatch3DataScRsp {
    #[prost(message, optional, tag = "15")]
    pub data: ::core::option::Option<Kldmjemimcn>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "4")]
    pub lipjdjpmokb: ::prost::alloc::vec::Vec<Cbbdiomifhd>,
}
/// Obf: HJKLKELKOND
#[derive(proto_derive::CmdID)]
#[cmdid(30158)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightMatch3StartCountDownScNotify {
    #[prost(message, optional, tag = "14")]
    pub data: ::core::option::Option<Kldmjemimcn>,
}
/// Obf: EFPIPLGFIOB
#[derive(proto_derive::CmdID)]
#[cmdid(30124)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightMatch3TurnStartScNotify {
    #[prost(message, optional, tag = "8")]
    pub hkpodflgcdj: ::core::option::Option<Kldmjemimcn>,
}
/// Obf: MAGECDJBPAJ
#[derive(proto_derive::CmdID)]
#[cmdid(30130)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightMatch3TurnEndScNotify {
    #[prost(message, optional, tag = "3")]
    pub hiklobgicmp: ::core::option::Option<Kldmjemimcn>,
    #[prost(message, optional, tag = "5")]
    pub cinlcmhhkko: ::core::option::Option<Kldmjemimcn>,
}
/// Obf: GALEOPDOMKG
#[derive(proto_derive::CmdID)]
#[cmdid(30156)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightMatch3SwapCsReq {
    #[prost(message, optional, tag = "13")]
    pub phnldpokbkl: ::core::option::Option<Jjaepdihcnl>,
    #[prost(message, repeated, tag = "10")]
    pub eckkblnelbm: ::prost::alloc::vec::Vec<Egcddlkhfeb>,
    #[prost(message, optional, tag = "2")]
    pub feclglbfidh: ::core::option::Option<Jjaepdihcnl>,
    #[prost(uint32, tag = "11")]
    pub upgrade_level: u32,
}
/// Obf: CDOAJIMLMGM
#[derive(proto_derive::CmdID)]
#[cmdid(30197)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightMatch3SwapScRsp {
    #[prost(uint32, tag = "4")]
    pub upgrade_level: u32,
    #[prost(message, optional, tag = "5")]
    pub chmaonmmegm: ::core::option::Option<Mdohafbeepk>,
    #[prost(bool, tag = "13")]
    pub pgmgmjdilcl: bool,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: POGGJHOLGEJ
#[derive(proto_derive::CmdID)]
#[cmdid(30176)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightMatch3OpponentDataScNotify {
    #[prost(enumeration = "Nppnfppenmc", tag = "14")]
    pub state: i32,
    #[prost(uint32, tag = "6")]
    pub hp: u32,
    #[prost(uint32, tag = "7")]
    pub score: u32,
    #[prost(uint32, tag = "10")]
    pub nmlffogbpoc: u32,
    #[prost(uint32, tag = "3")]
    pub danccaojljn: u32,
}
/// Obf: IELOFCNMAFK
#[derive(proto_derive::CmdID)]
#[cmdid(30128)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightMatch3ChatCsReq {
    #[prost(uint32, tag = "9")]
    pub habdkbfmkee: u32,
}
/// Obf: HFCOKMNPCDC
#[derive(proto_derive::CmdID)]
#[cmdid(30111)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightMatch3ChatScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub habdkbfmkee: u32,
}
/// Obf: HEPAKJBNHHF
#[derive(proto_derive::CmdID)]
#[cmdid(30105)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightMatch3ChatScNotify {
    #[prost(uint32, tag = "2")]
    pub habdkbfmkee: u32,
    #[prost(uint32, tag = "3")]
    pub egkpfgnjahn: u32,
}
/// Obf: KPIFKJHIEJK
#[derive(proto_derive::CmdID)]
#[cmdid(30114)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightMatch3ForceUpdateNotify {
    #[prost(message, optional, tag = "2")]
    pub data: ::core::option::Option<Kldmjemimcn>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AssistSimpleInfo {
    #[prost(uint32, tag = "2")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "1")]
    pub pos: u32,
    #[prost(uint32, tag = "15")]
    pub dressed_skin_id: u32,
    #[prost(uint32, tag = "9")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ihkgnjdnalj {
    #[prost(uint32, tag = "8")]
    pub fccdilggoci: u32,
    #[prost(uint32, tag = "7")]
    pub jgmipmdppij: u32,
    #[prost(uint32, tag = "2")]
    pub khcnajokjhj: u32,
    #[prost(uint32, tag = "15")]
    pub group_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kpiglopemcf {
    #[prost(uint32, tag = "4")]
    pub ijhlojefcpm: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phhliogfdek {
    #[prost(uint32, repeated, tag = "4")]
    pub capiccciebo: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "14")]
    pub ijhlojefcpm: u32,
    #[prost(uint32, tag = "2")]
    pub ofgbjcccike: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bcpdfipomap {
    #[prost(message, optional, tag = "1")]
    pub lbhjehfjlnf: ::core::option::Option<Phhliogfdek>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Obihngmnkek {
    #[prost(oneof = "obihngmnkek::Hnioehohnjg", tags = "4, 3")]
    pub hnioehohnjg: ::core::option::Option<obihngmnkek::Hnioehohnjg>,
}
/// Nested message and enum types in `OBIHNGMNKEK`.
pub mod obihngmnkek {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Hnioehohnjg {
        #[prost(message, tag = "4")]
        Loonehfnapc(super::Kpiglopemcf),
        #[prost(message, tag = "3")]
        Daopohamomf(super::Bcpdfipomap),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hiejjbdncnh {
    #[prost(message, optional, tag = "13")]
    pub jfpcpdcflmd: ::core::option::Option<Obihngmnkek>,
    #[prost(message, optional, tag = "2")]
    pub eboomgdgnep: ::core::option::Option<Ihkgnjdnalj>,
    #[prost(enumeration = "Pcahopmikim", tag = "3")]
    pub fgmgpljckpc: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SimpleInfo {
    #[prost(uint32, tag = "11")]
    pub chat_bubble_id: u32,
    #[prost(uint32, tag = "15")]
    pub head_icon: u32,
    #[prost(enumeration = "FriendOnlineStatus", tag = "7")]
    pub online_status: i32,
    #[prost(uint32, tag = "14")]
    pub level: u32,
    #[prost(uint32, tag = "9")]
    pub uid: u32,
    #[prost(string, tag = "1")]
    pub gmalcpnohbf: ::prost::alloc::string::String,
    #[prost(string, tag = "12")]
    pub nickname: ::prost::alloc::string::String,
    #[prost(bool, tag = "5")]
    pub jfgaekjjpie: bool,
    #[prost(enumeration = "PlatformType", tag = "8")]
    pub platform_type: i32,
    #[prost(string, tag = "6")]
    pub akcejfcfban: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "10")]
    pub assist_simple_info: ::prost::alloc::vec::Vec<AssistSimpleInfo>,
    #[prost(string, tag = "3")]
    pub signature: ::prost::alloc::string::String,
    #[prost(int64, tag = "4")]
    pub last_active_time: i64,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DisplayEquipmentInfo {
    #[prost(uint32, tag = "8")]
    pub tid: u32,
    #[prost(uint32, tag = "13")]
    pub rank: u32,
    #[prost(uint32, tag = "5")]
    pub exp: u32,
    #[prost(uint32, tag = "1")]
    pub promotion: u32,
    #[prost(uint32, tag = "12")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DisplayRelicInfo {
    #[prost(uint32, tag = "3")]
    pub slot: u32,
    #[prost(message, repeated, tag = "6")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    #[prost(uint32, tag = "1")]
    pub level: u32,
    #[prost(uint32, tag = "7")]
    pub tid: u32,
    #[prost(uint32, tag = "2")]
    pub exp: u32,
    #[prost(uint32, tag = "13")]
    pub main_affix_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DisplayAvatarDetailInfo {
    #[prost(uint32, tag = "6")]
    pub pos: u32,
    #[prost(uint32, tag = "8")]
    pub promotion: u32,
    #[prost(uint32, tag = "15")]
    pub exp: u32,
    #[prost(message, optional, tag = "3")]
    pub equipment: ::core::option::Option<DisplayEquipmentInfo>,
    #[prost(message, repeated, tag = "5")]
    pub relic_list: ::prost::alloc::vec::Vec<DisplayRelicInfo>,
    #[prost(message, repeated, tag = "1")]
    pub skilltree_list: ::prost::alloc::vec::Vec<AvatarSkillTree>,
    #[prost(uint32, tag = "4")]
    pub level: u32,
    #[prost(uint32, tag = "12")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "9")]
    pub rank: u32,
    #[prost(uint32, tag = "2")]
    pub dressed_skin_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerCollectionInfo {
    #[prost(uint32, tag = "3")]
    pub pgcdmmnncjc: u32,
    #[prost(uint32, tag = "8")]
    pub pjcjnkbeimk: u32,
    #[prost(uint32, tag = "1")]
    pub ljpekedicml: u32,
    #[prost(uint32, tag = "15")]
    pub bdbmikdjlko: u32,
    #[prost(uint32, tag = "11")]
    pub nljifekdphn: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerRecordInfo {
    #[prost(uint32, tag = "3")]
    pub bhfefeodnim: u32,
    #[prost(uint32, tag = "4")]
    pub hknoakgcjbk: u32,
    #[prost(uint32, tag = "5")]
    pub emjdebdmhll: u32,
    #[prost(message, optional, tag = "2")]
    pub collection_info: ::core::option::Option<PlayerCollectionInfo>,
    #[prost(uint32, tag = "10")]
    pub jfpgbkbpbnf: u32,
    #[prost(uint32, tag = "13")]
    pub cfdfmgllico: u32,
    #[prost(uint32, tag = "15")]
    pub fhkkmpddmgo: u32,
    #[prost(uint32, tag = "6")]
    pub gekkndonhlj: u32,
    #[prost(uint32, tag = "12")]
    pub ehbdeijjohk: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerDisplaySettings {
    #[prost(bool, tag = "5")]
    pub kjncckhjfhe: bool,
    #[prost(bool, tag = "11")]
    pub njfmiljofok: bool,
    #[prost(bool, tag = "13")]
    pub aponeidmphl: bool,
    #[prost(bool, tag = "15")]
    pub pbkbglhhkpe: bool,
    #[prost(bool, tag = "12")]
    pub aicnfaobcpi: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Knhlnlngahp {
    #[prost(message, repeated, tag = "4")]
    pub challenge_list: ::prost::alloc::vec::Vec<Ihkgnjdnalj>,
    #[prost(message, optional, tag = "2")]
    pub jfpcpdcflmd: ::core::option::Option<Obihngmnkek>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerDetailInfo {
    #[prost(string, tag = "4")]
    pub gmalcpnohbf: ::prost::alloc::string::String,
    #[prost(bool, tag = "13")]
    pub show_display_avatars: bool,
    #[prost(message, optional, tag = "1880")]
    pub fdfpgmioimm: ::core::option::Option<PlayerDisplaySettings>,
    #[prost(uint32, tag = "7")]
    pub head_icon: u32,
    #[prost(enumeration = "PlatformType", tag = "2")]
    pub platform_type: i32,
    #[prost(uint32, tag = "3")]
    pub kbmgbninfbk: u32,
    #[prost(uint32, tag = "6")]
    pub uid: u32,
    /// TODO
    #[prost(message, repeated, tag = "1226")]
    pub display_avatar_list: ::prost::alloc::vec::Vec<DisplayAvatarDetailInfo>,
    #[prost(uint32, tag = "1")]
    pub level: u32,
    #[prost(uint32, tag = "9")]
    pub ooopbhimnfd: u32,
    #[prost(string, tag = "5")]
    pub nickname: ::prost::alloc::string::String,
    #[prost(uint32, tag = "14")]
    pub world_level: u32,
    #[prost(string, tag = "11")]
    pub akcejfcfban: ::prost::alloc::string::String,
    #[prost(string, tag = "12")]
    pub signature: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "158")]
    pub onkhlhojhgn: ::core::option::Option<Knhlnlngahp>,
    #[prost(bool, tag = "15")]
    pub jfgaekjjpie: bool,
    #[prost(message, optional, tag = "8")]
    pub record_info: ::core::option::Option<PlayerRecordInfo>,
    #[prost(message, repeated, tag = "10")]
    pub assist_avatar_list: ::prost::alloc::vec::Vec<DisplayAvatarDetailInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FriendListInfo {
    #[prost(message, optional, tag = "10")]
    pub simple_info: ::core::option::Option<SimpleInfo>,
    #[prost(message, optional, tag = "3")]
    pub ilchajcffbf: ::core::option::Option<Hiejjbdncnh>,
    #[prost(bool, tag = "7")]
    pub is_marked: bool,
    #[prost(int64, tag = "4")]
    pub sent_time: i64,
    #[prost(enumeration = "PlayingState", tag = "13")]
    pub playing_state: i32,
    #[prost(string, tag = "6")]
    pub friend_name: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FriendApplyInfo {
    #[prost(message, optional, tag = "8")]
    pub simple_info: ::core::option::Option<SimpleInfo>,
    #[prost(int64, tag = "10")]
    pub lffcmnahbdp: i64,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FriendRecommendInfo {
    #[prost(bool, tag = "6")]
    pub jholblpeglj: bool,
    #[prost(message, optional, tag = "9")]
    pub simple_info: ::core::option::Option<SimpleInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lpkdgnbjdem {
    #[prost(message, optional, tag = "2")]
    pub mdhfanlhnma: ::core::option::Option<DisplayAvatarDetailInfo>,
    #[prost(message, optional, tag = "1")]
    pub simple_info: ::core::option::Option<SimpleInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Flcmjahgkfk {
    #[prost(string, tag = "6")]
    pub nickname: ::prost::alloc::string::String,
    #[prost(uint32, tag = "13")]
    pub uid: u32,
    #[prost(string, tag = "9")]
    pub gmalcpnohbf: ::prost::alloc::string::String,
    #[prost(uint32, tag = "14")]
    pub nppphgfenph: u32,
    #[prost(enumeration = "PlatformType", tag = "15")]
    pub platform_type: i32,
    #[prost(string, tag = "7")]
    pub friend_name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "10")]
    pub head_icon: u32,
    #[prost(uint32, tag = "5")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fcnollfgpck {
    #[prost(string, tag = "2")]
    pub friend_name: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "3")]
    pub simple_info: ::core::option::Option<SimpleInfo>,
    #[prost(uint32, tag = "11")]
    pub score: u32,
    #[prost(uint32, tag = "1")]
    pub highest_difficulty: u32,
    #[prost(message, repeated, tag = "10")]
    pub lineup_list: ::prost::alloc::vec::Vec<ChallengeLineup>,
    #[prost(uint32, tag = "4")]
    pub buff_one: u32,
    #[prost(uint32, tag = "5")]
    pub buff_two: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Chkiicnapha {
    #[prost(uint32, tag = "9")]
    pub khcnajokjhj: u32,
    #[prost(uint32, tag = "2")]
    pub group_id: u32,
    #[prost(oneof = "chkiicnapha::ChallengeType", tags = "1882, 1695, 1756")]
    pub challenge_type: ::core::option::Option<chkiicnapha::ChallengeType>,
}
/// Nested message and enum types in `CHKIICNAPHA`.
pub mod chkiicnapha {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum ChallengeType {
        #[prost(message, tag = "1882")]
        MemoryStats(super::ChallengeMemoryStats),
        #[prost(message, tag = "1695")]
        StoryStats(super::ChallengeStoryStats),
        #[prost(message, tag = "1756")]
        BossStats(super::ChallengeBossStats),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ognldadpjfo {
    #[prost(message, optional, tag = "8")]
    pub finish_info: ::core::option::Option<Imcccciccko>,
    #[prost(uint32, tag = "9")]
    pub map_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eaimkomhkhd {
    #[prost(uint32, tag = "10")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "9")]
    pub ggdiibcdobb: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Angoamadoma {
    #[prost(uint32, tag = "7")]
    pub jbloklcpafn: u32,
    #[prost(uint32, tag = "5")]
    pub ofgbjcccike: u32,
    #[prost(uint32, tag = "8")]
    pub ijhlojefcpm: u32,
    #[prost(message, optional, tag = "2")]
    pub njnjebodmnl: ::core::option::Option<Jhllljajkep>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ggkbhalpidk {
    #[prost(uint32, tag = "7")]
    pub area_id: u32,
    #[prost(uint32, tag = "15")]
    pub lhbdonjiicc: u32,
    #[prost(uint32, tag = "9")]
    pub imlhfgepcan: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lfjpddcnbkc {
    #[prost(uint32, tag = "14")]
    pub fjhigbbmjdm: u32,
    #[prost(uint32, tag = "3")]
    pub fnmgaohmlim: u32,
    #[prost(uint32, tag = "9")]
    pub area_id: u32,
    #[prost(uint32, tag = "6")]
    pub epljmcapmpc: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nhagpmmcdcf {
    #[prost(uint32, tag = "14")]
    pub oiajancbabp: u32,
    #[prost(uint32, tag = "11")]
    pub onahhamhfdb: u32,
    #[prost(uint32, tag = "3")]
    pub agijkfbcjoc: u32,
    #[prost(uint32, tag = "10")]
    pub area_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Okdbogbabni {
    #[prost(message, optional, tag = "13")]
    pub hdljbadekfi: ::core::option::Option<Nhagpmmcdcf>,
    #[prost(message, optional, tag = "5")]
    pub plccehdnafl: ::core::option::Option<Ggkbhalpidk>,
    #[prost(message, optional, tag = "12")]
    pub apmjfgkifon: ::core::option::Option<Lfjpddcnbkc>,
    #[prost(oneof = "okdbogbabni::Mblagjjoeff", tags = "586, 166")]
    pub mblagjjoeff: ::core::option::Option<okdbogbabni::Mblagjjoeff>,
}
/// Nested message and enum types in `OKDBOGBABNI`.
pub mod okdbogbabni {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mblagjjoeff {
        #[prost(message, tag = "586")]
        Edgfedjbahf(super::Ognldadpjfo),
        #[prost(message, tag = "166")]
        Opfpolcgmed(super::Angoamadoma),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iojhjahimhm {
    #[prost(uint32, tag = "11")]
    pub area_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jienkfadche {
    #[prost(uint32, tag = "11")]
    pub njoiciopbnh: u32,
    #[prost(uint32, tag = "14")]
    pub area_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Meehcbgdbea {
    #[prost(uint32, tag = "15")]
    pub challenge_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dhahakmpnaf {
    #[prost(enumeration = "Dddefpdmkkl", tag = "13")]
    pub ejhmnkhepfa: i32,
    #[prost(int64, tag = "4")]
    pub time: i64,
    #[prost(
        oneof = "dhahakmpnaf::Paecdoklpfg",
        tags = "506, 1204, 1023, 1385, 398, 209, 151"
    )]
    pub paecdoklpfg: ::core::option::Option<dhahakmpnaf::Paecdoklpfg>,
}
/// Nested message and enum types in `DHAHAKMPNAF`.
pub mod dhahakmpnaf {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Paecdoklpfg {
        #[prost(message, tag = "506")]
        Liibbggehfp(super::Iojhjahimhm),
        #[prost(message, tag = "1204")]
        Ikffobamghj(super::Meehcbgdbea),
        #[prost(uint32, tag = "1023")]
        AvatarId(u32),
        #[prost(uint32, tag = "1385")]
        Mdmgkhlhiin(u32),
        #[prost(uint32, tag = "398")]
        Ckknnhmdcog(u32),
        #[prost(message, tag = "209")]
        Ielhlbffagk(super::Jienkfadche),
        #[prost(uint32, tag = "151")]
        ModuleId(u32),
    }
}
/// Obf: LPPOPKEICAN
#[derive(proto_derive::CmdID)]
#[cmdid(2901)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendListInfoCsReq {}
/// Obf: GEDMHDHGEAP
#[derive(proto_derive::CmdID)]
#[cmdid(2968)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendListInfoScRsp {
    #[prost(message, repeated, tag = "10")]
    pub pelmgopehkn: ::prost::alloc::vec::Vec<SimpleInfo>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "1")]
    pub friend_list: ::prost::alloc::vec::Vec<FriendListInfo>,
}
/// Obf: KGLCJPEBPDL
#[derive(proto_derive::CmdID)]
#[cmdid(2958)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlayerDetailInfoCsReq {
    #[prost(uint32, tag = "11")]
    pub uid: u32,
}
/// Obf: BLJKKGNCNNG
#[derive(proto_derive::CmdID)]
#[cmdid(2924)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlayerDetailInfoScRsp {
    #[prost(message, optional, tag = "8")]
    pub player_detail_info: ::core::option::Option<PlayerDetailInfo>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: KBCAJJPFLDL
#[derive(proto_derive::CmdID)]
#[cmdid(2930)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendApplyListInfoCsReq {}
/// Obf: KNFEJCOGNMM
#[derive(proto_derive::CmdID)]
#[cmdid(2956)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendApplyListInfoScRsp {
    #[prost(uint32, repeated, tag = "2")]
    pub send_apply_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "12")]
    pub friend_apply_list: ::prost::alloc::vec::Vec<FriendApplyInfo>,
}
/// Obf: HOGLMIBJAGP
#[derive(proto_derive::CmdID)]
#[cmdid(2997)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ApplyFriendCsReq {
    #[prost(uint32, tag = "13")]
    pub uid: u32,
    #[prost(enumeration = "FriendApplySource", tag = "6")]
    pub source: i32,
}
/// Obf: GHOKGMDLPOO
#[derive(proto_derive::CmdID)]
#[cmdid(2976)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ApplyFriendScRsp {
    #[prost(uint32, tag = "4")]
    pub uid: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: EEMKGEHBLNM
#[derive(proto_derive::CmdID)]
#[cmdid(2928)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncApplyFriendScNotify {
    #[prost(message, optional, tag = "7")]
    pub friend_apply_info: ::core::option::Option<FriendApplyInfo>,
}
/// Obf: IHNFMCAHGFN
#[derive(proto_derive::CmdID)]
#[cmdid(2911)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HandleFriendCsReq {
    #[prost(bool, tag = "14")]
    pub handle_result: bool,
    #[prost(uint32, tag = "12")]
    pub uid: u32,
}
/// Obf: GDKLMAMFKEN
#[derive(proto_derive::CmdID)]
#[cmdid(2905)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HandleFriendScRsp {
    #[prost(bool, tag = "1")]
    pub handle_result: bool,
    #[prost(message, optional, tag = "10")]
    pub handle_friend_info: ::core::option::Option<FriendListInfo>,
    #[prost(uint32, tag = "5")]
    pub uid: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: IFOOAMDBDCK
#[derive(proto_derive::CmdID)]
#[cmdid(2914)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncHandleFriendScNotify {
    #[prost(message, optional, tag = "6")]
    pub handle_friend_info: ::core::option::Option<FriendListInfo>,
    #[prost(uint32, tag = "9")]
    pub uid: u32,
    #[prost(bool, tag = "8")]
    pub handle_result: bool,
}
/// Obf: IECGIIJDBCD
#[derive(proto_derive::CmdID)]
#[cmdid(2949)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteFriendCsReq {
    #[prost(uint32, tag = "15")]
    pub fiocdbipcgb: u32,
    #[prost(uint32, tag = "13")]
    pub uid: u32,
}
/// Obf: HOCJANHPBLI
#[derive(proto_derive::CmdID)]
#[cmdid(2922)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteFriendScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub uid: u32,
}
/// Obf: CLEKCBJMKPD
#[derive(proto_derive::CmdID)]
#[cmdid(2947)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncDeleteFriendScNotify {
    #[prost(uint32, tag = "2")]
    pub uid: u32,
}
/// Obf: KPGFPDMKGBI
#[derive(proto_derive::CmdID)]
#[cmdid(2980)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddBlacklistCsReq {
    #[prost(uint32, tag = "10")]
    pub uid: u32,
}
/// Obf: LBODLIPMMON
#[derive(proto_derive::CmdID)]
#[cmdid(2939)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddBlacklistScRsp {
    #[prost(message, optional, tag = "3")]
    pub black_info: ::core::option::Option<SimpleInfo>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: AEHGONDBHAJ
#[derive(proto_derive::CmdID)]
#[cmdid(2996)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncAddBlacklistScNotify {
    #[prost(uint32, tag = "9")]
    pub uid: u32,
}
/// Obf: BABKADMDHDP
#[derive(proto_derive::CmdID)]
#[cmdid(2923)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendRecommendListInfoCsReq {
    #[prost(bool, tag = "12")]
    pub ahoilnfiieg: bool,
}
/// Obf: PNFFPBIHJJH
#[derive(proto_derive::CmdID)]
#[cmdid(2912)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendRecommendListInfoScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "11")]
    pub friend_recommend_list: ::prost::alloc::vec::Vec<FriendRecommendInfo>,
}
/// Obf: JMICCHOBEEL
#[derive(proto_derive::CmdID)]
#[cmdid(2917)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetFriendRemarkNameCsReq {
    #[prost(uint32, tag = "8")]
    pub uid: u32,
    #[prost(uint32, tag = "12")]
    pub reason: u32,
    #[prost(string, tag = "5")]
    pub friend_name: ::prost::alloc::string::String,
}
/// Obf: IIKBBNDCHBL
#[derive(proto_derive::CmdID)]
#[cmdid(2991)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetFriendRemarkNameScRsp {
    #[prost(string, tag = "13")]
    pub friend_name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "15")]
    pub uid: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: JOMLPKFBNLP
#[derive(proto_derive::CmdID)]
#[cmdid(2918)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReportPlayerCsReq {
    #[prost(uint32, tag = "14")]
    pub uid: u32,
    #[prost(string, tag = "10")]
    pub mimakhaabah: ::prost::alloc::string::String,
    #[prost(uint32, tag = "1")]
    pub ehbcljfpooe: u32,
}
/// Obf: JKPIPGHOCHN
#[derive(proto_derive::CmdID)]
#[cmdid(2995)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReportPlayerScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: DEGBEHAGPKE
#[derive(proto_derive::CmdID)]
#[cmdid(2950)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteBlacklistCsReq {
    #[prost(uint32, tag = "1")]
    pub uid: u32,
}
/// Obf: LHJCOILKDKH
#[derive(proto_derive::CmdID)]
#[cmdid(2948)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteBlacklistScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub uid: u32,
}
/// Obf: NFCFGGLOFHM
#[derive(proto_derive::CmdID)]
#[cmdid(2969)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SearchPlayerCsReq {
    #[prost(bool, tag = "15")]
    pub ahoilnfiieg: bool,
    #[prost(uint32, repeated, tag = "10")]
    pub search_uid_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CDKLHLINJKN
#[derive(proto_derive::CmdID)]
#[cmdid(2920)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SearchPlayerScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub search_uid_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "10")]
    pub search_result_list: ::prost::alloc::vec::Vec<SimpleInfo>,
}
/// Obf: LMHCBMCBJHC
#[derive(proto_derive::CmdID)]
#[cmdid(2992)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAssistListCsReq {
    #[prost(bool, tag = "10")]
    pub ahoilnfiieg: bool,
    #[prost(bool, tag = "11")]
    pub kiboagmojcp: bool,
}
/// Obf: EAJEAKDAKPC
#[derive(proto_derive::CmdID)]
#[cmdid(2970)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAssistListScRsp {
    #[prost(message, repeated, tag = "14")]
    pub giecjkakcko: ::prost::alloc::vec::Vec<Lpkdgnbjdem>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: OHDJHIAEJKK
#[derive(proto_derive::CmdID)]
#[cmdid(2981)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetAssistCsReq {
    #[prost(uint32, tag = "13")]
    pub uid: u32,
    #[prost(uint32, tag = "7")]
    pub avatar_id: u32,
}
/// Obf: KBFGCNFFGAA
#[derive(proto_derive::CmdID)]
#[cmdid(2938)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetAssistScRsp {
    #[prost(uint32, tag = "15")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "8")]
    pub uid: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: BHKAPLNNKJA
#[derive(proto_derive::CmdID)]
#[cmdid(2919)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurAssistCsReq {}
/// Obf: IGKGGOADBKP
#[derive(proto_derive::CmdID)]
#[cmdid(2982)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurAssistScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub dpjbdhelnoe: ::core::option::Option<Lpkdgnbjdem>,
}
/// Obf: HIFKDLLODAL
#[derive(proto_derive::CmdID)]
#[cmdid(2959)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAssistHistoryCsReq {}
/// Obf: EFJIHGJHKBO
#[derive(proto_derive::CmdID)]
#[cmdid(2941)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAssistHistoryScRsp {
    #[prost(uint32, tag = "2")]
    pub omhchjlliif: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub pbfneigopmp: u32,
    #[prost(uint32, tag = "7")]
    pub nfjjapnppkp: u32,
    #[prost(uint32, repeated, tag = "10")]
    pub phplnjfimdc: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FNBHGNIEKBO
#[derive(proto_derive::CmdID)]
#[cmdid(2973)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NewAssistHistoryNotify {
    #[prost(uint32, tag = "12")]
    pub nfjjapnppkp: u32,
}
/// Obf: PFLOBGHELNH
#[derive(proto_derive::CmdID)]
#[cmdid(2940)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeAssistRewardCsReq {}
/// Obf: ABGKAIBFDJD
#[derive(proto_derive::CmdID)]
#[cmdid(2903)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeAssistRewardScRsp {
    #[prost(message, repeated, tag = "9")]
    pub nlcnbiehcoh: ::prost::alloc::vec::Vec<Flcmjahgkfk>,
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: JCHKKENIBJK
#[derive(proto_derive::CmdID)]
#[cmdid(2957)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CurAssistChangedNotify {
    #[prost(message, optional, tag = "13")]
    pub dpjbdhelnoe: ::core::option::Option<Lpkdgnbjdem>,
}
/// Obf: HBOFJGNBFBG
#[derive(proto_derive::CmdID)]
#[cmdid(2913)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlatformPlayerInfoCsReq {
    #[prost(enumeration = "PlatformType", tag = "14")]
    pub platform_type: i32,
    #[prost(string, repeated, tag = "2")]
    pub dnenlchjekg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
/// Obf: ACPKGEEJJFL
#[derive(proto_derive::CmdID)]
#[cmdid(2908)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlatformPlayerInfoScRsp {
    #[prost(message, repeated, tag = "3")]
    pub friend_recommend_list: ::prost::alloc::vec::Vec<SimpleInfo>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: CJOENDLMMEG
#[derive(proto_derive::CmdID)]
#[cmdid(2978)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendLoginInfoCsReq {}
/// Obf: GMJEHFLHLGO
#[derive(proto_derive::CmdID)]
#[cmdid(2967)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendLoginInfoScRsp {
    /// TODO!
    #[prost(uint32, repeated, tag = "12")]
    pub friend_uid_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "13")]
    pub iihdbinopmg: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "8")]
    pub bohnbjmmkbo: bool,
    #[prost(bool, tag = "6")]
    pub lifcehlfdnm: bool,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: BKPGKBKJEEF
#[derive(proto_derive::CmdID)]
#[cmdid(2929)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetForbidOtherApplyFriendCsReq {
    #[prost(bool, tag = "10")]
    pub mjpflikafej: bool,
}
/// Obf: HOKMICOJAFK
#[derive(proto_derive::CmdID)]
#[cmdid(2964)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetForbidOtherApplyFriendScRsp {
    #[prost(bool, tag = "7")]
    pub mjpflikafej: bool,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: EAEMLKIPOGO
#[derive(proto_derive::CmdID)]
#[cmdid(2915)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetFriendMarkCsReq {
    #[prost(bool, tag = "6")]
    pub is_set_mark: bool,
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    #[prost(uint32, tag = "2")]
    pub reason: u32,
}
/// Obf: DDHDGOIPCPA
#[derive(proto_derive::CmdID)]
#[cmdid(2977)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetFriendMarkScRsp {
    #[prost(bool, tag = "14")]
    pub is_set_mark: bool,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub uid: u32,
}
/// Obf: MPBPGPDGGDK
#[derive(proto_derive::CmdID)]
#[cmdid(2906)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendAssistListCsReq {
    #[prost(uint32, repeated, tag = "5")]
    pub bijgjecjmhm: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "9")]
    pub kcpaodebjdg: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "8")]
    pub ahoilnfiieg: bool,
    #[prost(enumeration = "Kcdgbafifoe", tag = "15")]
    pub mloogabmihp: i32,
    #[prost(uint32, tag = "11")]
    pub from_uid: u32,
}
/// Obf: EDBEFIDAGCO
#[derive(proto_derive::CmdID)]
#[cmdid(2954)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendAssistListScRsp {
    #[prost(uint32, tag = "1")]
    pub from_uid: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "8")]
    pub giecjkakcko: ::prost::alloc::vec::Vec<Lpkdgnbjdem>,
}
/// Obf: LKFDMEPJHHH
#[derive(proto_derive::CmdID)]
#[cmdid(2961)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendChallengeLineupCsReq {
    #[prost(uint32, tag = "3")]
    pub challenge_id: u32,
}
/// Obf: OAJFBJDEGEK
#[derive(proto_derive::CmdID)]
#[cmdid(2990)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendChallengeLineupScRsp {
    #[prost(message, repeated, tag = "8")]
    pub jaejjmjpmnc: ::prost::alloc::vec::Vec<Fcnollfgpck>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(bool, tag = "10")]
    pub onocjeebfci: bool,
}
/// Obf: GNCNBADEEAF
#[derive(proto_derive::CmdID)]
#[cmdid(2955)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendChallengeDetailCsReq {
    #[prost(uint32, tag = "4")]
    pub uid: u32,
    #[prost(uint32, tag = "10")]
    pub challenge_id: u32,
}
/// Obf: KPGAGCDLMII
#[derive(proto_derive::CmdID)]
#[cmdid(2985)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendChallengeDetailScRsp {
    #[prost(message, repeated, tag = "5")]
    pub ccgdmoolhhb: ::prost::alloc::vec::Vec<DisplayAvatarDetailInfo>,
    #[prost(uint32, tag = "3")]
    pub challenge_id: u32,
    #[prost(uint32, tag = "7")]
    pub uid: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: OIODMCPAMEG
#[derive(proto_derive::CmdID)]
#[cmdid(2960)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendBattleRecordDetailCsReq {
    #[prost(uint32, tag = "9")]
    pub uid: u32,
}
/// Obf: CHKNEOBBFDF
#[derive(proto_derive::CmdID)]
#[cmdid(2926)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendBattleRecordDetailScRsp {
    #[prost(uint32, tag = "9")]
    pub uid: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "13")]
    pub jdidihobaod: ::prost::alloc::vec::Vec<Chkiicnapha>,
    #[prost(message, optional, tag = "10")]
    pub pgbbepkahbh: ::core::option::Option<Okdbogbabni>,
}
/// Obf: IFHKCHCHJKH
#[derive(proto_derive::CmdID)]
#[cmdid(2963)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendDevelopmentInfoCsReq {
    #[prost(uint32, tag = "1")]
    pub uid: u32,
}
/// Obf: MBBIJCDDMPK
#[derive(proto_derive::CmdID)]
#[cmdid(2907)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendDevelopmentInfoScRsp {
    #[prost(uint32, tag = "12")]
    pub uid: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "13")]
    pub jbhbfbjgbph: ::prost::alloc::vec::Vec<Dhahakmpnaf>,
}
/// Obf: FIAMOECBPNM
#[derive(proto_derive::CmdID)]
#[cmdid(1901)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetGachaInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GachaCeilingAvatar {
    #[prost(uint32, tag = "10")]
    pub repeated_cnt: u32,
    #[prost(uint32, tag = "4")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GachaCeiling {
    #[prost(bool, tag = "15")]
    pub is_claimed: bool,
    #[prost(message, repeated, tag = "9")]
    pub avatar_list: ::prost::alloc::vec::Vec<GachaCeilingAvatar>,
    #[prost(uint32, tag = "12")]
    pub ceiling_num: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GachaInfo {
    #[prost(uint32, tag = "9")]
    pub kmnjnmjfgbg: u32,
    #[prost(string, tag = "8")]
    pub mlgilehmpgb: ::prost::alloc::string::String,
    #[prost(uint32, tag = "6")]
    pub gdifaahifbh: u32,
    #[prost(int64, tag = "13")]
    pub end_time: i64,
    #[prost(message, optional, tag = "4")]
    pub gacha_ceiling: ::core::option::Option<GachaCeiling>,
    #[prost(uint32, tag = "14")]
    pub gacha_id: u32,
    /// TODO
    #[prost(uint32, repeated, tag = "2")]
    pub featured: ::prost::alloc::vec::Vec<u32>,
    #[prost(int64, tag = "10")]
    pub begin_time: i64,
    /// TODO
    #[prost(string, tag = "1")]
    pub detail_url: ::prost::alloc::string::String,
    #[prost(uint32, repeated, tag = "11")]
    pub up_info: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HOBMNDENOHD
#[derive(proto_derive::CmdID)]
#[cmdid(1968)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetGachaInfoScRsp {
    #[prost(uint32, tag = "11")]
    pub gacha_random: u32,
    #[prost(uint32, tag = "2")]
    pub djndmnpebka: u32,
    #[prost(message, repeated, tag = "13")]
    pub gacha_info_list: ::prost::alloc::vec::Vec<GachaInfo>,
    #[prost(uint32, tag = "10")]
    pub nbelnoipoek: u32,
    #[prost(uint32, tag = "14")]
    pub nopbebkhika: u32,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: BEHHJDKOGHH
#[derive(proto_derive::CmdID)]
#[cmdid(1958)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DoGachaCsReq {
    #[prost(uint32, tag = "13")]
    pub gacha_id: u32,
    #[prost(uint32, tag = "3")]
    pub gacha_random: u32,
    #[prost(uint32, tag = "4")]
    pub gacha_num: u32,
    #[prost(uint32, tag = "2")]
    pub simulate_magic: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GachaItem {
    #[prost(bool, tag = "2")]
    pub is_new: bool,
    #[prost(message, optional, tag = "4")]
    pub token_item: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "13")]
    pub transfer_item_list: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "7")]
    pub gacha_item: ::core::option::Option<Item>,
}
/// Obf: KHKCPPLPKND
#[derive(proto_derive::CmdID)]
#[cmdid(1924)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DoGachaScRsp {
    #[prost(uint32, tag = "7")]
    pub nopbebkhika: u32,
    #[prost(uint32, tag = "11")]
    pub gacha_id: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "4")]
    pub kmnjnmjfgbg: u32,
    #[prost(uint32, tag = "5")]
    pub ceiling_num: u32,
    #[prost(uint32, tag = "10")]
    pub penilhglhhm: u32,
    #[prost(uint32, tag = "6")]
    pub gacha_num: u32,
    #[prost(uint32, tag = "1")]
    pub gdifaahifbh: u32,
    #[prost(message, repeated, tag = "9")]
    pub gacha_item_list: ::prost::alloc::vec::Vec<GachaItem>,
}
/// Obf: GCCGABDOLLK
#[derive(proto_derive::CmdID)]
#[cmdid(1930)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetGachaCeilingCsReq {
    #[prost(uint32, tag = "12")]
    pub gacha_type: u32,
}
/// Obf: PCMFELPJEAL
#[derive(proto_derive::CmdID)]
#[cmdid(1956)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetGachaCeilingScRsp {
    #[prost(uint32, tag = "9")]
    pub gacha_type: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub gacha_ceiling: ::core::option::Option<GachaCeiling>,
}
/// Obf: IHBMAOEAOHA
#[derive(proto_derive::CmdID)]
#[cmdid(1997)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExchangeGachaCeilingCsReq {
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "7")]
    pub gacha_type: u32,
}
/// Obf: JPJGLKKFGFM
#[derive(proto_derive::CmdID)]
#[cmdid(1976)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExchangeGachaCeilingScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "12")]
    pub gacha_ceiling: ::core::option::Option<GachaCeiling>,
    #[prost(uint32, tag = "11")]
    pub gacha_type: u32,
    #[prost(message, optional, tag = "15")]
    pub transfer_item_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oicenkljicg {
    #[prost(bool, tag = "15")]
    pub fbkekcgelbe: bool,
    #[prost(uint32, tag = "10")]
    pub dgaklnofdpp: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Maiaboommnn {
    #[prost(bool, tag = "12")]
    pub kkgfigchkib: bool,
    #[prost(bool, tag = "3")]
    pub jmpejfickjo: bool,
    #[prost(enumeration = "Bfdflhekfgk", tag = "9")]
    pub jiimeljaone: i32,
    #[prost(uint32, tag = "15")]
    pub clkeoehplng: u32,
    #[prost(enumeration = "Afefbpablhm", tag = "5")]
    pub step: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmeinfmdjfg {
    #[prost(uint32, tag = "9")]
    pub kbmmmmckjni: u32,
    #[prost(uint32, tag = "4")]
    pub clkeoehplng: u32,
}
/// Obf: POKEHOEGBEE
#[derive(proto_derive::CmdID)]
#[cmdid(6301)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetHeartDialInfoCsReq {}
/// Obf: GHJINMKJLDG
#[derive(proto_derive::CmdID)]
#[cmdid(6368)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetHeartDialInfoScRsp {
    #[prost(message, repeated, tag = "14")]
    pub emdmhabinkg: ::prost::alloc::vec::Vec<Maiaboommnn>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "5")]
    pub ocmoejidlam: ::prost::alloc::vec::Vec<Mmeinfmdjfg>,
    #[prost(enumeration = "Ooehgmemkoi", tag = "12")]
    pub nfeojaajmke: i32,
    #[prost(message, repeated, tag = "15")]
    pub aboigbjnoho: ::prost::alloc::vec::Vec<Oicenkljicg>,
}
/// Obf: FIBDHFCJAMH
#[derive(proto_derive::CmdID)]
#[cmdid(6358)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangeScriptEmotionCsReq {
    #[prost(uint32, tag = "3")]
    pub fihncoabela: u32,
    #[prost(enumeration = "Bfdflhekfgk", tag = "9")]
    pub ebnofhdngdh: i32,
    #[prost(uint32, tag = "1")]
    pub clkeoehplng: u32,
}
/// Obf: LNOOICPAKND
#[derive(proto_derive::CmdID)]
#[cmdid(6324)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangeScriptEmotionScRsp {
    #[prost(uint32, tag = "11")]
    pub clkeoehplng: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(enumeration = "Bfdflhekfgk", tag = "13")]
    pub kefkogklefc: i32,
}
/// Obf: GMPJACIOCAI
#[derive(proto_derive::CmdID)]
#[cmdid(6330)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubmitEmotionItemCsReq {
    #[prost(uint32, tag = "8")]
    pub fihncoabela: u32,
    #[prost(message, optional, tag = "12")]
    pub item_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "10")]
    pub clkeoehplng: u32,
}
/// Obf: MJOECNKJGIP
#[derive(proto_derive::CmdID)]
#[cmdid(6356)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubmitEmotionItemScRsp {
    #[prost(uint32, tag = "11")]
    pub clkeoehplng: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: AFDLHLDCFEL
#[derive(proto_derive::CmdID)]
#[cmdid(6397)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishEmotionDialoguePerformanceCsReq {
    #[prost(uint32, tag = "14")]
    pub clkeoehplng: u32,
    #[prost(uint32, tag = "4")]
    pub dgaklnofdpp: u32,
    #[prost(uint32, tag = "10")]
    pub fihncoabela: u32,
}
/// Obf: PJBHDGOFNCJ
#[derive(proto_derive::CmdID)]
#[cmdid(6376)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishEmotionDialoguePerformanceScRsp {
    #[prost(message, optional, tag = "13")]
    pub reward_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "5")]
    pub dgaklnofdpp: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "8")]
    pub clkeoehplng: u32,
}
/// Obf: BKGEPFIPGEE
#[derive(proto_derive::CmdID)]
#[cmdid(6328)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeartDialScriptChangeScNotify {
    #[prost(message, repeated, tag = "4")]
    pub nglhcmbghio: ::prost::alloc::vec::Vec<Oicenkljicg>,
    #[prost(message, repeated, tag = "7")]
    pub ocmoejidlam: ::prost::alloc::vec::Vec<Mmeinfmdjfg>,
    #[prost(enumeration = "Ooehgmemkoi", tag = "5")]
    pub nfeojaajmke: i32,
    #[prost(message, repeated, tag = "15")]
    pub pkflgdfdmoi: ::prost::alloc::vec::Vec<Maiaboommnn>,
}
/// Obf: ECKBENNIBJH
#[derive(proto_derive::CmdID)]
#[cmdid(6311)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeartDialTraceScriptCsReq {
    #[prost(message, optional, tag = "13")]
    pub agoipfbddpo: ::core::option::Option<Mmeinfmdjfg>,
}
/// Obf: BKIOMJGMMNE
#[derive(proto_derive::CmdID)]
#[cmdid(6305)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeartDialTraceScriptScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub agoipfbddpo: ::core::option::Option<Mmeinfmdjfg>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dejakpoepkn {
    #[prost(uint32, tag = "1")]
    pub cgfgfmgdpnj: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub lfpmaobgnen: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jmijjhkiblb {
    #[prost(uint32, tag = "4")]
    pub stars: u32,
    #[prost(uint32, tag = "8")]
    pub challenge_id: u32,
    #[prost(bool, tag = "3")]
    pub gjieahdbnni: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusChallengeLineup {
    #[prost(uint32, tag = "6")]
    pub skill_id: u32,
    #[prost(uint32, tag = "12")]
    pub group_id: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: BLOFCCOIGPI
#[derive(proto_derive::CmdID)]
#[cmdid(5801)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusActivityDataCsReq {}
/// Obf: GJAHMIPODDJ
#[derive(proto_derive::CmdID)]
#[cmdid(5868)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusActivityDataScRsp {
    #[prost(uint32, tag = "1")]
    pub level: u32,
    #[prost(message, optional, tag = "13")]
    pub skill_info: ::core::option::Option<Dejakpoepkn>,
    #[prost(message, repeated, tag = "4")]
    pub gcljengjicm: ::prost::alloc::vec::Vec<HeliobusChallengeLineup>,
    #[prost(uint32, tag = "15")]
    pub iphkdelmoih: u32,
    #[prost(uint32, tag = "2")]
    pub eenjbpmndol: u32,
    #[prost(message, repeated, tag = "5")]
    pub challenge_list: ::prost::alloc::vec::Vec<Jmijjhkiblb>,
    #[prost(message, repeated, tag = "14")]
    pub nfdbmhppfip: ::prost::alloc::vec::Vec<Gbjkkfhpffn>,
    #[prost(uint32, tag = "11")]
    pub phase: u32,
    #[prost(uint32, tag = "10")]
    pub ibhaaejeehc: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Goammagcijj {
    #[prost(uint32, tag = "3")]
    pub eliadkdaeco: u32,
    #[prost(uint32, tag = "10")]
    pub kmaempmoccc: u32,
    #[prost(message, repeated, tag = "11")]
    pub jndkooejcfc: ::prost::alloc::vec::Vec<Goammagcijj>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbjkkfhpffn {
    #[prost(uint32, tag = "9")]
    pub aknkpkpljhf: u32,
    #[prost(bool, tag = "11")]
    pub ajciodkllml: bool,
    #[prost(uint32, tag = "7")]
    pub jfmofiidcnp: u32,
    #[prost(bool, tag = "8")]
    pub dekhdibcfab: bool,
    #[prost(uint32, tag = "10")]
    pub ihkejebceib: u32,
    #[prost(message, repeated, tag = "1")]
    pub ndjfnhfpcgd: ::prost::alloc::vec::Vec<Goammagcijj>,
    #[prost(uint32, tag = "13")]
    pub cmhgbbhknci: u32,
    #[prost(uint32, tag = "14")]
    pub fclnoogehmc: u32,
}
/// Obf: FOJPCHFHEAE
#[derive(proto_derive::CmdID)]
#[cmdid(5858)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusSnsReadCsReq {
    #[prost(uint32, tag = "13")]
    pub ihkejebceib: u32,
}
/// Obf: IBNCJDMOMLA
#[derive(proto_derive::CmdID)]
#[cmdid(5824)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusSnsReadScRsp {
    #[prost(uint32, tag = "12")]
    pub ihkejebceib: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: NIKFHCNKBCH
#[derive(proto_derive::CmdID)]
#[cmdid(5830)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusSnsPostCsReq {
    #[prost(uint32, tag = "2")]
    pub ihkejebceib: u32,
    #[prost(uint32, tag = "1")]
    pub jfmofiidcnp: u32,
    #[prost(uint32, tag = "8")]
    pub fclnoogehmc: u32,
}
/// Obf: FCLCBAIENFB
#[derive(proto_derive::CmdID)]
#[cmdid(5856)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusSnsPostScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub eimcnifmlbl: ::core::option::Option<Gbjkkfhpffn>,
}
/// Obf: EOPPOAPMACG
#[derive(proto_derive::CmdID)]
#[cmdid(5897)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusSnsLikeCsReq {
    #[prost(uint32, tag = "2")]
    pub ihkejebceib: u32,
}
/// Obf: GBPLDAMFEGL
#[derive(proto_derive::CmdID)]
#[cmdid(5876)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusSnsLikeScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub ihkejebceib: u32,
    #[prost(bool, tag = "13")]
    pub dekhdibcfab: bool,
}
/// Obf: JDDIOABLHIF
#[derive(proto_derive::CmdID)]
#[cmdid(5828)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusSnsCommentCsReq {
    #[prost(uint32, tag = "4")]
    pub kmaempmoccc: u32,
    #[prost(uint32, tag = "7")]
    pub kaljkfkjffa: u32,
    #[prost(uint32, tag = "6")]
    pub ihkejebceib: u32,
}
/// Obf: JILGIBDIDMH
#[derive(proto_derive::CmdID)]
#[cmdid(5811)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusSnsCommentScRsp {
    #[prost(message, optional, tag = "13")]
    pub eimcnifmlbl: ::core::option::Option<Gbjkkfhpffn>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: HOAMKNEFEIL
#[derive(proto_derive::CmdID)]
#[cmdid(5805)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusSnsUpdateScNotify {
    #[prost(message, repeated, tag = "8")]
    pub gkfhmgmbika: ::prost::alloc::vec::Vec<Gbjkkfhpffn>,
}
/// Obf: BDOBCCMPPAA
#[derive(proto_derive::CmdID)]
#[cmdid(5814)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusInfoChangedScNotify {
    #[prost(uint32, tag = "8")]
    pub phase: u32,
    #[prost(uint32, tag = "7")]
    pub iphkdelmoih: u32,
    #[prost(uint32, tag = "9")]
    pub eenjbpmndol: u32,
    #[prost(message, repeated, tag = "11")]
    pub gkfhmgmbika: ::prost::alloc::vec::Vec<Gbjkkfhpffn>,
}
/// Obf: ABBAHIAPMCD
#[derive(proto_derive::CmdID)]
#[cmdid(5849)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusUpgradeLevelCsReq {}
/// Obf: KNLJNMOPHFE
#[derive(proto_derive::CmdID)]
#[cmdid(5822)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusUpgradeLevelScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub level: u32,
}
/// Obf: BPFFNJBECNE
#[derive(proto_derive::CmdID)]
#[cmdid(5847)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusUnlockSkillScNotify {
    #[prost(uint32, tag = "12")]
    pub ooackegemfk: u32,
    #[prost(uint32, tag = "4")]
    pub cgfgfmgdpnj: u32,
}
/// Obf: IJAKPFAHLJJ
#[derive(proto_derive::CmdID)]
#[cmdid(5812)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusEnterBattleCsReq {
    #[prost(uint32, tag = "11")]
    pub ooackegemfk: u32,
    #[prost(uint32, repeated, tag = "10")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub event_id: u32,
}
/// Obf: INMBBBCGIGE
#[derive(proto_derive::CmdID)]
#[cmdid(5817)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusEnterBattleScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "6")]
    pub event_id: u32,
}
/// Obf: PFNLNOCJBLA
#[derive(proto_derive::CmdID)]
#[cmdid(5880)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusSelectSkillCsReq {
    #[prost(uint32, tag = "15")]
    pub ooackegemfk: u32,
}
/// Obf: OKMBJEHOIOG
#[derive(proto_derive::CmdID)]
#[cmdid(5839)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusSelectSkillScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub ooackegemfk: u32,
}
/// Obf: GNJICHMOCML
#[derive(proto_derive::CmdID)]
#[cmdid(5895)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusChallengeUpdateScNotify {
    #[prost(message, optional, tag = "12")]
    pub dddikpnnble: ::core::option::Option<Jmijjhkiblb>,
}
/// Obf: CIJPAMOOMIG
#[derive(proto_derive::CmdID)]
#[cmdid(5850)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusLineupUpdateScNotify {
    #[prost(message, optional, tag = "5")]
    pub lineup: ::core::option::Option<HeliobusChallengeLineup>,
}
/// Obf: JJCKLKANLBK
#[derive(proto_derive::CmdID)]
#[cmdid(5891)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusStartRaidCsReq {
    #[prost(bool, tag = "6")]
    pub jgeaegmhdoc: bool,
    #[prost(uint32, tag = "12")]
    pub prop_entity_id: u32,
    #[prost(uint32, tag = "13")]
    pub enlknpiblio: u32,
    #[prost(uint32, tag = "14")]
    pub cenifnknfnp: u32,
    #[prost(uint32, tag = "10")]
    pub ooackegemfk: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MFFCENPKBGH
#[derive(proto_derive::CmdID)]
#[cmdid(5818)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusStartRaidScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub scene: ::core::option::Option<Fnlgplncpcl>,
}
/// Obf: PACKIMPJBPL
#[derive(proto_derive::CmdID)]
#[cmdid(501)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBagCsReq {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Equipment {
    #[prost(uint32, tag = "7")]
    pub exp: u32,
    #[prost(uint32, tag = "14")]
    pub level: u32,
    #[prost(uint32, tag = "9")]
    pub tid: u32,
    #[prost(uint32, tag = "12")]
    pub unique_id: u32,
    #[prost(uint32, tag = "6")]
    pub equip_avatar_id: u32,
    #[prost(uint32, tag = "4")]
    pub rank: u32,
    #[prost(bool, tag = "8")]
    pub is_protected: bool,
    #[prost(uint32, tag = "2")]
    pub promotion: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Relic {
    #[prost(message, repeated, tag = "8")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    #[prost(uint32, tag = "15")]
    pub tid: u32,
    #[prost(uint32, tag = "13")]
    pub equip_avatar_id: u32,
    #[prost(uint32, tag = "12")]
    pub unique_id: u32,
    #[prost(uint32, tag = "2")]
    pub exp: u32,
    #[prost(uint32, tag = "5")]
    pub level: u32,
    #[prost(uint32, tag = "9")]
    pub main_affix_id: u32,
    #[prost(bool, tag = "3")]
    pub is_discarded: bool,
    #[prost(bool, tag = "7")]
    pub is_protected: bool,
    /// todo
    #[prost(message, repeated, tag = "14")]
    pub reroll_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Material {
    #[prost(uint32, tag = "10")]
    pub num: u32,
    #[prost(uint64, tag = "14")]
    pub expire_time: u64,
    #[prost(uint32, tag = "8")]
    pub tid: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WaitDelResource {
    #[prost(uint32, tag = "1")]
    pub tid: u32,
    #[prost(uint32, tag = "11")]
    pub num: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Material0 {
    #[prost(uint32, tag = "10")]
    pub tid: u32,
    #[prost(uint32, tag = "11")]
    pub num: u32,
    #[prost(uint64, tag = "9")]
    pub expire_time: u64,
}
/// Obf: KDKAFPDEBAH
#[derive(proto_derive::CmdID)]
#[cmdid(568)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBagScRsp {
    #[prost(uint32, tag = "2")]
    pub aepnidponkc: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub gemcacjlpij: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "7")]
    pub relic_list: ::prost::alloc::vec::Vec<Relic>,
    #[prost(uint32, repeated, tag = "13")]
    pub aoiihcfmfph: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "1")]
    pub ifenmdpbnkg: ::prost::alloc::vec::Vec<Material>,
    #[prost(message, repeated, tag = "10")]
    pub phngmeljkbe: ::prost::alloc::vec::Vec<Material0>,
    /// TODO?
    #[prost(message, repeated, tag = "14")]
    pub material_list: ::prost::alloc::vec::Vec<Material>,
    #[prost(message, repeated, tag = "6")]
    pub fcokffeapmi: ::prost::alloc::vec::Vec<Material0>,
    #[prost(message, repeated, tag = "3")]
    pub hlinmkbdknc: ::prost::alloc::vec::Vec<WaitDelResource>,
    #[prost(message, repeated, tag = "15")]
    pub bafebhdobfj: ::prost::alloc::vec::Vec<PileItem>,
    #[prost(uint32, repeated, tag = "12")]
    pub fdbjlgdhcdo: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "TurnFoodSwitch", repeated, tag = "5")]
    pub turn_food_switch: ::prost::alloc::vec::Vec<i32>,
    #[prost(message, repeated, tag = "11")]
    pub equipment_list: ::prost::alloc::vec::Vec<Equipment>,
}
/// Obf: ENDNEFAPMMA
#[derive(proto_derive::CmdID)]
#[cmdid(558)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PromoteEquipmentCsReq {
    #[prost(message, optional, tag = "9")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "8")]
    pub equipment_unique_id: u32,
}
/// Obf: KNHLDEDJDLI
#[derive(proto_derive::CmdID)]
#[cmdid(524)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PromoteEquipmentScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: OGNBDGAGKNJ
#[derive(proto_derive::CmdID)]
#[cmdid(530)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LockEquipmentCsReq {
    #[prost(uint32, repeated, tag = "15")]
    pub equipment_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "12")]
    pub is_protected: bool,
}
/// Obf: BBJEJPJONFJ
#[derive(proto_derive::CmdID)]
#[cmdid(556)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LockEquipmentScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: ENBJJBIMIND
#[derive(proto_derive::CmdID)]
#[cmdid(597)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UseItemCsReq {
    /// TODO
    #[prost(uint32, tag = "11")]
    pub use_item_id: u32,
    #[prost(uint32, tag = "10")]
    pub base_avatar_id: u32,
    #[prost(enumeration = "AvatarType", tag = "15")]
    pub mgnnkfnacni: i32,
    #[prost(uint32, tag = "3")]
    pub optional_reward_id: u32,
    #[prost(bool, tag = "13")]
    pub felciemkcgf: bool,
    /// TODO
    #[prost(uint32, tag = "12")]
    pub use_item_count: u32,
}
/// Obf: LOGJKANIBDJ
#[derive(proto_derive::CmdID)]
#[cmdid(576)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UseItemScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// TODO
    #[prost(uint32, tag = "15")]
    pub use_item_id: u32,
    #[prost(message, optional, tag = "10")]
    pub return_data: ::core::option::Option<ItemList>,
    #[prost(uint64, tag = "6")]
    pub month_card_out_date_time: u64,
    #[prost(uint32, tag = "7")]
    pub use_item_count: u32,
    #[prost(uint32, tag = "12")]
    pub gcjobeokmcp: u32,
}
/// Obf: CEIGIHOKMFE
#[derive(proto_derive::CmdID)]
#[cmdid(528)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RankUpEquipmentCsReq {
    #[prost(message, optional, tag = "3")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "5")]
    pub equipment_unique_id: u32,
}
/// Obf: DNEFPJHHCBI
#[derive(proto_derive::CmdID)]
#[cmdid(511)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RankUpEquipmentScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: LLAGDKKOPIG
#[derive(proto_derive::CmdID)]
#[cmdid(505)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExpUpEquipmentCsReq {
    #[prost(message, optional, tag = "10")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "7")]
    pub equipment_unique_id: u32,
}
/// Obf: GHMKEHACJIN
#[derive(proto_derive::CmdID)]
#[cmdid(514)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExpUpEquipmentScRsp {
    #[prost(message, repeated, tag = "6")]
    pub return_item_list: ::prost::alloc::vec::Vec<PileItem>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: EIDFBOMONBI
#[derive(proto_derive::CmdID)]
#[cmdid(549)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComposeItemCsReq {
    #[prost(uint32, tag = "15")]
    pub compose_id: u32,
    /// TODO
    #[prost(message, optional, tag = "1")]
    pub compose_item_list: ::core::option::Option<ItemCostList>,
    #[prost(message, optional, tag = "6")]
    pub pjchnokedbe: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "9")]
    pub count: u32,
}
/// Obf: LMAAEHHLMFC
#[derive(proto_derive::CmdID)]
#[cmdid(522)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComposeItemScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub compose_id: u32,
    #[prost(message, optional, tag = "11")]
    pub return_item_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "3")]
    pub count: u32,
}
/// Obf: PPCMJPFIBJK
#[derive(proto_derive::CmdID)]
#[cmdid(595)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComposeSelectedRelicCsReq {
    #[prost(uint32, tag = "4")]
    pub compose_relic_id: u32,
    #[prost(uint32, tag = "3")]
    pub compose_id: u32,
    #[prost(uint32, tag = "5")]
    pub count: u32,
    #[prost(uint32, tag = "15")]
    pub main_affix_id: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub ggnpaifhpbb: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "14")]
    pub gjfmnmokaic: ::core::option::Option<ItemCostList>,
    #[prost(message, optional, tag = "13")]
    pub fbgodfjicll: ::core::option::Option<ItemCostList>,
}
/// Obf: MGNNPKGBAGD
#[derive(proto_derive::CmdID)]
#[cmdid(550)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComposeSelectedRelicScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub compose_id: u32,
    #[prost(message, optional, tag = "7")]
    pub return_item_list: ::core::option::Option<ItemList>,
}
/// Obf: HKHKBGGJLKJ
#[derive(proto_derive::CmdID)]
#[cmdid(547)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExpUpRelicCsReq {
    #[prost(uint32, tag = "13")]
    pub relic_unique_id: u32,
    #[prost(message, optional, tag = "11")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
}
/// Obf: LCAOAHBJJNC
#[derive(proto_derive::CmdID)]
#[cmdid(580)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExpUpRelicScRsp {
    #[prost(message, repeated, tag = "15")]
    pub return_item_list: ::prost::alloc::vec::Vec<PileItem>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: KACIJMGGGLE
#[derive(proto_derive::CmdID)]
#[cmdid(539)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LockRelicCsReq {
    #[prost(bool, tag = "14")]
    pub is_batch_op: bool,
    #[prost(uint32, repeated, tag = "4")]
    pub locked_relic_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "8")]
    pub is_protected: bool,
}
/// Obf: EHGHOCBCEKM
#[derive(proto_derive::CmdID)]
#[cmdid(596)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LockRelicScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: LEMBHJMIKOE
#[derive(proto_derive::CmdID)]
#[cmdid(508)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DiscardRelicCsReq {
    #[prost(uint32, repeated, tag = "6")]
    pub locked_relic_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "15")]
    pub is_batch_op: bool,
    #[prost(bool, tag = "12")]
    pub is_discard: bool,
}
/// Obf: GAADEDDBANA
#[derive(proto_derive::CmdID)]
#[cmdid(578)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DiscardRelicScRsp {
    #[prost(bool, tag = "10")]
    pub is_discard: bool,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: OCCFBPIBDCH
#[derive(proto_derive::CmdID)]
#[cmdid(523)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SellItemCsReq {
    #[prost(bool, tag = "4")]
    pub to_material: bool,
    #[prost(message, optional, tag = "7")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
}
/// Obf: EMHKBFNEEPE
#[derive(proto_derive::CmdID)]
#[cmdid(512)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SellItemScRsp {
    #[prost(message, optional, tag = "11")]
    pub return_item_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: RechargeSuccNotify
#[derive(proto_derive::CmdID)]
#[cmdid(517)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RechargeSuccNotify {
    #[prost(string, tag = "10")]
    pub product_id: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "12")]
    pub item_list: ::core::option::Option<ItemList>,
    #[prost(string, tag = "1")]
    pub channel_order_no: ::prost::alloc::string::String,
    #[prost(uint64, tag = "11")]
    pub month_card_outdate_time: u64,
}
/// Obf: CAIBFMLNFFA
#[derive(proto_derive::CmdID)]
#[cmdid(591)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExchangeHcoinCsReq {
    #[prost(uint32, tag = "1")]
    pub num: u32,
}
/// Obf: ExchangeHcoinScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(518)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExchangeHcoinScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint32, tag = "1")]
    pub num: u32,
}
/// Obf: EHKBPBIAIJM
#[derive(proto_derive::CmdID)]
#[cmdid(548)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddEquipmentScNotify {
    #[prost(uint32, tag = "5")]
    pub mdmgkhlhiin: u32,
}
/// Obf: HMAPNACBNCK
#[derive(proto_derive::CmdID)]
#[cmdid(569)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRecyleTimeCsReq {
    #[prost(uint32, repeated, tag = "14")]
    pub cjlndnilgmf: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: ALDEDCHJMBK
#[derive(proto_derive::CmdID)]
#[cmdid(520)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRecyleTimeScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "10")]
    pub fcokffeapmi: ::prost::alloc::vec::Vec<Material0>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fnhmmmkjgpb {
    #[prost(uint32, tag = "13")]
    pub ojemelhcmpj: u32,
    #[prost(uint32, tag = "15")]
    pub formula_id: u32,
}
/// Obf: MNKEGHBHBAB
#[derive(proto_derive::CmdID)]
#[cmdid(592)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComposeLimitNumCompleteNotify {
    #[prost(message, repeated, tag = "9")]
    pub dchnaedinmm: ::prost::alloc::vec::Vec<Fnhmmmkjgpb>,
}
/// Obf: KAOKFBBHBJP
#[derive(proto_derive::CmdID)]
#[cmdid(570)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComposeLimitNumUpdateNotify {
    #[prost(message, optional, tag = "3")]
    pub fglfgjdpjpd: ::core::option::Option<Fnhmmmkjgpb>,
}
/// Obf: JGJOGHCLMCB
#[derive(proto_derive::CmdID)]
#[cmdid(581)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DestroyItemCsReq {
    #[prost(uint32, tag = "1")]
    pub cfcokeldogj: u32,
    #[prost(uint32, tag = "10")]
    pub item_id: u32,
    #[prost(uint32, tag = "15")]
    pub mbejblfhcbh: u32,
}
/// Obf: EDELPFFFHGC
#[derive(proto_derive::CmdID)]
#[cmdid(538)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DestroyItemScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "2")]
    pub cfcokeldogj: u32,
}
/// Obf: JCOMBMFGMBP
#[derive(proto_derive::CmdID)]
#[cmdid(519)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMarkItemListCsReq {}
/// Obf: JGDMLEJHCFD
#[derive(proto_derive::CmdID)]
#[cmdid(582)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMarkItemListScRsp {
    #[prost(uint32, repeated, tag = "6")]
    pub pdbihonolfj: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: PDGPDLFCJOB
#[derive(proto_derive::CmdID)]
#[cmdid(559)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarkItemCsReq {
    #[prost(bool, tag = "12")]
    pub naehphhdgek: bool,
    #[prost(uint32, tag = "10")]
    pub item_id: u32,
}
/// Obf: BHLICDCPAEG
#[derive(proto_derive::CmdID)]
#[cmdid(541)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarkItemScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(bool, tag = "3")]
    pub naehphhdgek: bool,
    #[prost(uint32, tag = "2")]
    pub item_id: u32,
}
/// Obf: AFMNPBMEHKA
#[derive(proto_derive::CmdID)]
#[cmdid(573)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CancelMarkItemNotify {
    #[prost(uint32, tag = "10")]
    pub item_id: u32,
}
/// Obf: DAMDJPLDNFE
#[derive(proto_derive::CmdID)]
#[cmdid(540)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncTurnFoodNotify {
    #[prost(uint32, repeated, tag = "1")]
    pub fdbjlgdhcdo: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "TurnFoodSwitch", repeated, tag = "7")]
    pub turn_food_switch: ::prost::alloc::vec::Vec<i32>,
}
/// Obf: MPNKMKGDBDK
#[derive(proto_derive::CmdID)]
#[cmdid(503)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetTurnFoodSwitchCsReq {
    #[prost(enumeration = "TurnFoodSwitch", tag = "7")]
    pub jcakhhkfdfn: i32,
    #[prost(bool, tag = "10")]
    pub bndlhjhalmb: bool,
}
/// Obf: MFGLGONLDPH
#[derive(proto_derive::CmdID)]
#[cmdid(557)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetTurnFoodSwitchScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(bool, tag = "8")]
    pub bndlhjhalmb: bool,
    #[prost(enumeration = "TurnFoodSwitch", tag = "7")]
    pub jcakhhkfdfn: i32,
}
/// Obf: APKMOHMIIBL
#[derive(proto_derive::CmdID)]
#[cmdid(513)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GeneralVirtualItemDataNotify {
    #[prost(bool, tag = "3")]
    pub pkbahpfjgdb: bool,
    #[prost(message, repeated, tag = "2")]
    pub fdjkccgdnka: ::prost::alloc::vec::Vec<PileItem>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicFilterPlanIcon {
    #[prost(bool, tag = "12")]
    pub is_avatar_icon: bool,
    #[prost(uint32, tag = "9")]
    pub icon_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicFilterPlan {
    #[prost(message, optional, tag = "7")]
    pub icon: ::core::option::Option<RelicFilterPlanIcon>,
    #[prost(int64, tag = "12")]
    pub update_timestamp: i64,
    #[prost(uint32, tag = "13")]
    pub slot_index: u32,
    #[prost(uint32, tag = "5")]
    pub avatar_id_on_create: u32,
    #[prost(bool, tag = "2")]
    pub is_marked: bool,
    #[prost(message, optional, tag = "8")]
    pub settings: ::core::option::Option<RelicFilterPlanSettings>,
    #[prost(string, tag = "4")]
    pub name: ::prost::alloc::string::String,
}
/// Obf: CBCIJAOBJKM
#[derive(proto_derive::CmdID)]
#[cmdid(577)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRelicFilterPlanCsReq {}
/// Obf: GetRelicFilterPlanScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(506)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRelicFilterPlanScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "8")]
    pub relic_filter_plan_list: ::prost::alloc::vec::Vec<RelicFilterPlan>,
}
/// Obf: AddRelicFilterPlanCsReq
#[derive(proto_derive::CmdID)]
#[cmdid(554)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddRelicFilterPlanCsReq {
    #[prost(uint32, tag = "14")]
    pub avatar_id_on_create: u32,
    #[prost(message, optional, tag = "4")]
    pub icon: ::core::option::Option<RelicFilterPlanIcon>,
    #[prost(string, tag = "3")]
    pub name: ::prost::alloc::string::String,
    #[prost(bool, tag = "10")]
    pub is_marked: bool,
    #[prost(message, optional, tag = "5")]
    pub settings: ::core::option::Option<RelicFilterPlanSettings>,
}
/// Obf: AddRelicFilterPlanScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(561)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddRelicFilterPlanScRsp {
    #[prost(message, optional, tag = "2")]
    pub plan: ::core::option::Option<RelicFilterPlan>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: ModifyRelicFilterPlanCsReq
#[derive(proto_derive::CmdID)]
#[cmdid(590)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ModifyRelicFilterPlanCsReq {
    #[prost(uint32, tag = "15")]
    pub slot_index: u32,
    #[prost(oneof = "modify_relic_filter_plan_cs_req::InfoCase", tags = "14, 4, 2")]
    pub info_case: ::core::option::Option<modify_relic_filter_plan_cs_req::InfoCase>,
}
/// Nested message and enum types in `ModifyRelicFilterPlanCsReq`.
pub mod modify_relic_filter_plan_cs_req {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum InfoCase {
        #[prost(string, tag = "14")]
        Name(::prost::alloc::string::String),
        #[prost(message, tag = "4")]
        Icon(super::RelicFilterPlanIcon),
        #[prost(message, tag = "2")]
        Settings(super::RelicFilterPlanSettings),
    }
}
/// Obf: ModifyRelicFilterPlanScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(555)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ModifyRelicFilterPlanScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(int64, tag = "4")]
    pub update_timestamp: i64,
    #[prost(uint32, tag = "7")]
    pub slot_index: u32,
    #[prost(oneof = "modify_relic_filter_plan_sc_rsp::InfoCase", tags = "10, 2, 12")]
    pub info_case: ::core::option::Option<modify_relic_filter_plan_sc_rsp::InfoCase>,
}
/// Nested message and enum types in `ModifyRelicFilterPlanScRsp`.
pub mod modify_relic_filter_plan_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum InfoCase {
        #[prost(string, tag = "10")]
        Name(::prost::alloc::string::String),
        #[prost(message, tag = "2")]
        Icon(super::RelicFilterPlanIcon),
        #[prost(message, tag = "12")]
        Settings(super::RelicFilterPlanSettings),
    }
}
/// Obf: DeleteRelicFilterPlanCsReq
#[derive(proto_derive::CmdID)]
#[cmdid(585)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteRelicFilterPlanCsReq {
    #[prost(bool, tag = "10")]
    pub is_batch_op: bool,
    #[prost(uint32, repeated, tag = "2")]
    pub slot_index_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IBLMECOBEKK
#[derive(proto_derive::CmdID)]
#[cmdid(560)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteRelicFilterPlanScRsp {
    #[prost(bool, tag = "9")]
    pub is_batch_op: bool,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub ndobmajmlnk: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MarkRelicFilterPlanCsReq
#[derive(proto_derive::CmdID)]
#[cmdid(526)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarkRelicFilterPlanCsReq {
    #[prost(uint32, repeated, tag = "13")]
    pub slot_index_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "3")]
    pub is_batch_op: bool,
    #[prost(bool, tag = "11")]
    pub is_mark: bool,
}
/// Obf: MarkRelicFilterPlanScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(563)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarkRelicFilterPlanScRsp {
    #[prost(uint32, repeated, tag = "15")]
    pub slot_index_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "8")]
    pub is_mark: bool,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(bool, tag = "11")]
    pub is_batch_op: bool,
}
/// Obf: JILPDHENIDL
#[derive(proto_derive::CmdID)]
#[cmdid(507)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicFilterPlanClearNameScNotify {
    #[prost(uint32, tag = "15")]
    pub khncedgfpgl: u32,
}
/// Obf: JFJBAEJBBLB
#[derive(proto_derive::CmdID)]
#[cmdid(588)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicReforgeCsReq {
    #[prost(uint32, tag = "7")]
    pub relic_unique_id: u32,
}
/// Obf: OMKAJLMDBDP
#[derive(proto_derive::CmdID)]
#[cmdid(589)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicReforgeScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: LLLDCIBJIDC
#[derive(proto_derive::CmdID)]
#[cmdid(565)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicReforgeConfirmCsReq {
    #[prost(uint32, tag = "5")]
    pub relic_unique_id: u32,
    #[prost(bool, tag = "7")]
    pub cjoeaeijlgc: bool,
}
/// Obf: LFBPGLGJBFI
#[derive(proto_derive::CmdID)]
#[cmdid(574)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicReforgeConfirmScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockedMusic {
    #[prost(uint32, tag = "10")]
    pub group_id: u32,
    #[prost(bool, tag = "5")]
    pub icfbdppjoad: bool,
    #[prost(uint32, tag = "4")]
    pub id: u32,
}
/// Obf: NIACMNBBNCI
#[derive(proto_derive::CmdID)]
#[cmdid(3101)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetJukeboxDataCsReq {}
/// Obf: MGDPBJGEELJ
#[derive(proto_derive::CmdID)]
#[cmdid(3168)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetJukeboxDataScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "3")]
    pub music_list: ::prost::alloc::vec::Vec<UnlockedMusic>,
    #[prost(uint32, tag = "11")]
    pub playing_id: u32,
}
/// Obf: OLCMOAJACGC
#[derive(proto_derive::CmdID)]
#[cmdid(3158)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayBackGroundMusicCsReq {
    #[prost(uint32, tag = "9")]
    pub play_music_id: u32,
}
/// Obf: NACNJKNEKBK
#[derive(proto_derive::CmdID)]
#[cmdid(3124)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayBackGroundMusicScRsp {
    #[prost(uint32, tag = "4")]
    pub play_music_id: u32,
    #[prost(uint32, tag = "13")]
    pub playing_id: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: INAKLEIILKN
#[derive(proto_derive::CmdID)]
#[cmdid(3130)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockBackGroundMusicCsReq {
    #[prost(uint32, repeated, tag = "5")]
    pub unlock_ids: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: AOGCKKJNKBN
#[derive(proto_derive::CmdID)]
#[cmdid(3156)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockBackGroundMusicScRsp {
    #[prost(message, repeated, tag = "9")]
    pub music_list: ::prost::alloc::vec::Vec<UnlockedMusic>,
    #[prost(uint32, repeated, tag = "14")]
    pub unlocked_ids: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: DPFDHDJCAPI
#[derive(proto_derive::CmdID)]
#[cmdid(3197)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrialBackGroundMusicCsReq {
    #[prost(uint32, tag = "7")]
    pub pigbbgclamj: u32,
}
/// Obf: HJKOFKLPCBB
#[derive(proto_derive::CmdID)]
#[cmdid(3176)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrialBackGroundMusicScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "5")]
    pub pigbbgclamj: u32,
}
/// Obf: NDDKNEPFJNL
#[derive(proto_derive::CmdID)]
#[cmdid(701)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetStageLineupCsReq {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jlchbkkfanl {
    #[prost(uint32, tag = "15")]
    pub dogdacflboe: u32,
    #[prost(uint32, tag = "14")]
    pub stage_type: u32,
}
/// Obf: KCGCKMIMFFJ
#[derive(proto_derive::CmdID)]
#[cmdid(768)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetStageLineupScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "6")]
    pub nmkpekmmnbp: ::prost::alloc::vec::Vec<Jlchbkkfanl>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LineupAvatar {
    #[prost(message, optional, tag = "1")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
    #[prost(uint32, tag = "8")]
    pub slot: u32,
    #[prost(uint32, tag = "15")]
    pub id: u32,
    #[prost(enumeration = "AvatarType", tag = "11")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "7")]
    pub hp: u32,
    #[prost(uint32, tag = "3")]
    pub satiety: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LineupInfo {
    #[prost(uint32, tag = "7")]
    pub leader_slot: u32,
    #[prost(string, tag = "5")]
    pub name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "12")]
    pub plane_id: u32,
    #[prost(uint32, tag = "6")]
    pub index: u32,
    #[prost(uint32, repeated, tag = "8")]
    pub mkdfjccbiop: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "ExtraLineupType", tag = "13")]
    pub extra_lineup_type: i32,
    #[prost(message, repeated, tag = "15")]
    pub avatar_list: ::prost::alloc::vec::Vec<LineupAvatar>,
    #[prost(uint32, tag = "4")]
    pub emdhekkocmd: u32,
    #[prost(uint32, tag = "3")]
    pub mp: u32,
    #[prost(bool, tag = "1")]
    pub bfnbklmamkb: bool,
    #[prost(uint32, repeated, tag = "9")]
    pub mankkfpbfcb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "10")]
    pub kompcjpapkm: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "2")]
    pub is_virtual: bool,
    #[prost(uint32, tag = "14")]
    pub max_mp: u32,
}
/// Obf: KFLMLMPIADH
#[derive(proto_derive::CmdID)]
#[cmdid(758)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurLineupDataCsReq {}
/// Obf: JPAFCFGBILK
#[derive(proto_derive::CmdID)]
#[cmdid(724)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurLineupDataScRsp {
    #[prost(message, optional, tag = "14")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: EFPDILJKPDC
#[derive(proto_derive::CmdID)]
#[cmdid(730)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JoinLineupCsReq {
    #[prost(enumeration = "ExtraLineupType", tag = "11")]
    pub extra_lineup_type: i32,
    #[prost(uint32, tag = "10")]
    pub slot: u32,
    #[prost(uint32, tag = "9")]
    pub index: u32,
    #[prost(uint32, tag = "7")]
    pub plane_id: u32,
    #[prost(enumeration = "AvatarType", tag = "5")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "3")]
    pub base_avatar_id: u32,
    #[prost(bool, tag = "4")]
    pub is_virtual: bool,
}
/// Obf: HJNPHDFHEEF
#[derive(proto_derive::CmdID)]
#[cmdid(756)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JoinLineupScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: BKNJPMJDDKC
#[derive(proto_derive::CmdID)]
#[cmdid(797)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuitLineupCsReq {
    #[prost(enumeration = "AvatarType", tag = "2")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "12")]
    pub index: u32,
    #[prost(uint32, tag = "15")]
    pub plane_id: u32,
    #[prost(bool, tag = "5")]
    pub is_virtual: bool,
    #[prost(uint32, tag = "7")]
    pub base_avatar_id: u32,
    #[prost(enumeration = "ExtraLineupType", tag = "10")]
    pub extra_lineup_type: i32,
}
/// Obf: INLPMPKLCJM
#[derive(proto_derive::CmdID)]
#[cmdid(776)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuitLineupScRsp {
    #[prost(uint32, tag = "5")]
    pub base_avatar_id: u32,
    #[prost(bool, tag = "6")]
    pub is_virtual: bool,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub plane_id: u32,
    #[prost(bool, tag = "9")]
    pub hiofpdkdofd: bool,
}
/// Obf: DAKKNMKOLCG
#[derive(proto_derive::CmdID)]
#[cmdid(728)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwapLineupCsReq {
    #[prost(uint32, tag = "8")]
    pub plane_id: u32,
    /// TODO
    #[prost(uint32, tag = "11")]
    pub src_slot: u32,
    #[prost(enumeration = "ExtraLineupType", tag = "3")]
    pub extra_lineup_type: i32,
    /// TODO
    #[prost(uint32, tag = "15")]
    pub dst_slot: u32,
    #[prost(bool, tag = "10")]
    pub is_virtual: bool,
    #[prost(uint32, tag = "4")]
    pub index: u32,
}
/// Obf: JHKAIEIAOBK
#[derive(proto_derive::CmdID)]
#[cmdid(711)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwapLineupScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: SyncLineupNotify
#[derive(proto_derive::CmdID)]
#[cmdid(705)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncLineupNotify {
    #[prost(enumeration = "SyncReason", repeated, tag = "1")]
    pub reason_list: ::prost::alloc::vec::Vec<i32>,
    #[prost(message, optional, tag = "2")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
/// Obf: KICAGNDCBIN
#[derive(proto_derive::CmdID)]
#[cmdid(714)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLineupAvatarDataCsReq {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Acmnhkhplod {
    #[prost(uint32, tag = "3")]
    pub id: u32,
    #[prost(enumeration = "AvatarType", tag = "13")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "12")]
    pub hp: u32,
}
/// Obf: HJMJMLJKLNB
#[derive(proto_derive::CmdID)]
#[cmdid(749)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLineupAvatarDataScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "12")]
    pub lijinikjnad: ::prost::alloc::vec::Vec<Acmnhkhplod>,
}
/// Obf: CCGDEOKBJCD
#[derive(proto_derive::CmdID)]
#[cmdid(722)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangeLineupLeaderCsReq {
    #[prost(uint32, tag = "6")]
    pub slot: u32,
}
/// Obf: FIBFDBPAKOH
#[derive(proto_derive::CmdID)]
#[cmdid(747)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangeLineupLeaderScRsp {
    #[prost(uint32, tag = "13")]
    pub slot: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: HLFLPKJOOJN
#[derive(proto_derive::CmdID)]
#[cmdid(780)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchLineupIndexCsReq {
    #[prost(uint32, tag = "15")]
    pub index: u32,
}
/// Obf: IHLDJHJKJKF
#[derive(proto_derive::CmdID)]
#[cmdid(739)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchLineupIndexScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "2")]
    pub index: u32,
}
/// Obf: IGPECPNPCDL
#[derive(proto_derive::CmdID)]
#[cmdid(796)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetLineupNameCsReq {
    #[prost(string, tag = "9")]
    pub name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "7")]
    pub index: u32,
}
/// Obf: AJMCNJIGMHN
#[derive(proto_derive::CmdID)]
#[cmdid(723)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetLineupNameScRsp {
    #[prost(string, tag = "5")]
    pub name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub index: u32,
}
/// Obf: KIIIGJJJCGG
#[derive(proto_derive::CmdID)]
#[cmdid(712)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAllLineupDataCsReq {}
/// Obf: NLEGPOOLDDM
#[derive(proto_derive::CmdID)]
#[cmdid(717)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAllLineupDataScRsp {
    #[prost(message, repeated, tag = "2")]
    pub lineup_list: ::prost::alloc::vec::Vec<LineupInfo>,
    #[prost(uint32, tag = "8")]
    pub cur_index: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: ALAJHGKJAIB
#[derive(proto_derive::CmdID)]
#[cmdid(791)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VirtualLineupDestroyNotify {
    #[prost(uint32, tag = "10")]
    pub plane_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LineupSlotData {
    #[prost(enumeration = "AvatarType", tag = "3")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "6")]
    pub slot: u32,
    #[prost(uint32, tag = "14")]
    pub id: u32,
}
/// Obf: FEENFGFKLCC
#[derive(proto_derive::CmdID)]
#[cmdid(718)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReplaceLineupCsReq {
    #[prost(message, repeated, tag = "12")]
    pub slots: ::prost::alloc::vec::Vec<LineupSlotData>,
    #[prost(uint32, tag = "5")]
    pub emdhekkocmd: u32,
    #[prost(uint32, tag = "9")]
    pub plane_id: u32,
    #[prost(bool, tag = "11")]
    pub is_virtual: bool,
    #[prost(uint32, tag = "8")]
    pub index: u32,
    #[prost(enumeration = "ExtraLineupType", tag = "1")]
    pub extra_lineup_type: i32,
    #[prost(uint32, tag = "2")]
    pub leader_slot: u32,
}
/// Obf: KPIFEBMCIJM
#[derive(proto_derive::CmdID)]
#[cmdid(795)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReplaceLineupScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: JEKDEEFNHOB
#[derive(proto_derive::CmdID)]
#[cmdid(750)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExtraLineupDestroyNotify {
    #[prost(enumeration = "ExtraLineupType", tag = "5")]
    pub extra_lineup_type: i32,
}
/// Obf: AFJJIAFIDFI
#[derive(proto_derive::CmdID)]
#[cmdid(748)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VirtualLineupTrialAvatarChangeScNotify {
    #[prost(uint32, repeated, tag = "14")]
    pub kfmffggjmne: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "8")]
    pub iblbnianphd: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "2")]
    pub cliigmnmhna: bool,
    #[prost(uint32, tag = "4")]
    pub plane_id: u32,
}
/// Obf: PIJPJCJMIEM
#[derive(proto_derive::CmdID)]
#[cmdid(7376)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyCreateCsReq {
    #[prost(enumeration = "Noogdpkefkl", tag = "3")]
    pub nbdlpgbidlc: i32,
    #[prost(message, optional, tag = "1")]
    pub ejofcnaedhk: ::core::option::Option<Epeghcgcmhp>,
}
/// Obf: LHONGADOAIA
#[derive(proto_derive::CmdID)]
#[cmdid(7387)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyCreateScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint64, tag = "10")]
    pub room_id: u64,
    #[prost(message, repeated, tag = "1")]
    pub lipjdjpmokb: ::prost::alloc::vec::Vec<Cbbdiomifhd>,
    #[prost(enumeration = "Noogdpkefkl", tag = "8")]
    pub nbdlpgbidlc: i32,
}
/// Obf: GBHFGGKAIBE
#[derive(proto_derive::CmdID)]
#[cmdid(7352)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyInviteCsReq {
    #[prost(uint32, repeated, tag = "9")]
    pub search_uid_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DGNHNKCLLLG
#[derive(proto_derive::CmdID)]
#[cmdid(7398)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyInviteScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub search_uid_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IBEGHCAALBN
#[derive(proto_derive::CmdID)]
#[cmdid(7391)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyJoinCsReq {
    #[prost(uint64, tag = "12")]
    pub room_id: u64,
    #[prost(message, optional, tag = "7")]
    pub ejofcnaedhk: ::core::option::Option<Epeghcgcmhp>,
}
/// Obf: CFEGEAAFLCC
#[derive(proto_derive::CmdID)]
#[cmdid(7393)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyJoinScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(enumeration = "Noogdpkefkl", tag = "15")]
    pub nbdlpgbidlc: i32,
    #[prost(message, repeated, tag = "5")]
    pub lipjdjpmokb: ::prost::alloc::vec::Vec<Cbbdiomifhd>,
    #[prost(uint64, tag = "7")]
    pub room_id: u64,
}
/// Obf: LJHPEEBAKJN
#[derive(proto_derive::CmdID)]
#[cmdid(7354)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyQuitCsReq {}
/// Obf: HCDCFKILGJF
#[derive(proto_derive::CmdID)]
#[cmdid(7382)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyQuitScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: LHIFNONECPI
#[derive(proto_derive::CmdID)]
#[cmdid(7356)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyBeginCsReq {}
/// Obf: IAGAFFMKHLL
#[derive(proto_derive::CmdID)]
#[cmdid(7383)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyBeginScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "7")]
    pub lipjdjpmokb: ::prost::alloc::vec::Vec<Cbbdiomifhd>,
}
/// Obf: HFEEHJGOKDP
#[derive(proto_derive::CmdID)]
#[cmdid(7357)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyModifyPlayerInfoCsReq {
    #[prost(message, optional, tag = "4")]
    pub ejofcnaedhk: ::core::option::Option<Epeghcgcmhp>,
    #[prost(enumeration = "Aokdmakgdgj", tag = "9")]
    pub slot: i32,
    #[prost(uint32, tag = "12")]
    pub hfdjaelbnga: u32,
}
/// Obf: CGEGEGAOGGP
#[derive(proto_derive::CmdID)]
#[cmdid(7379)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyModifyPlayerInfoScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: GEBOIFMBHCM
#[derive(proto_derive::CmdID)]
#[cmdid(7380)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbySyncInfoScNotify {
    #[prost(uint32, tag = "9")]
    pub uid: u32,
    #[prost(enumeration = "Aokdmakgdgj", tag = "5")]
    pub slot: i32,
    #[prost(message, repeated, tag = "2")]
    pub lipjdjpmokb: ::prost::alloc::vec::Vec<Cbbdiomifhd>,
}
/// Obf: MLNDBAMAFBP
#[derive(proto_derive::CmdID)]
#[cmdid(7375)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyKickOutCsReq {
    #[prost(uint32, tag = "13")]
    pub uid: u32,
}
/// Obf: ADMNOLCLGNA
#[derive(proto_derive::CmdID)]
#[cmdid(7365)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyKickOutScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: GDIPNFLLJGP
#[derive(proto_derive::CmdID)]
#[cmdid(7364)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyInviteScNotify {
    #[prost(enumeration = "Noogdpkefkl", tag = "7")]
    pub nbdlpgbidlc: i32,
    #[prost(uint32, tag = "14")]
    pub sender_uid: u32,
    #[prost(uint32, tag = "11")]
    pub room_id: u32,
}
/// Obf: IDHKGFNBGKD
#[derive(proto_derive::CmdID)]
#[cmdid(7390)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyGetInfoCsReq {}
/// Obf: FBOGFJHOKFJ
#[derive(proto_derive::CmdID)]
#[cmdid(7360)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyGetInfoScRsp {
    #[prost(uint64, tag = "13")]
    pub nogfeemnhpc: u64,
    #[prost(enumeration = "Noogdpkefkl", tag = "9")]
    pub nbdlpgbidlc: i32,
    #[prost(uint64, tag = "6")]
    pub room_id: u64,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "1")]
    pub lipjdjpmokb: ::prost::alloc::vec::Vec<Cbbdiomifhd>,
}
/// Obf: DMMEIAACHJE
#[derive(proto_derive::CmdID)]
#[cmdid(801)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMailCsReq {
    #[prost(uint32, tag = "7")]
    pub dapcdnelcma: u32,
    #[prost(uint32, tag = "12")]
    pub cijefnoojjk: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientMail {
    #[prost(string, repeated, tag = "3")]
    pub para_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, tag = "11")]
    pub title: ::prost::alloc::string::String,
    #[prost(int64, tag = "4")]
    pub expire_time: i64,
    #[prost(int64, tag = "13")]
    pub time: i64,
    #[prost(string, tag = "8")]
    pub sender: ::prost::alloc::string::String,
    #[prost(bool, tag = "10")]
    pub is_read: bool,
    #[prost(message, optional, tag = "2")]
    pub attachment: ::core::option::Option<ItemList>,
    #[prost(enumeration = "MailType", tag = "9")]
    pub mail_type: i32,
    #[prost(uint32, tag = "14")]
    pub id: u32,
    #[prost(string, tag = "7")]
    pub content: ::prost::alloc::string::String,
    #[prost(uint32, tag = "6")]
    pub template_id: u32,
}
/// Obf: GetMailScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(868)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMailScRsp {
    #[prost(message, repeated, tag = "10")]
    pub mail_list: ::prost::alloc::vec::Vec<ClientMail>,
    #[prost(uint32, tag = "8")]
    pub total_num: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(bool, tag = "14")]
    pub is_end: bool,
    #[prost(message, repeated, tag = "3")]
    pub notice_mail_list: ::prost::alloc::vec::Vec<ClientMail>,
    #[prost(uint32, tag = "9")]
    pub start: u32,
}
/// Obf: HIJLOFHDMPP
#[derive(proto_derive::CmdID)]
#[cmdid(858)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarkReadMailCsReq {
    #[prost(uint32, tag = "7")]
    pub id: u32,
}
/// Obf: ICHOMJJHEGI
#[derive(proto_derive::CmdID)]
#[cmdid(824)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarkReadMailScRsp {
    #[prost(uint32, tag = "14")]
    pub id: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: NGIBFKBABOH
#[derive(proto_derive::CmdID)]
#[cmdid(830)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DelMailCsReq {
    #[prost(uint32, repeated, tag = "15")]
    pub id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DelMailScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(856)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DelMailScRsp {
    #[prost(uint32, repeated, tag = "2")]
    pub id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: NHMFCFKCFIL
#[derive(proto_derive::CmdID)]
#[cmdid(897)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMailAttachmentCsReq {
    #[prost(uint32, repeated, tag = "13")]
    pub mail_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub optional_reward_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientMailAttachmentItem {
    #[prost(uint32, tag = "9")]
    pub mail_id: u32,
    #[prost(uint32, tag = "6")]
    pub item_id: u32,
}
/// Obf: TakeMailAttachmentScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(876)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMailAttachmentScRsp {
    #[prost(message, optional, tag = "4")]
    pub attachment: ::core::option::Option<ItemList>,
    #[prost(uint32, repeated, tag = "13")]
    pub succ_mail_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "8")]
    pub fail_mail_list: ::prost::alloc::vec::Vec<ClientMailAttachmentItem>,
}
/// Obf: NewMailScNotify
#[derive(proto_derive::CmdID)]
#[cmdid(828)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NewMailScNotify {
    #[prost(uint32, repeated, tag = "2")]
    pub mail_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MapRotationData {
    #[prost(message, repeated, tag = "7")]
    pub charger_info_list: ::prost::alloc::vec::Vec<ChargerInfo>,
    #[prost(bool, tag = "6")]
    pub ighlhohcckc: bool,
    #[prost(message, repeated, tag = "8")]
    pub rotater_data_list: ::prost::alloc::vec::Vec<RotaterData>,
    #[prost(message, optional, tag = "9")]
    pub energy_info: ::core::option::Option<RotatorEnergyInfo>,
    #[prost(uint32, tag = "10")]
    pub nflbondjaie: u32,
    #[prost(int32, tag = "15")]
    pub acnpbbnlmie: i32,
    #[prost(message, optional, tag = "11")]
    pub map_info: ::core::option::Option<RotateMapInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RotatorEnergyInfo {
    /// TODO!
    #[prost(uint32, tag = "7")]
    pub cur_num: u32,
    #[prost(uint32, tag = "14")]
    pub max_num: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RotateMapInfo {
    #[prost(message, optional, tag = "9")]
    pub rotate_vector: ::core::option::Option<RotateVector>,
    #[prost(message, optional, tag = "12")]
    pub vector: ::core::option::Option<Vector>,
}
/// Obf: BCIPJENMJCE
#[derive(proto_derive::CmdID)]
#[cmdid(6801)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterMapRotationRegionCsReq {
    #[prost(uint32, tag = "4")]
    pub acnpbbnlmie: u32,
    #[prost(uint32, tag = "13")]
    pub nflbondjaie: u32,
    #[prost(message, optional, tag = "15")]
    pub motion: ::core::option::Option<MotionInfo>,
}
/// Obf: GANIBGECNNI
#[derive(proto_derive::CmdID)]
#[cmdid(6868)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterMapRotationRegionScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "5")]
    pub acnpbbnlmie: u32,
    #[prost(message, optional, tag = "1")]
    pub energy_info: ::core::option::Option<RotatorEnergyInfo>,
    #[prost(uint32, tag = "11")]
    pub nflbondjaie: u32,
    #[prost(message, optional, tag = "14")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(uint32, tag = "8")]
    pub client_pos_version: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChargerInfo {
    #[prost(uint32, tag = "10")]
    pub group_id: u32,
    #[prost(uint32, tag = "12")]
    pub glhagjgaehe: u32,
}
/// Obf: JIIHJIMEMPJ
#[derive(proto_derive::CmdID)]
#[cmdid(6858)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InteractChargerCsReq {
    #[prost(message, optional, tag = "3")]
    pub charger_info: ::core::option::Option<ChargerInfo>,
}
/// Obf: ICLACJJDKBC
#[derive(proto_derive::CmdID)]
#[cmdid(6824)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InteractChargerScRsp {
    #[prost(message, optional, tag = "11")]
    pub charger_info: ::core::option::Option<ChargerInfo>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub energy_info: ::core::option::Option<RotatorEnergyInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RotaterData {
    #[prost(uint32, tag = "11")]
    pub glhagjgaehe: u32,
    #[prost(float, tag = "8")]
    pub lkefolcgfgd: f32,
    #[prost(uint32, tag = "2")]
    pub group_id: u32,
}
/// Obf: MHECGOKNFLM
#[derive(proto_derive::CmdID)]
#[cmdid(6830)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeployRotaterCsReq {
    #[prost(message, optional, tag = "7")]
    pub rotater_data: ::core::option::Option<RotaterData>,
}
/// Obf: IMKHHNDLJAK
#[derive(proto_derive::CmdID)]
#[cmdid(6856)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeployRotaterScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub rotater_data: ::core::option::Option<RotaterData>,
    #[prost(message, optional, tag = "3")]
    pub energy_info: ::core::option::Option<RotatorEnergyInfo>,
}
/// Obf: JACPADNMLAF
#[derive(proto_derive::CmdID)]
#[cmdid(6897)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RotateMapCsReq {
    #[prost(uint32, tag = "10")]
    pub glhagjgaehe: u32,
    #[prost(message, optional, tag = "3")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(message, optional, tag = "13")]
    pub map_info: ::core::option::Option<RotateMapInfo>,
    #[prost(uint32, tag = "6")]
    pub group_id: u32,
}
/// Obf: NLFMALJPEDM
#[derive(proto_derive::CmdID)]
#[cmdid(6876)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RotateMapScRsp {
    #[prost(message, optional, tag = "12")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(uint32, tag = "3")]
    pub client_pos_version: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: FCNKMDHNMNL
#[derive(proto_derive::CmdID)]
#[cmdid(6828)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LeaveMapRotationRegionCsReq {
    #[prost(message, optional, tag = "7")]
    pub motion: ::core::option::Option<MotionInfo>,
}
/// Obf: CDKKKKKFGDN
#[derive(proto_derive::CmdID)]
#[cmdid(6811)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LeaveMapRotationRegionScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub client_pos_version: u32,
    #[prost(message, optional, tag = "1")]
    pub motion: ::core::option::Option<MotionInfo>,
}
/// Obf: MNAKOONBLEC
#[derive(proto_derive::CmdID)]
#[cmdid(6805)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMapRotationDataCsReq {}
/// Obf: BMCKKKBCPBN
#[derive(proto_derive::CmdID)]
#[cmdid(6814)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMapRotationDataScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub map_info: ::core::option::Option<RotateMapInfo>,
    #[prost(uint32, tag = "5")]
    pub nflbondjaie: u32,
    #[prost(message, optional, tag = "1")]
    pub energy_info: ::core::option::Option<RotatorEnergyInfo>,
    #[prost(message, repeated, tag = "8")]
    pub charger_info_list: ::prost::alloc::vec::Vec<ChargerInfo>,
    #[prost(int32, tag = "14")]
    pub acnpbbnlmie: i32,
    #[prost(bool, tag = "9")]
    pub omejllmnpcn: bool,
    #[prost(message, repeated, tag = "12")]
    pub rotater_data_list: ::prost::alloc::vec::Vec<RotaterData>,
}
/// Obf: OGIKFNAJMKD
#[derive(proto_derive::CmdID)]
#[cmdid(6849)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResetMapRotationRegionCsReq {
    #[prost(message, optional, tag = "10")]
    pub map_info: ::core::option::Option<RotateMapInfo>,
    #[prost(message, optional, tag = "14")]
    pub motion: ::core::option::Option<MotionInfo>,
}
/// Obf: FJDJOHKOALD
#[derive(proto_derive::CmdID)]
#[cmdid(6822)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResetMapRotationRegionScRsp {
    #[prost(uint32, tag = "2")]
    pub client_pos_version: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub motion: ::core::option::Option<MotionInfo>,
}
/// Obf: AGKAIGOINHH
#[derive(proto_derive::CmdID)]
#[cmdid(6847)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LeaveMapRotationRegionScNotify {}
/// Obf: FBFGHEMDPLC
#[derive(proto_derive::CmdID)]
#[cmdid(6880)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateEnergyScNotify {
    #[prost(message, optional, tag = "3")]
    pub energy_info: ::core::option::Option<RotatorEnergyInfo>,
}
/// Obf: MLDGPOOKPBM
#[derive(proto_derive::CmdID)]
#[cmdid(6839)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateMapRotationDataScNotify {
    #[prost(message, repeated, tag = "4")]
    pub charger_info_list: ::prost::alloc::vec::Vec<ChargerInfo>,
    #[prost(bool, tag = "2")]
    pub omejllmnpcn: bool,
    #[prost(int32, tag = "12")]
    pub acnpbbnlmie: i32,
    #[prost(message, optional, tag = "6")]
    pub energy_info: ::core::option::Option<RotatorEnergyInfo>,
    #[prost(message, optional, tag = "13")]
    pub map_info: ::core::option::Option<RotateMapInfo>,
    #[prost(uint32, tag = "9")]
    pub nflbondjaie: u32,
    #[prost(message, repeated, tag = "8")]
    pub rotater_data_list: ::prost::alloc::vec::Vec<RotaterData>,
}
/// Obf: EFLGMAFLDGK
#[derive(proto_derive::CmdID)]
#[cmdid(6896)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RemoveRotaterCsReq {
    #[prost(message, optional, tag = "10")]
    pub rotater_data: ::core::option::Option<RotaterData>,
}
/// Obf: APBBFPABNII
#[derive(proto_derive::CmdID)]
#[cmdid(6823)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RemoveRotaterScRsp {
    #[prost(message, optional, tag = "8")]
    pub rotater_data: ::core::option::Option<RotaterData>,
    #[prost(message, optional, tag = "11")]
    pub energy_info: ::core::option::Option<RotatorEnergyInfo>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: IGPELCGOPMD
#[derive(proto_derive::CmdID)]
#[cmdid(6812)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateRotaterScNotify {
    #[prost(message, repeated, tag = "15")]
    pub rotater_data_list: ::prost::alloc::vec::Vec<RotaterData>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mjfcembpich {
    #[prost(uint32, tag = "5")]
    pub floor_id: u32,
    #[prost(uint32, tag = "4")]
    pub plane_id: u32,
    #[prost(uint32, tag = "14")]
    pub config_id: u32,
    #[prost(uint32, tag = "3")]
    pub group_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibcgaglolna {
    #[prost(message, repeated, tag = "9")]
    pub bcemakcmadn: ::prost::alloc::vec::Vec<Mjfcembpich>,
    #[prost(int64, tag = "5")]
    pub jjcipimcbbj: i64,
    #[prost(uint32, tag = "11")]
    pub hobjminnbop: u32,
}
/// Obf: GGINONMHBKH
#[derive(proto_derive::CmdID)]
#[cmdid(8197)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMarkChestCsReq {}
/// Obf: GOMJNODBOCJ
#[derive(proto_derive::CmdID)]
#[cmdid(8188)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMarkChestScRsp {
    #[prost(message, repeated, tag = "3")]
    pub hiccaiapgmm: ::prost::alloc::vec::Vec<Ibcgaglolna>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: IJDKOLEICOJ
#[derive(proto_derive::CmdID)]
#[cmdid(8192)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateMarkChestCsReq {
    #[prost(uint32, tag = "5")]
    pub hobjminnbop: u32,
    #[prost(uint32, tag = "3")]
    pub dbfpaafodkg: u32,
    #[prost(message, repeated, tag = "11")]
    pub bcemakcmadn: ::prost::alloc::vec::Vec<Mjfcembpich>,
}
/// Obf: MNJGDBOAHJB
#[derive(proto_derive::CmdID)]
#[cmdid(8182)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateMarkChestScRsp {
    #[prost(uint32, tag = "12")]
    pub hobjminnbop: u32,
    #[prost(message, repeated, tag = "4")]
    pub hiccaiapgmm: ::prost::alloc::vec::Vec<Ibcgaglolna>,
    #[prost(uint32, tag = "3")]
    pub dbfpaafodkg: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: CHOEBMGIKBN
#[derive(proto_derive::CmdID)]
#[cmdid(8184)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarkChestChangedScNotify {
    #[prost(message, repeated, tag = "11")]
    pub hiccaiapgmm: ::prost::alloc::vec::Vec<Ibcgaglolna>,
}
/// Obf: DIPCGPPPIFM
#[derive(proto_derive::CmdID)]
#[cmdid(7326)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartMatchCsReq {
    #[prost(message, optional, tag = "12")]
    pub ejofcnaedhk: ::core::option::Option<Epeghcgcmhp>,
    #[prost(enumeration = "Noogdpkefkl", tag = "11")]
    pub nbdlpgbidlc: i32,
}
/// Obf: LHIBLDGHJPO
#[derive(proto_derive::CmdID)]
#[cmdid(7337)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartMatchScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub ejofcnaedhk: ::core::option::Option<Epeghcgcmhp>,
}
/// Obf: NIKJIKNJOJP
#[derive(proto_derive::CmdID)]
#[cmdid(7341)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CancelMatchCsReq {}
/// Obf: LFAHPLFNMBF
#[derive(proto_derive::CmdID)]
#[cmdid(7343)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CancelMatchScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: BGAEOIBBAHO
#[derive(proto_derive::CmdID)]
#[cmdid(7306)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchResultScNotify {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "11")]
    pub lipjdjpmokb: ::prost::alloc::vec::Vec<Cbbdiomifhd>,
}
/// Obf: KELFFABDNPC
#[derive(proto_derive::CmdID)]
#[cmdid(7333)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCrossInfoCsReq {}
/// Obf: AIIPLMKCGDA
#[derive(proto_derive::CmdID)]
#[cmdid(7307)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCrossInfoScRsp {
    #[prost(uint64, tag = "7")]
    pub room_id: u64,
    #[prost(uint64, tag = "1")]
    pub nogfeemnhpc: u64,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(enumeration = "Noogdpkefkl", tag = "3")]
    pub nbdlpgbidlc: i32,
}
/// Obf: OFMCCFJNGEF
#[derive(proto_derive::CmdID)]
#[cmdid(7426)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeGetDataCsReq {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lmpiecfmfoi {
    #[prost(uint32, tag = "5")]
    pub acjcphifmln: u32,
    #[prost(uint32, tag = "2")]
    pub ebgmbdmpegm: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dhonnihmaci {
    #[prost(uint32, tag = "8")]
    pub fmkkabmdinj: u32,
    #[prost(uint32, tag = "12")]
    pub count: u32,
    #[prost(uint32, tag = "9")]
    pub pos: u32,
    #[prost(uint32, tag = "3")]
    pub bkmpfeocfib: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Abgejnbcdjk {
    #[prost(message, repeated, tag = "15")]
    pub bgafcobnlpm: ::prost::alloc::vec::Vec<Dhonnihmaci>,
    #[prost(message, repeated, tag = "8")]
    pub jmbciclchkd: ::prost::alloc::vec::Vec<Lmpiecfmfoi>,
    #[prost(map = "uint32, uint32", tag = "2")]
    pub ilbhdlmlmck: ::std::collections::HashMap<u32, u32>,
    #[prost(map = "uint32, uint32", tag = "14")]
    pub begmfiaphlm: ::std::collections::HashMap<u32, u32>,
}
/// Obf: CLNGGBNIFJL
#[derive(proto_derive::CmdID)]
#[cmdid(7437)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeGetDataScRsp {
    #[prost(message, optional, tag = "11")]
    pub mfkjdoeblim: ::core::option::Option<Abgejnbcdjk>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: BBDEFCGCKDC
#[derive(proto_derive::CmdID)]
#[cmdid(7441)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeLevelEndCsReq {
    #[prost(uint32, tag = "9")]
    pub ebgmbdmpegm: u32,
    #[prost(uint32, tag = "8")]
    pub fmkkabmdinj: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub jeppfdinbnb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub acjcphifmln: u32,
    #[prost(uint32, tag = "4")]
    pub bkmpfeocfib: u32,
    #[prost(map = "uint32, uint32", tag = "14")]
    pub ilbhdlmlmck: ::std::collections::HashMap<u32, u32>,
    #[prost(string, tag = "6")]
    pub miilnlhddjm: ::prost::alloc::string::String,
}
/// Obf: NNJADKELKCK
#[derive(proto_derive::CmdID)]
#[cmdid(7443)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeLevelEndScRsp {
    #[prost(uint32, tag = "12")]
    pub acjcphifmln: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub ebgmbdmpegm: u32,
}
/// Obf: ALIAOBCDFDG
#[derive(proto_derive::CmdID)]
#[cmdid(7406)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeSyncDataScNotify {
    #[prost(message, optional, tag = "7")]
    pub mfkjdoeblim: ::core::option::Option<Abgejnbcdjk>,
}
/// Obf: JFHHMNCCCDB
#[derive(proto_derive::CmdID)]
#[cmdid(7433)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeSetBirdPosCsReq {
    #[prost(uint32, tag = "3")]
    pub pos: u32,
    #[prost(uint32, tag = "1")]
    pub bkmpfeocfib: u32,
}
/// Obf: OAFAJMBNNNG
#[derive(proto_derive::CmdID)]
#[cmdid(7407)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeSetBirdPosScRsp {
    #[prost(uint32, tag = "2")]
    pub bkmpfeocfib: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub pos: u32,
}
/// Obf: JBGJPJGLNGF
#[derive(proto_derive::CmdID)]
#[cmdid(2701)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetNpcMessageGroupCsReq {
    #[prost(uint32, repeated, tag = "2")]
    pub beeldjgiomn: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nnmlcfaibde {
    #[prost(uint32, tag = "1")]
    pub cmmbbhhpmko: u32,
    #[prost(uint32, tag = "14")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eiokjolkjpb {
    #[prost(uint32, repeated, tag = "10")]
    pub onleimhgfco: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "5")]
    pub item_list: ::prost::alloc::vec::Vec<Nnmlcfaibde>,
    #[prost(enumeration = "Liejljnbjnp", tag = "11")]
    pub status: i32,
    #[prost(uint32, tag = "15")]
    pub dchlcmgkipk: u32,
    #[prost(uint32, tag = "3")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ddbljmpngai {
    #[prost(message, repeated, tag = "12")]
    pub gghlafiiama: ::prost::alloc::vec::Vec<Eiokjolkjpb>,
    #[prost(uint32, tag = "14")]
    pub dkpnkgnmceh: u32,
    #[prost(int64, tag = "3")]
    pub hjegilagjoj: i64,
    #[prost(enumeration = "Llhaabppapd", tag = "2")]
    pub status: i32,
    #[prost(uint32, tag = "4")]
    pub id: u32,
}
/// Obf: NOLLFLMILFJ
#[derive(proto_derive::CmdID)]
#[cmdid(2768)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetNpcMessageGroupScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "13")]
    pub hoblfdjkojo: ::prost::alloc::vec::Vec<Ddbljmpngai>,
}
/// Obf: IGJKJNDOGEF
#[derive(proto_derive::CmdID)]
#[cmdid(2758)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetNpcStatusCsReq {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmoiobfajge {
    #[prost(bool, tag = "2")]
    pub hlnfbgacnpo: bool,
    #[prost(uint32, tag = "4")]
    pub npc_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gemjdhnlklc {
    #[prost(int64, tag = "11")]
    pub hjegilagjoj: i64,
    #[prost(uint32, tag = "6")]
    pub group_id: u32,
    #[prost(enumeration = "Llhaabppapd", tag = "15")]
    pub ebfajeangea: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lopcjeojhcb {
    #[prost(uint32, tag = "3")]
    pub lbmncagokif: u32,
    #[prost(enumeration = "Liejljnbjnp", tag = "7")]
    pub oppampfbfjf: i32,
}
/// Obf: NENLHKPIHFE
#[derive(proto_derive::CmdID)]
#[cmdid(2724)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetNpcStatusScRsp {
    #[prost(message, repeated, tag = "14")]
    pub eipninjnkkp: ::prost::alloc::vec::Vec<Dmoiobfajge>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: LCJGNPPLJPL
#[derive(proto_derive::CmdID)]
#[cmdid(2730)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishItemIdCsReq {
    #[prost(uint32, tag = "4")]
    pub item_id: u32,
    #[prost(uint32, tag = "3")]
    pub cmmbbhhpmko: u32,
}
/// Obf: NLMHMBOPNGG
#[derive(proto_derive::CmdID)]
#[cmdid(2756)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishItemIdScRsp {
    #[prost(uint32, tag = "3")]
    pub item_id: u32,
    #[prost(uint32, tag = "8")]
    pub cmmbbhhpmko: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: KAMANMBICPB
#[derive(proto_derive::CmdID)]
#[cmdid(2797)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishSectionIdCsReq {
    #[prost(uint32, tag = "5")]
    pub lbmncagokif: u32,
}
/// Obf: PDEHHHADMAM
#[derive(proto_derive::CmdID)]
#[cmdid(2776)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishSectionIdScRsp {
    #[prost(message, optional, tag = "2")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "5")]
    pub lbmncagokif: u32,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: BNNJHIIGFOO
#[derive(proto_derive::CmdID)]
#[cmdid(2728)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishPerformSectionIdCsReq {
    #[prost(uint32, tag = "2")]
    pub lbmncagokif: u32,
    #[prost(message, repeated, tag = "9")]
    pub item_list: ::prost::alloc::vec::Vec<Nnmlcfaibde>,
}
/// Obf: CHAHPHPAIFE
#[derive(proto_derive::CmdID)]
#[cmdid(2711)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishPerformSectionIdScRsp {
    #[prost(message, repeated, tag = "3")]
    pub item_list: ::prost::alloc::vec::Vec<Nnmlcfaibde>,
    #[prost(uint32, tag = "6")]
    pub lbmncagokif: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: BEGJOHLPFPL
#[derive(proto_derive::CmdID)]
#[cmdid(2705)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMissionMessageInfoCsReq {}
/// Obf: OPKGGFELILM
#[derive(proto_derive::CmdID)]
#[cmdid(2714)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMissionMessageInfoScRsp {
    #[prost(map = "uint32, uint32", tag = "3")]
    pub apoldlgpkop: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: IDPMNKKPAFM
#[derive(proto_derive::CmdID)]
#[cmdid(4101)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ShareCsReq {
    #[prost(uint32, tag = "2")]
    pub enfkggnomeo: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Adgnkecpoma {
    #[prost(uint32, tag = "9")]
    pub cccdkgamdlb: u32,
    #[prost(uint32, tag = "8")]
    pub enfkggnomeo: u32,
}
/// Obf: CANCNJEHNCC
#[derive(proto_derive::CmdID)]
#[cmdid(4168)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ShareScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "11")]
    pub fgplilebkgl: ::core::option::Option<Adgnkecpoma>,
}
/// Obf: KAFCOKKCLHF
#[derive(proto_derive::CmdID)]
#[cmdid(4158)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetShareDataCsReq {}
/// Obf: IIHMBEGFHFB
#[derive(proto_derive::CmdID)]
#[cmdid(4124)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetShareDataScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "9")]
    pub mfkjjbpndam: ::prost::alloc::vec::Vec<Adgnkecpoma>,
}
/// Obf: JNDOHKAFNKL
#[derive(proto_derive::CmdID)]
#[cmdid(4130)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakePictureCsReq {}
/// Obf: BDHFNKFCPGB
#[derive(proto_derive::CmdID)]
#[cmdid(4156)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakePictureScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nlbmcgcaeio {
    #[prost(uint32, repeated, tag = "3")]
    pub pildefkpkle: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub afleajihneb: u32,
    #[prost(uint32, tag = "15")]
    pub slot: u32,
}
/// Obf: PJKLMNPPMPK
#[derive(proto_derive::CmdID)]
#[cmdid(4128)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TriggerVoiceCsReq {
    #[prost(message, repeated, tag = "3")]
    pub mnelhnhckpj: ::prost::alloc::vec::Vec<Nlbmcgcaeio>,
}
/// Obf: KJIAPDMALBJ
#[derive(proto_derive::CmdID)]
#[cmdid(4122)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TriggerVoiceScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: GMLBOMACOAM
#[derive(proto_derive::CmdID)]
#[cmdid(4128)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CancelCacheNotifyCsReq {
    #[prost(uint32, repeated, tag = "13")]
    pub colbgejelgi: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Mgaefjjdmom", tag = "6")]
    pub slot: i32,
    #[prost(string, repeated, tag = "15")]
    pub kcljmcakojf: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
/// Obf: CMJOBLOFCJB
#[derive(proto_derive::CmdID)]
#[cmdid(4111)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CancelCacheNotifyScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: CMHENGJMEEG
#[derive(proto_derive::CmdID)]
#[cmdid(4105)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SecurityReportCsReq {
    #[prost(string, tag = "1")]
    pub dgdlniefcpf: ::prost::alloc::string::String,
}
/// Obf: EEOFCCFOAMF
#[derive(proto_derive::CmdID)]
#[cmdid(4114)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SecurityReportScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gmaajhdfacd {
    #[prost(uint32, tag = "14")]
    pub pdomacfemgg: u32,
    #[prost(uint32, tag = "7")]
    pub level: u32,
    #[prost(enumeration = "Dcadlnjbkbk", tag = "15")]
    pub slot: i32,
    #[prost(uint32, tag = "12")]
    pub ifaikoioidd: u32,
}
/// Obf: EEBOKEEIENE
#[derive(proto_derive::CmdID)]
#[cmdid(4117)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMovieRacingDataCsReq {}
/// Obf: EGBAGIAKJML
#[derive(proto_derive::CmdID)]
#[cmdid(4191)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMovieRacingDataScRsp {
    #[prost(message, repeated, tag = "3")]
    pub odjigebehgc: ::prost::alloc::vec::Vec<Gmaajhdfacd>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: BNEDNBDDBMA
#[derive(proto_derive::CmdID)]
#[cmdid(4118)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateMovieRacingDataCsReq {
    #[prost(message, optional, tag = "1")]
    pub kihchdffpol: ::core::option::Option<Gmaajhdfacd>,
}
/// Obf: BHDCNOPFBEI
#[derive(proto_derive::CmdID)]
#[cmdid(4195)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateMovieRacingDataScRsp {
    #[prost(message, optional, tag = "8")]
    pub kihchdffpol: ::core::option::Option<Gmaajhdfacd>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: IHGBJICLPHC
#[derive(proto_derive::CmdID)]
#[cmdid(4147)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubmitOrigamiItemCsReq {
    #[prost(uint32, tag = "6")]
    pub lcbofmopgke: u32,
}
/// Obf: PGPLGIMENLO
#[derive(proto_derive::CmdID)]
#[cmdid(4180)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubmitOrigamiItemScRsp {
    #[prost(uint32, tag = "3")]
    pub lcbofmopgke: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Klbhfhjdbfi {
    #[prost(bool, tag = "6")]
    pub ncnaonifpfm: bool,
    #[prost(uint32, tag = "1")]
    pub bmcjhonbhjh: u32,
    #[prost(uint32, tag = "13")]
    pub level: u32,
    #[prost(uint32, tag = "7")]
    pub ifaikoioidd: u32,
}
/// Obf: ONNPOIPDACH
#[derive(proto_derive::CmdID)]
#[cmdid(4150)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetGunPlayDataCsReq {}
/// Obf: FOOCHMJKEBD
#[derive(proto_derive::CmdID)]
#[cmdid(4148)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetGunPlayDataScRsp {
    #[prost(message, repeated, tag = "14")]
    pub lnbfdjmnacn: ::prost::alloc::vec::Vec<Klbhfhjdbfi>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: LMJPCMOHLLP
#[derive(proto_derive::CmdID)]
#[cmdid(4169)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateGunPlayDataCsReq {
    #[prost(uint64, tag = "11")]
    pub miilnlhddjm: u64,
    #[prost(message, optional, tag = "4")]
    pub odfhnchiejn: ::core::option::Option<Klbhfhjdbfi>,
    #[prost(uint32, tag = "12")]
    pub pneifbegmdh: u32,
    #[prost(uint32, tag = "13")]
    pub group_id: u32,
}
/// Obf: BCILDFGGLNN
#[derive(proto_derive::CmdID)]
#[cmdid(4120)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateGunPlayDataScRsp {
    #[prost(message, optional, tag = "5")]
    pub odfhnchiejn: ::core::option::Option<Klbhfhjdbfi>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jcdnmbckplf {
    #[prost(uint32, tag = "4")]
    pub id: u32,
    #[prost(enumeration = "Fjhikfikamo", tag = "3")]
    pub kcmjkgadpip: i32,
    #[prost(enumeration = "Giilenmkcah", tag = "5")]
    pub hhmabjdimgm: i32,
}
/// Obf: AJMBFNKFGEM
#[derive(proto_derive::CmdID)]
#[cmdid(4192)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DifficultyAdjustmentGetDataCsReq {}
/// Obf: LFHFFKDBNHG
#[derive(proto_derive::CmdID)]
#[cmdid(4170)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DifficultyAdjustmentGetDataScRsp {
    #[prost(message, repeated, tag = "1")]
    pub info_list: ::prost::alloc::vec::Vec<Jcdnmbckplf>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: JDMHNPOBCBH
#[derive(proto_derive::CmdID)]
#[cmdid(4181)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DifficultyAdjustmentUpdateDataCsReq {
    #[prost(message, optional, tag = "4")]
    pub data: ::core::option::Option<Jcdnmbckplf>,
}
/// Obf: HBOKFMPEJPN
#[derive(proto_derive::CmdID)]
#[cmdid(4138)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DifficultyAdjustmentUpdateDataScRsp {
    #[prost(message, optional, tag = "3")]
    pub data: ::core::option::Option<Jcdnmbckplf>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "5")]
    pub info_list: ::prost::alloc::vec::Vec<Jcdnmbckplf>,
}
/// Obf: HBGAILHKELO
#[derive(proto_derive::CmdID)]
#[cmdid(4119)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MazeKillDirectCsReq {
    #[prost(uint32, repeated, tag = "8")]
    pub entity_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Mnijhmepgnn", tag = "15")]
    pub hhmabjdimgm: i32,
    #[prost(uint32, tag = "14")]
    pub mmkogoknpkl: u32,
}
/// Obf: CCCBKFAAKBD
#[derive(proto_derive::CmdID)]
#[cmdid(4182)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MazeKillDirectScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub entity_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PPGFCPFDIMD
#[derive(proto_derive::CmdID)]
#[cmdid(1201)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMissionDataCsReq {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ikammklboco {
    #[prost(uint32, tag = "8")]
    pub id: u32,
    #[prost(uint32, tag = "12")]
    pub display_value: u32,
    #[prost(enumeration = "Iebnpbjdfgp", tag = "2")]
    pub slot: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mission {
    #[prost(uint32, tag = "14")]
    pub progress: u32,
    #[prost(uint32, tag = "6")]
    pub id: u32,
    #[prost(enumeration = "MissionStatus", tag = "1")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hpniicaaajk {
    #[prost(uint32, tag = "14")]
    pub index: u32,
    #[prost(uint32, tag = "6")]
    pub kmhdfladepi: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gniejgnkkgg {
    #[prost(message, repeated, tag = "7")]
    pub kfbpcfdhlhl: ::prost::alloc::vec::Vec<Hpniicaaajk>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionData {
    #[prost(uint32, tag = "8")]
    pub id: u32,
    #[prost(enumeration = "MissionStatus", tag = "5")]
    pub status: i32,
    #[prost(message, repeated, tag = "13")]
    pub kfbpcfdhlhl: ::prost::alloc::vec::Vec<Hpniicaaajk>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fhabeikafbo {
    #[prost(uint32, tag = "9")]
    pub id: u32,
    #[prost(oneof = "fhabeikafbo::Fjoojnkcnae", tags = "48")]
    pub fjoojnkcnae: ::core::option::Option<fhabeikafbo::Fjoojnkcnae>,
}
/// Nested message and enum types in `FHABEIKAFBO`.
pub mod fhabeikafbo {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Fjoojnkcnae {
        #[prost(message, tag = "48")]
        Kfbpcfdhlhl(super::Gniejgnkkgg),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Feahpjpkgoa {
    #[prost(uint32, tag = "5")]
    pub main_mission_id: u32,
    #[prost(message, optional, tag = "10")]
    pub kfbpcfdhlhl: ::core::option::Option<Gniejgnkkgg>,
}
/// Obf: GBANHIEMJCI
#[derive(proto_derive::CmdID)]
#[cmdid(1268)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMissionDataScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub ojomocgiaic: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "15")]
    pub mission_list: ::prost::alloc::vec::Vec<Mission>,
    #[prost(message, repeated, tag = "6")]
    pub mission_data_list: ::prost::alloc::vec::Vec<MissionData>,
    #[prost(uint32, tag = "4")]
    pub lflbiopjfge: u32,
}
/// Obf: DENCGOJOIFI
#[derive(proto_derive::CmdID)]
#[cmdid(1281)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptMainMissionCsReq {
    #[prost(uint32, tag = "15")]
    pub main_mission_id: u32,
}
/// Obf: KNIMBAFEBNE
#[derive(proto_derive::CmdID)]
#[cmdid(1238)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptMainMissionScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub main_mission_id: u32,
}
/// Obf: EFFIGFGBAAD
#[derive(proto_derive::CmdID)]
#[cmdid(1258)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishTalkMissionCsReq {
    #[prost(message, repeated, tag = "2")]
    pub kfbpcfdhlhl: ::prost::alloc::vec::Vec<Hpniicaaajk>,
    #[prost(uint32, tag = "13")]
    pub lplhiabdbbg: u32,
    #[prost(string, tag = "5")]
    pub hnfbhiolpja: ::prost::alloc::string::String,
}
/// Obf: LHDGPAHCAIP
#[derive(proto_derive::CmdID)]
#[cmdid(1224)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishTalkMissionScRsp {
    #[prost(uint32, tag = "11")]
    pub lplhiabdbbg: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(string, tag = "1")]
    pub hnfbhiolpja: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "2")]
    pub kfbpcfdhlhl: ::prost::alloc::vec::Vec<Hpniicaaajk>,
}
/// Obf: LCGNONDHHEO
#[derive(proto_derive::CmdID)]
#[cmdid(1230)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionRewardScNotify {
    #[prost(message, optional, tag = "8")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "10")]
    pub lplhiabdbbg: u32,
    #[prost(uint32, tag = "7")]
    pub main_mission_id: u32,
}
/// Obf: ONFLCINAFBH
#[derive(proto_derive::CmdID)]
#[cmdid(1248)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubMissionRewardScNotify {
    #[prost(uint32, tag = "8")]
    pub lplhiabdbbg: u32,
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: GENFFKNOCFE
#[derive(proto_derive::CmdID)]
#[cmdid(1256)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncTaskCsReq {
    #[prost(string, tag = "13")]
    pub key: ::prost::alloc::string::String,
}
/// Obf: DPKABFBAICO
#[derive(proto_derive::CmdID)]
#[cmdid(1297)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncTaskScRsp {
    #[prost(string, tag = "4")]
    pub key: ::prost::alloc::string::String,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: NCINOGGCALL
#[derive(proto_derive::CmdID)]
#[cmdid(1214)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionGroupWarnScNotify {
    #[prost(uint32, repeated, tag = "6")]
    pub njocoopicln: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DKADCMIJPOB
#[derive(proto_derive::CmdID)]
#[cmdid(1249)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishCosumeItemMissionCsReq {
    #[prost(uint32, tag = "11")]
    pub lplhiabdbbg: u32,
    #[prost(message, optional, tag = "5")]
    pub item_list: ::core::option::Option<ItemList>,
}
/// Obf: AFPICDCPKCI
#[derive(proto_derive::CmdID)]
#[cmdid(1222)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishCosumeItemMissionScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub lplhiabdbbg: u32,
}
/// Obf: JMNGAEKFEEP
#[derive(proto_derive::CmdID)]
#[cmdid(1212)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMissionStatusCsReq {
    #[prost(uint32, repeated, tag = "7")]
    pub main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "10")]
    pub sub_mission_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GetMissionStatusScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1217)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMissionStatusScRsp {
    #[prost(uint32, repeated, tag = "10")]
    pub unfinished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "5")]
    pub disabled_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "4")]
    pub main_mission_mcv_list: ::prost::alloc::vec::Vec<Feahpjpkgoa>,
    #[prost(uint32, repeated, tag = "13")]
    pub finished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "15")]
    pub curversion_finished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "14")]
    pub sub_mission_status_list: ::prost::alloc::vec::Vec<Mission>,
}
/// Obf: AODEMNAMJEH
#[derive(proto_derive::CmdID)]
#[cmdid(1269)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TeleportToMissionResetPointCsReq {}
/// Obf: BBIEFPLCHGJ
#[derive(proto_derive::CmdID)]
#[cmdid(1220)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TeleportToMissionResetPointScRsp {
    #[prost(message, optional, tag = "4")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub client_pos_version: u32,
}
/// Obf: OGAPJNMOCMF
#[derive(proto_derive::CmdID)]
#[cmdid(1292)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartFinishSubMissionScNotify {
    #[prost(uint32, tag = "15")]
    pub lplhiabdbbg: u32,
}
/// Obf: AAIMCEAJPPB
#[derive(proto_derive::CmdID)]
#[cmdid(1270)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartFinishMainMissionScNotify {
    #[prost(uint32, tag = "10")]
    pub main_mission_id: u32,
}
/// Obf: MCFBCKODIMM
#[derive(proto_derive::CmdID)]
#[cmdid(1219)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMainMissionCustomValueCsReq {
    #[prost(uint32, repeated, tag = "11")]
    pub main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MODECCBGEBJ
#[derive(proto_derive::CmdID)]
#[cmdid(1282)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMainMissionCustomValueScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "15")]
    pub mission_data_list: ::prost::alloc::vec::Vec<MissionData>,
}
/// Obf: JPFCPAMGPPL
#[derive(proto_derive::CmdID)]
#[cmdid(1259)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionAcceptScNotify {
    #[prost(uint32, repeated, tag = "10")]
    pub sub_mission_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HHJLCADBEMF
#[derive(proto_derive::CmdID)]
#[cmdid(1273)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateTrackMainMissionIdCsReq {
    #[prost(uint32, tag = "15")]
    pub lflbiopjfge: u32,
    #[prost(uint32, tag = "1")]
    pub lmbceopcigc: u32,
    #[prost(enumeration = "Nnfdmniijgo", tag = "11")]
    pub ijdjmnjbobi: i32,
}
/// Obf: JBEIJKCOPFI
#[derive(proto_derive::CmdID)]
#[cmdid(1240)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateTrackMainMissionIdScRsp {
    #[prost(uint32, tag = "4")]
    pub lflbiopjfge: u32,
    #[prost(uint32, tag = "14")]
    pub dkmbbnlmnne: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: HJGFDKKGOOH
#[derive(proto_derive::CmdID)]
#[cmdid(1203)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishedMissionScNotify {
    #[prost(uint32, repeated, tag = "4")]
    pub finished_mission_id: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FCHDEOGGIEN
#[derive(proto_derive::CmdID)]
#[cmdid(7001)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMonopolyInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Odaijigeajl {
    #[prost(uint32, tag = "12")]
    pub fljbjpahjif: u32,
    #[prost(bool, tag = "14")]
    pub ljfgifbdanc: bool,
    #[prost(uint32, tag = "1")]
    pub ejhdcneegmi: u32,
    #[prost(uint32, tag = "5")]
    pub engjfichdml: u32,
    #[prost(uint32, tag = "6")]
    pub item_value: u32,
    #[prost(bool, tag = "11")]
    pub hgmmchhbkpb: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Llgniknmcke {
    #[prost(uint32, repeated, tag = "1")]
    pub ofiodjnlbea: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Gojoindbkik", tag = "2")]
    pub nmamonllall: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ooemibfnlld {
    #[prost(uint32, tag = "4")]
    pub ekpnclpoenk: u32,
    #[prost(uint32, tag = "7")]
    pub progress: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lailnigfpoo {
    #[prost(bool, tag = "10")]
    pub is_taken_reward: bool,
    #[prost(bool, tag = "14")]
    pub aelpfebgnok: bool,
    #[prost(uint64, tag = "13")]
    pub khgpfhboele: u64,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bcmokfhjmpm {
    #[prost(message, repeated, tag = "10")]
    pub ifkfepkhlgn: ::prost::alloc::vec::Vec<Ooemibfnlld>,
    #[prost(uint64, tag = "14")]
    pub eboolgnacjj: u64,
    #[prost(uint64, tag = "15")]
    pub jojndgbejek: u64,
    #[prost(uint32, tag = "2")]
    pub ljjmleioife: u32,
    #[prost(string, tag = "98")]
    pub pjdfbpbmbba: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "6")]
    pub kgbejknclfk: ::prost::alloc::vec::Vec<Ooemibfnlld>,
    #[prost(bool, tag = "5")]
    pub fholfdonoii: bool,
    #[prost(message, repeated, tag = "3")]
    pub cjfmaiakenl: ::prost::alloc::vec::Vec<Ooemibfnlld>,
    #[prost(message, repeated, tag = "12")]
    pub ebabbejipjn: ::prost::alloc::vec::Vec<Lailnigfpoo>,
    #[prost(uint32, tag = "4")]
    pub bnoldnbmjhf: u32,
    #[prost(uint32, tag = "13")]
    pub dgalcmfidfp: u32,
    #[prost(message, repeated, tag = "7")]
    pub jckngfjeegi: ::prost::alloc::vec::Vec<Ooemibfnlld>,
    #[prost(uint64, tag = "9")]
    pub omgkjljihlh: u64,
    #[prost(string, tag = "127")]
    pub jlegpnihmjd: ::prost::alloc::string::String,
    #[prost(uint32, tag = "8")]
    pub hhjpblekapn: u32,
    #[prost(uint32, tag = "11")]
    pub dgepmkffoab: u32,
    #[prost(uint32, tag = "1")]
    pub jgnihljfjpp: u32,
    #[prost(string, tag = "1832")]
    pub ddibefmilmp: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Edkgomnehoh {
    #[prost(message, repeated, tag = "13")]
    pub fjoafflleok: ::prost::alloc::vec::Vec<Bcmokfhjmpm>,
}
/// Obf: NJDEBDJLCLD
#[derive(proto_derive::CmdID)]
#[cmdid(7068)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMonopolyInfoScRsp {
    #[prost(message, optional, tag = "4")]
    pub iedgkhdjjdc: ::core::option::Option<Edkgomnehoh>,
    #[prost(message, optional, tag = "12")]
    pub stt: ::core::option::Option<Kjbmlbgibjf>,
    #[prost(message, optional, tag = "7")]
    pub gpfgdokngel: ::core::option::Option<Icihabolhpn>,
    #[prost(message, optional, tag = "10")]
    pub map_info: ::core::option::Option<Jajgkkdpalc>,
    #[prost(message, optional, tag = "14")]
    pub oelhkeipidj: ::core::option::Option<Cannibgclcl>,
    #[prost(message, optional, tag = "13")]
    pub hehjkfilinn: ::core::option::Option<Nfdgijlolgd>,
    #[prost(message, optional, tag = "2")]
    pub hljmhnabfmc: ::core::option::Option<Odaijigeajl>,
    #[prost(message, optional, tag = "5")]
    pub fghciadcmnj: ::core::option::Option<Hfdgmjjfohm>,
    #[prost(message, optional, tag = "1")]
    pub ljaogapdfha: ::core::option::Option<Aedkpbfckgo>,
    #[prost(message, optional, tag = "15")]
    pub jnhjeeljfhf: ::core::option::Option<Llgniknmcke>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub lgopnbhhhbg: ::core::option::Option<Afdalbganpc>,
    #[prost(uint32, repeated, tag = "3")]
    pub cokcgfmeiba: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nfdgijlolgd {
    #[prost(uint32, repeated, tag = "12")]
    pub hfmdlhifmpi: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FJGBNBKCPEA
#[derive(proto_derive::CmdID)]
#[cmdid(7043)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyConditionUpdateScNotify {
    #[prost(message, optional, tag = "12")]
    pub hehjkfilinn: ::core::option::Option<Nfdgijlolgd>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kjbmlbgibjf {
    #[prost(uint32, repeated, tag = "9")]
    pub jihchilfjpi: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "6")]
    pub occmnidebbj: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NOACPJFDBNC
#[derive(proto_derive::CmdID)]
#[cmdid(7066)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolySttUpdateScNotify {
    #[prost(message, optional, tag = "15")]
    pub stt: ::core::option::Option<Kjbmlbgibjf>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iaaccafgepi {
    #[prost(uint32, tag = "6")]
    pub map_id: u32,
    #[prost(enumeration = "Ihgjllngdkl", tag = "11")]
    pub mafkcbodmmc: i32,
    #[prost(uint32, tag = "8")]
    pub hhcbjghkcpc: u32,
    #[prost(bool, tag = "13")]
    pub jmdeflafice: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jajgkkdpalc {
    #[prost(uint32, tag = "15")]
    pub pgalbdiiefg: u32,
    #[prost(message, optional, tag = "8")]
    pub hgbigbfgbom: ::core::option::Option<Iaaccafgepi>,
    #[prost(message, repeated, tag = "1")]
    pub imopiejbhod: ::prost::alloc::vec::Vec<Iaaccafgepi>,
    #[prost(uint32, tag = "13")]
    pub lbbonkacgej: u32,
    #[prost(message, repeated, tag = "12")]
    pub nbmpbgpjonh: ::prost::alloc::vec::Vec<Iaaccafgepi>,
}
/// Obf: NKJHIGBOJGE
#[derive(proto_derive::CmdID)]
#[cmdid(7046)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyEventLoadUpdateScNotify {
    #[prost(message, repeated, tag = "3")]
    pub imopiejbhod: ::prost::alloc::vec::Vec<Iaaccafgepi>,
    #[prost(message, repeated, tag = "7")]
    pub nbmpbgpjonh: ::prost::alloc::vec::Vec<Iaaccafgepi>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Comeolglnko {
    #[prost(uint32, tag = "15")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pblcejhpopo {
    #[prost(uint32, tag = "12")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lihocehepdb {
    #[prost(uint32, tag = "8")]
    pub event_id: u32,
    #[prost(uint32, tag = "14")]
    pub lfcmbgoaibb: u32,
    #[prost(uint32, tag = "7")]
    pub kdmlllghjon: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub hfejhlniggh: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ohnbchloebl {
    #[prost(uint32, tag = "13")]
    pub olfnjjklgmk: u32,
    #[prost(uint32, tag = "1")]
    pub eccjbglbigm: u32,
    #[prost(uint32, tag = "14")]
    pub lfcmbgoaibb: u32,
    #[prost(uint32, tag = "15")]
    pub event_id: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub hfejhlniggh: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Blmjnffpmcn {
    #[prost(uint32, tag = "11")]
    pub pifpgkffbpn: u32,
    #[prost(message, repeated, tag = "8")]
    pub kmkfojahelj: ::prost::alloc::vec::Vec<Lbenaahcpeo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aaibakechce {
    #[prost(uint32, tag = "13")]
    pub pagcamagflb: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fgonfnidohj {
    #[prost(uint32, tag = "14")]
    pub shop_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iponfkajenj {
    #[prost(uint32, tag = "15")]
    pub apaobdgjmeg: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nalpjmljpnp {
    #[prost(uint32, tag = "2")]
    pub ieejchfepha: u32,
    #[prost(uint32, tag = "1")]
    pub oefhmbjblgc: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lbenaahcpeo {
    #[prost(uint32, tag = "4")]
    pub okdlmejpche: u32,
    #[prost(oneof = "lbenaahcpeo::Edapchiojmd", tags = "5, 8, 10, 1, 3, 14, 9, 6, 12")]
    pub edapchiojmd: ::core::option::Option<lbenaahcpeo::Edapchiojmd>,
}
/// Nested message and enum types in `LBENAAHCPEO`.
pub mod lbenaahcpeo {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Edapchiojmd {
        #[prost(message, tag = "5")]
        Pecbimkooah(super::Comeolglnko),
        #[prost(message, tag = "8")]
        Emlnnmlgnkh(super::Pblcejhpopo),
        #[prost(message, tag = "10")]
        Jbjldppdbbc(super::Lihocehepdb),
        #[prost(message, tag = "1")]
        Ecoifnnjdap(super::Aaibakechce),
        #[prost(message, tag = "3")]
        Nbjicdajdgf(super::Fgonfnidohj),
        #[prost(message, tag = "14")]
        Gajbfpcpigm(super::Iponfkajenj),
        #[prost(message, tag = "9")]
        Joppaemppfh(super::Nalpjmljpnp),
        #[prost(message, tag = "6")]
        Joadhbldimf(super::Ohnbchloebl),
        #[prost(message, tag = "12")]
        Iefoghngcmc(super::Blmjnffpmcn),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Icihabolhpn {
    #[prost(message, optional, tag = "4")]
    pub fhnpagihinf: ::core::option::Option<Lbenaahcpeo>,
}
/// Obf: BAOJKHHNIPI
#[derive(proto_derive::CmdID)]
#[cmdid(7092)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyContentUpdateScNotify {
    #[prost(message, optional, tag = "1")]
    pub fhnpagihinf: ::core::option::Option<Lbenaahcpeo>,
}
/// Obf: KIJLBDPPDLN
#[derive(proto_derive::CmdID)]
#[cmdid(7024)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyCellUpdateNotify {
    #[prost(message, optional, tag = "13")]
    pub hgbigbfgbom: ::core::option::Option<Iaaccafgepi>,
}
/// Obf: BLAHEBDCJFP
#[derive(proto_derive::CmdID)]
#[cmdid(7056)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyRollDiceCsReq {}
/// Obf: GAMAKOOBJPJ
#[derive(proto_derive::CmdID)]
#[cmdid(7097)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyRollDiceScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub blhiabbkgpb: u32,
}
/// Obf: KFCDDEOCHHA
#[derive(proto_derive::CmdID)]
#[cmdid(7069)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyCheatDiceCsReq {
    #[prost(uint32, tag = "6")]
    pub ocfhhdcbfbh: u32,
}
/// Obf: DFNEFIHIBGP
#[derive(proto_derive::CmdID)]
#[cmdid(7020)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyCheatDiceScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub ocfhhdcbfbh: u32,
}
/// Obf: BDONOPOFPNF
#[derive(proto_derive::CmdID)]
#[cmdid(7076)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyMoveCsReq {
    #[prost(uint32, tag = "4")]
    pub dgbmdpbialg: u32,
    #[prost(uint32, tag = "3")]
    pub cnifhnbiofj: u32,
}
/// Obf: EEJEKFGIOKO
#[derive(proto_derive::CmdID)]
#[cmdid(7028)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyMoveScRsp {
    #[prost(message, repeated, tag = "15")]
    pub hecjnjniakk: ::prost::alloc::vec::Vec<Iaaccafgepi>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub map_info: ::core::option::Option<Jajgkkdpalc>,
}
/// Obf: KGKAJKPJLFC
#[derive(proto_derive::CmdID)]
#[cmdid(7011)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolySelectOptionCsReq {
    #[prost(uint32, tag = "9")]
    pub event_id: u32,
    #[prost(uint32, tag = "10")]
    pub kdmlllghjon: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ddcelcojgnp {
    #[prost(uint32, tag = "13")]
    pub lgiiahidlmg: u32,
    #[prost(uint32, tag = "11")]
    pub event_id: u32,
    #[prost(uint32, tag = "7")]
    pub kdmlllghjon: u32,
}
/// Obf: OICAPHLMKFG
#[derive(proto_derive::CmdID)]
#[cmdid(7005)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolySelectOptionScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "8")]
    pub event_id: u32,
    #[prost(message, optional, tag = "14")]
    pub gpfgdokngel: ::core::option::Option<Lbenaahcpeo>,
    #[prost(uint32, tag = "11")]
    pub kdmlllghjon: u32,
    #[prost(message, repeated, tag = "1")]
    pub abnoinlokln: ::prost::alloc::vec::Vec<Ddcelcojgnp>,
}
/// Obf: CHOHHHJCANJ
#[derive(proto_derive::CmdID)]
#[cmdid(7047)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyRollRandomCsReq {
    #[prost(uint32, tag = "14")]
    pub event_id: u32,
}
/// Obf: KCAHEEPIEPD
#[derive(proto_derive::CmdID)]
#[cmdid(7080)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyRollRandomScRsp {
    #[prost(message, optional, tag = "13")]
    pub gpfgdokngel: ::core::option::Option<Lbenaahcpeo>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "4")]
    pub event_id: u32,
}
/// Obf: JNIOMAMDMLP
#[derive(proto_derive::CmdID)]
#[cmdid(7039)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyReRollRandomCsReq {
    #[prost(uint32, tag = "8")]
    pub event_id: u32,
}
/// Obf: GEAAFLHKNMI
#[derive(proto_derive::CmdID)]
#[cmdid(7096)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyReRollRandomScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "7")]
    pub gpfgdokngel: ::core::option::Option<Lbenaahcpeo>,
    #[prost(uint32, tag = "14")]
    pub event_id: u32,
}
/// Obf: FAGIFHGCFJN
#[derive(proto_derive::CmdID)]
#[cmdid(7023)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyConfirmRandomCsReq {
    #[prost(uint32, tag = "14")]
    pub event_id: u32,
}
/// Obf: ILDHPDFMMBM
#[derive(proto_derive::CmdID)]
#[cmdid(7012)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyConfirmRandomScRsp {
    #[prost(message, optional, tag = "9")]
    pub gpfgdokngel: ::core::option::Option<Lbenaahcpeo>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub event_id: u32,
}
/// Obf: GONIBBGGNAN
#[derive(proto_derive::CmdID)]
#[cmdid(7017)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyBuyGoodsCsReq {
    #[prost(uint32, tag = "7")]
    pub shop_id: u32,
    #[prost(uint32, tag = "3")]
    pub goods_id: u32,
}
/// Obf: BMMNBPLHDLA
#[derive(proto_derive::CmdID)]
#[cmdid(7091)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyBuyGoodsScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub goods_id: u32,
    #[prost(uint32, tag = "4")]
    pub shop_id: u32,
}
/// Obf: IJOFOKMGGCC
#[derive(proto_derive::CmdID)]
#[cmdid(7018)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyUpgradeAssetCsReq {
    #[prost(uint32, tag = "12")]
    pub pagcamagflb: u32,
}
/// Obf: NJBGCNPGLPM
#[derive(proto_derive::CmdID)]
#[cmdid(7095)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyUpgradeAssetScRsp {
    #[prost(uint32, tag = "7")]
    pub pagcamagflb: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: CHDLDBAAOAF
#[derive(proto_derive::CmdID)]
#[cmdid(7050)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGiveUpCurContentCsReq {
    #[prost(uint32, tag = "12")]
    pub content_id: u32,
}
/// Obf: DEGAJKFEMJO
#[derive(proto_derive::CmdID)]
#[cmdid(7048)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGiveUpCurContentScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub content_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyActionResult {
    #[prost(uint32, tag = "13")]
    pub trigger_map_id: u32,
    #[prost(uint32, tag = "10")]
    pub click_map_id: u32,
    #[prost(message, optional, tag = "6")]
    pub detail: ::core::option::Option<Nibjamfmefd>,
    #[prost(uint32, tag = "12")]
    pub click_cell_id: u32,
    #[prost(uint32, tag = "14")]
    pub effect_type: u32,
    #[prost(enumeration = "Gkejfkakenm", tag = "7")]
    pub source_type: i32,
    #[prost(uint32, tag = "11")]
    pub trigger_cell_id: u32,
}
/// Obf: FOEBKCBKMGI
#[derive(proto_derive::CmdID)]
#[cmdid(7058)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyActionResultScNotify {
    #[prost(message, repeated, tag = "10")]
    pub pfnokncdpge: ::prost::alloc::vec::Vec<MonopolyActionResult>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lmmebmbgldn {
    #[prost(uint32, tag = "6")]
    pub hkmihejcaem: u32,
    #[prost(bool, tag = "2")]
    pub blhdohmacbm: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nibjamfmefd {
    #[prost(
        oneof = "nibjamfmefd::Pfablbbfojf",
        tags = "3, 9, 2, 10, 1, 4, 11, 6, 13, 8, 7, 5, 14"
    )]
    pub pfablbbfojf: ::core::option::Option<nibjamfmefd::Pfablbbfojf>,
}
/// Nested message and enum types in `NIBJAMFMEFD`.
pub mod nibjamfmefd {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Pfablbbfojf {
        #[prost(message, tag = "3")]
        Mecllcdabno(super::Lmkaaefpffo),
        #[prost(message, tag = "9")]
        Ffipkmhckhj(super::Lmkaaefpffo),
        #[prost(message, tag = "2")]
        Nfbcgknopda(super::Aidfbbiapep),
        #[prost(message, tag = "10")]
        Dachanhppbg(super::Aidfbbiapep),
        #[prost(message, tag = "1")]
        Noenhhilnah(super::Bmplfjkeolf),
        #[prost(message, tag = "4")]
        Kpbjipgejpl(super::Bmplfjkeolf),
        #[prost(message, tag = "11")]
        Dmdpcooafjk(super::Lnkmknbpijh),
        #[prost(message, tag = "6")]
        Hhibfnagkff(super::Lnkmknbpijh),
        #[prost(message, tag = "13")]
        Nkcmgbcpjgg(super::Lmmebmbgldn),
        #[prost(message, tag = "8")]
        Hanogacjpkb(super::Lpbamokkjcm),
        #[prost(message, tag = "7")]
        Omfecimladc(super::Bmplfjkeolf),
        #[prost(message, tag = "5")]
        Ngonccblaol(super::Lnkmknbpijh),
        #[prost(message, tag = "14")]
        Fjghnlnjlph(super::Nmghfolkfaj),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nmghfolkfaj {
    #[prost(uint32, tag = "3")]
    pub gjlkoggiifo: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lmkaaefpffo {
    #[prost(uint32, tag = "6")]
    pub ogjofmcmfpg: u32,
    #[prost(uint32, tag = "13")]
    pub bmalpkekbel: u32,
    #[prost(uint32, tag = "7")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lnkmknbpijh {
    #[prost(uint32, tag = "13")]
    pub ognkmdnjgog: u32,
    #[prost(uint32, tag = "10")]
    pub igdbofcdjol: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lpbamokkjcm {
    #[prost(uint32, tag = "10")]
    pub njdggjbefcn: u32,
    #[prost(uint32, tag = "14")]
    pub mdflfllmgna: u32,
    #[prost(uint32, tag = "13")]
    pub hnlfmjoknbn: u32,
    #[prost(uint32, tag = "12")]
    pub knggppiogae: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Haknofdpbod {
    #[prost(uint32, tag = "6")]
    pub acdopcbmpnl: u32,
    #[prost(uint32, tag = "12")]
    pub fpogialmcip: u32,
    #[prost(uint32, tag = "1")]
    pub config_id: u32,
    #[prost(oneof = "haknofdpbod::Heaiaedbpkl", tags = "15, 9, 10")]
    pub heaiaedbpkl: ::core::option::Option<haknofdpbod::Heaiaedbpkl>,
}
/// Nested message and enum types in `HAKNOFDPBOD`.
pub mod haknofdpbod {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Heaiaedbpkl {
        #[prost(message, tag = "15")]
        Ejcolgnjgdc(super::Gjkiapipgan),
        #[prost(message, tag = "9")]
        Lkaniplnkgc(super::Eimobgllefo),
        #[prost(message, tag = "10")]
        Bdempakhgmj(super::Eopfmpaooje),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hfdgmjjfohm {
    #[prost(message, optional, tag = "5")]
    pub npoigjpcgfb: ::core::option::Option<Lmmebmbgldn>,
    #[prost(message, repeated, tag = "11")]
    pub pefmdfkecod: ::prost::alloc::vec::Vec<Haknofdpbod>,
    #[prost(message, optional, tag = "4")]
    pub ajcinkhbdjb: ::core::option::Option<Haknofdpbod>,
}
/// Obf: PNKJEDCNKGB
#[derive(proto_derive::CmdID)]
#[cmdid(7038)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGameSettleScNotify {
    #[prost(message, optional, tag = "10")]
    pub pemijimjmio: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "4")]
    pub gajbfpcpigm: ::core::option::Option<Haknofdpbod>,
    #[prost(message, optional, tag = "2")]
    pub item_list: ::core::option::Option<ItemList>,
}
/// Obf: DGCAJCANMDL
#[derive(proto_derive::CmdID)]
#[cmdid(7003)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGameCreateScNotify {
    #[prost(message, optional, tag = "6")]
    pub npoigjpcgfb: ::core::option::Option<Lmmebmbgldn>,
    #[prost(message, optional, tag = "2")]
    pub gajbfpcpigm: ::core::option::Option<Haknofdpbod>,
}
/// Obf: BFGMDKIECKC
#[derive(proto_derive::CmdID)]
#[cmdid(7070)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGameRaiseRatioCsReq {
    #[prost(uint32, tag = "2")]
    pub acdopcbmpnl: u32,
}
/// Obf: MonopolyGameRaiseRatioScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(7081)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGameRaiseRatioScRsp {
    #[prost(uint32, tag = "11")]
    pub ratio: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: AIMLCLGENNA
#[derive(proto_derive::CmdID)]
#[cmdid(7049)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DailyFirstEnterMonopolyActivityCsReq {}
/// Obf: FHDEONMIKGP
#[derive(proto_derive::CmdID)]
#[cmdid(7022)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DailyFirstEnterMonopolyActivityScRsp {
    #[prost(uint32, tag = "11")]
    pub kekjcdmiddl: u32,
    #[prost(int64, tag = "6")]
    pub iihkiklioji: i64,
    #[prost(message, optional, tag = "12")]
    pub ljaogapdfha: ::core::option::Option<Aedkpbfckgo>,
    #[prost(bool, tag = "10")]
    pub oicaghgmmfp: bool,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: PGBJBGAIODA
#[derive(proto_derive::CmdID)]
#[cmdid(7053)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGetDailyInitItemCsReq {
    #[prost(bool, tag = "15")]
    pub ifhpjjblndl: bool,
}
/// Obf: ACCPMEMJOPK
#[derive(proto_derive::CmdID)]
#[cmdid(7016)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGetDailyInitItemScRsp {
    #[prost(uint32, tag = "10")]
    pub ioabhfpabbe: u32,
    #[prost(uint32, tag = "12")]
    pub heoofpgkdcd: u32,
    #[prost(int64, tag = "11")]
    pub iihkiklioji: i64,
    #[prost(uint32, tag = "15")]
    pub ofgnignohaf: u32,
    #[prost(uint32, tag = "1")]
    pub hcdbbflpcfl: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub hbfffgpjkic: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gjkiapipgan {
    #[prost(bool, tag = "2")]
    pub nfeadmfnflk: bool,
    #[prost(uint32, repeated, tag = "4")]
    pub leghknnkomg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "14")]
    pub fhbopepjaen: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "6")]
    pub pogemmicila: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "1")]
    pub oefjmefpipl: u32,
}
/// Obf: ICMGJFBMAAI
#[derive(proto_derive::CmdID)]
#[cmdid(7059)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGameBingoFlipCardCsReq {
    #[prost(uint32, tag = "6")]
    pub hcfpofmdgkn: u32,
}
/// Obf: OEFGMALBJKO
#[derive(proto_derive::CmdID)]
#[cmdid(7041)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGameBingoFlipCardScRsp {
    #[prost(bool, tag = "5")]
    pub nfeadmfnflk: bool,
    #[prost(uint32, repeated, tag = "4")]
    pub leghknnkomg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub npjeecedpok: u32,
}
/// Obf: MJAKJJGNEAL
#[derive(proto_derive::CmdID)]
#[cmdid(7019)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGameGachaCsReq {}
/// Obf: MonopolyGameGachaScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(7082)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGameGachaScRsp {
    #[prost(uint32, repeated, tag = "11")]
    pub result_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nkacimeoapd {
    #[prost(uint32, tag = "12")]
    pub pogjhkfbmch: u32,
    #[prost(uint32, tag = "3")]
    pub ibadobadhjh: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eimobgllefo {
    #[prost(uint32, tag = "13")]
    pub ohlepkekmnh: u32,
    #[prost(uint32, tag = "15")]
    pub chjngdioome: u32,
    #[prost(message, repeated, tag = "9")]
    pub ndggacpicbf: ::prost::alloc::vec::Vec<Nkacimeoapd>,
    #[prost(uint32, tag = "6")]
    pub bhpfpejbkec: u32,
    #[prost(uint32, tag = "2")]
    pub eaejlofgafo: u32,
    #[prost(uint32, repeated, tag = "10")]
    pub hpnhhcmkjcb: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: AOMIOINGDPN
#[derive(proto_derive::CmdID)]
#[cmdid(7073)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyAcceptQuizCsReq {
    #[prost(message, repeated, tag = "1")]
    pub ndggacpicbf: ::prost::alloc::vec::Vec<Nkacimeoapd>,
}
/// Obf: EPHJEICDHFJ
#[derive(proto_derive::CmdID)]
#[cmdid(7040)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyAcceptQuizScRsp {
    #[prost(message, optional, tag = "1")]
    pub lkaniplnkgc: ::core::option::Option<Eimobgllefo>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oockalnfhnp {
    #[prost(uint32, tag = "11")]
    pub chjngdioome: u32,
    #[prost(uint32, tag = "15")]
    pub hmcjobjbpkj: u32,
    #[prost(uint32, tag = "6")]
    pub bgbihidhcon: u32,
}
/// Obf: HLPGDGFIGIJ
#[derive(proto_derive::CmdID)]
#[cmdid(7029)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyQuizDurationChangeScNotify {
    #[prost(message, repeated, tag = "15")]
    pub leadmneimdp: ::prost::alloc::vec::Vec<Oockalnfhnp>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eopfmpaooje {
    #[prost(uint32, tag = "6")]
    pub ppclbdbjlmo: u32,
    #[prost(bool, tag = "8")]
    pub lopdbaegfkp: bool,
    #[prost(uint32, tag = "11")]
    pub hmhjdbifgdi: u32,
}
/// Obf: NKIPFEOEBDL
#[derive(proto_derive::CmdID)]
#[cmdid(7057)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGuessChooseCsReq {
    #[prost(uint32, tag = "6")]
    pub hmhjdbifgdi: u32,
}
/// Obf: KGLDAEPCPPC
#[derive(proto_derive::CmdID)]
#[cmdid(7013)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGuessChooseScRsp {
    #[prost(uint32, tag = "11")]
    pub hmhjdbifgdi: u32,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ackncaaamjm {
    #[prost(message, optional, tag = "1")]
    pub item_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "13")]
    pub giacfcddjnm: u32,
    #[prost(uint32, tag = "3")]
    pub ppclbdbjlmo: u32,
}
/// Obf: PCFNKGHKKIP
#[derive(proto_derive::CmdID)]
#[cmdid(7067)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGuessDrawScNotify {
    #[prost(message, repeated, tag = "2")]
    pub jhiikpejeie: ::prost::alloc::vec::Vec<Ackncaaamjm>,
}
/// Obf: MAOFCHPDPAM
#[derive(proto_derive::CmdID)]
#[cmdid(7008)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGuessBuyInformationCsReq {}
/// Obf: IBGPAPKJDNP
#[derive(proto_derive::CmdID)]
#[cmdid(7078)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGuessBuyInformationScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aidfbbiapep {
    #[prost(uint32, tag = "2")]
    pub pagcamagflb: u32,
    #[prost(uint32, tag = "8")]
    pub milkeacflpo: u32,
    #[prost(uint32, tag = "12")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cannibgclcl {
    #[prost(message, repeated, tag = "6")]
    pub magefljgjnd: ::prost::alloc::vec::Vec<Aidfbbiapep>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aedkpbfckgo {
    #[prost(uint32, tag = "2")]
    pub efinfpkkjle: u32,
    #[prost(bool, tag = "1")]
    pub imoblgoajcb: bool,
    #[prost(uint32, tag = "12")]
    pub fnigpgbgehn: u32,
    #[prost(uint32, tag = "6")]
    pub pddngkncpeb: u32,
    #[prost(uint32, tag = "3")]
    pub kmgiemofogb: u32,
    #[prost(uint32, tag = "7")]
    pub pilaagokaof: u32,
    #[prost(uint32, tag = "15")]
    pub pkdlkcbkkpf: u32,
    #[prost(uint32, tag = "13")]
    pub gimdhbnjooo: u32,
    #[prost(uint32, tag = "8")]
    pub ifkdgebcdeg: u32,
}
/// Obf: GNPCMAINBOH
#[derive(proto_derive::CmdID)]
#[cmdid(7054)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyDailySettleScNotify {
    #[prost(uint32, tag = "5")]
    pub kekjcdmiddl: u32,
    #[prost(message, optional, tag = "12")]
    pub ljaogapdfha: ::core::option::Option<Aedkpbfckgo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bmplfjkeolf {
    #[prost(uint32, tag = "2")]
    pub coffebnibhk: u32,
    #[prost(uint32, tag = "1")]
    pub okdlmejpche: u32,
    #[prost(uint32, tag = "11")]
    pub buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afdalbganpc {
    #[prost(message, repeated, tag = "12")]
    pub buff_list: ::prost::alloc::vec::Vec<Bmplfjkeolf>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Indglkcecdc {
    #[prost(uint32, tag = "3")]
    pub dpjkojgcjlp: u32,
    #[prost(uint32, tag = "11")]
    pub uid: u32,
    #[prost(uint32, tag = "15")]
    pub hdilbdipgho: u32,
    #[prost(uint32, tag = "14")]
    pub pilaagokaof: u32,
    #[prost(uint32, tag = "6")]
    pub fnigpgbgehn: u32,
}
/// Obf: FKDHPCNODPP
#[derive(proto_derive::CmdID)]
#[cmdid(7061)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMonopolyFriendRankingListCsReq {}
/// Obf: DIJGFBLHPGL
#[derive(proto_derive::CmdID)]
#[cmdid(7090)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMonopolyFriendRankingListScRsp {
    #[prost(message, repeated, tag = "2")]
    pub dcfhgaajlnn: ::prost::alloc::vec::Vec<Indglkcecdc>,
    #[prost(message, optional, tag = "9")]
    pub icmgegefdle: ::core::option::Option<Indglkcecdc>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: MHKOGIOKNAP
#[derive(proto_derive::CmdID)]
#[cmdid(7055)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyLikeCsReq {
    #[prost(uint32, tag = "7")]
    pub cbegnbkmhcd: u32,
}
/// Obf: HCDMGGFKIKK
#[derive(proto_derive::CmdID)]
#[cmdid(7085)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyLikeScRsp {
    #[prost(uint32, tag = "9")]
    pub cbegnbkmhcd: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub reward_list: ::core::option::Option<ItemList>,
}
/// Obf: AKAHKDACKEF
#[derive(proto_derive::CmdID)]
#[cmdid(7060)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyLikeScNotify {
    #[prost(uint32, tag = "3")]
    pub hdilbdipgho: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub ofiodjnlbea: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IEKJNICCCHH
#[derive(proto_derive::CmdID)]
#[cmdid(7026)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMbtiReportCsReq {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mfdkinpdmke {
    #[prost(uint32, tag = "12")]
    pub fioepgpebfd: u32,
    #[prost(uint32, tag = "10")]
    pub cnt: u32,
}
/// Obf: ABFNDLALHHE
#[derive(proto_derive::CmdID)]
#[cmdid(7063)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMbtiReportScRsp {
    #[prost(int32, tag = "14")]
    pub phnkkellanm: i32,
    #[prost(message, repeated, tag = "7")]
    pub gmdhhogbacn: ::prost::alloc::vec::Vec<Mfdkinpdmke>,
    #[prost(bool, tag = "12")]
    pub pcadcgcelin: bool,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(bool, tag = "2")]
    pub is_taken_reward: bool,
    #[prost(int32, tag = "11")]
    pub ljhaifciabh: i32,
    #[prost(uint32, tag = "15")]
    pub progress: u32,
    #[prost(message, repeated, tag = "3")]
    pub abnoinlokln: ::prost::alloc::vec::Vec<Ddcelcojgnp>,
}
/// Obf: LFAOJFBGGCA
#[derive(proto_derive::CmdID)]
#[cmdid(7007)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyEventSelectFriendCsReq {
    #[prost(uint32, tag = "8")]
    pub ipgeclelhgj: u32,
    #[prost(bool, tag = "6")]
    pub bagmaoipmje: bool,
}
/// Obf: NOEKNNOFPIJ
#[derive(proto_derive::CmdID)]
#[cmdid(7088)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyEventSelectFriendScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "2")]
    pub hgbigbfgbom: ::core::option::Option<Iaaccafgepi>,
    #[prost(uint32, tag = "6")]
    pub oefhmbjblgc: u32,
    #[prost(uint32, tag = "3")]
    pub ieejchfepha: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SocialEventServerCache {
    #[prost(uint32, tag = "10")]
    pub id: u32,
    #[prost(uint32, tag = "15")]
    pub sub_coin: u32,
    #[prost(uint32, tag = "9")]
    pub src_uid: u32,
    #[prost(uint32, tag = "7")]
    pub add_coin: u32,
}
/// Obf: BFLFJLLPECM
#[derive(proto_derive::CmdID)]
#[cmdid(7089)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolySocialEventEffectScNotify {
    #[prost(message, repeated, tag = "1")]
    pub miaeaffdgmh: ::prost::alloc::vec::Vec<SocialEventServerCache>,
}
/// Obf: IJLONAMLBOP
#[derive(proto_derive::CmdID)]
#[cmdid(7065)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSocialEventServerCacheCsReq {}
/// Obf: OEPOLBLMDCC
#[derive(proto_derive::CmdID)]
#[cmdid(7074)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSocialEventServerCacheScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "8")]
    pub miaeaffdgmh: ::prost::alloc::vec::Vec<SocialEventServerCache>,
}
/// Obf: NHNLBGAFNKC
#[derive(proto_derive::CmdID)]
#[cmdid(7052)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteSocialEventServerCacheCsReq {
    #[prost(uint32, repeated, tag = "7")]
    pub jiddlnhjnpb: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: OKNHFAIDLEG
#[derive(proto_derive::CmdID)]
#[cmdid(7004)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteSocialEventServerCacheScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub bfgjmmpcpnj: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PBOBNKMDDJJ
#[derive(proto_derive::CmdID)]
#[cmdid(7084)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGetRaffleTicketCsReq {
    #[prost(uint32, tag = "9")]
    pub hhjpblekapn: u32,
}
/// Obf: PKCHELEEKNG
#[derive(proto_derive::CmdID)]
#[cmdid(7010)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGetRaffleTicketScRsp {
    #[prost(uint32, tag = "8")]
    pub hhjpblekapn: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "15")]
    pub blmedlnokei: ::prost::alloc::vec::Vec<Lailnigfpoo>,
}
/// Obf: FEKKJNLIPFA
#[derive(proto_derive::CmdID)]
#[cmdid(7034)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyTakeRaffleTicketRewardCsReq {
    #[prost(uint32, tag = "12")]
    pub hhjpblekapn: u32,
    #[prost(uint64, tag = "9")]
    pub pmelcdfhgkc: u64,
}
/// Obf: DJDDCAONCNB
#[derive(proto_derive::CmdID)]
#[cmdid(7027)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyTakeRaffleTicketRewardScRsp {
    #[prost(uint32, tag = "3")]
    pub hhjpblekapn: u32,
    #[prost(message, optional, tag = "7")]
    pub reward_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub pmelcdfhgkc: u32,
}
/// Obf: EPFBHNCHCKC
#[derive(proto_derive::CmdID)]
#[cmdid(7086)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyScrachRaffleTicketCsReq {
    #[prost(uint64, tag = "15")]
    pub pmelcdfhgkc: u64,
    #[prost(uint32, tag = "9")]
    pub hhjpblekapn: u32,
}
/// Obf: DDGPLANABJG
#[derive(proto_derive::CmdID)]
#[cmdid(7051)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyScrachRaffleTicketScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint64, tag = "1")]
    pub pmelcdfhgkc: u64,
    #[prost(uint32, tag = "15")]
    pub hhjpblekapn: u32,
}
/// Obf: KKCKKABGKHJ
#[derive(proto_derive::CmdID)]
#[cmdid(7093)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGetRegionProgressCsReq {}
/// Obf: KPEJBKLMIHN
#[derive(proto_derive::CmdID)]
#[cmdid(7072)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGetRegionProgressScRsp {
    #[prost(uint32, tag = "15")]
    pub dpjkojgcjlp: u32,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "5")]
    pub eimgbknlgnf: u32,
}
/// Obf: HCIOCHHDGNK
#[derive(proto_derive::CmdID)]
#[cmdid(7033)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGetRafflePoolInfoCsReq {}
/// Obf: HNFEFIGIMAK
#[derive(proto_derive::CmdID)]
#[cmdid(7002)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGetRafflePoolInfoScRsp {
    #[prost(message, optional, tag = "7")]
    pub iedgkhdjjdc: ::core::option::Option<Edkgomnehoh>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: HOBMIAMCMII
#[derive(proto_derive::CmdID)]
#[cmdid(7031)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyTakePhaseRewardCsReq {
    #[prost(uint32, repeated, tag = "15")]
    pub ljbgjhpkkjj: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IAFNBEMJPCG
#[derive(proto_derive::CmdID)]
#[cmdid(7098)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyTakePhaseRewardScRsp {
    #[prost(message, optional, tag = "3")]
    pub reward_list: ::core::option::Option<ItemList>,
    #[prost(uint32, repeated, tag = "2")]
    pub ljbgjhpkkjj: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: FENPKDMBFPM
#[derive(proto_derive::CmdID)]
#[cmdid(7042)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMonopolyMbtiReportRewardCsReq {}
/// Obf: BGJHENBJOOI
#[derive(proto_derive::CmdID)]
#[cmdid(7062)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMonopolyMbtiReportRewardScRsp {
    #[prost(message, optional, tag = "14")]
    pub reward_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: PPHLPCEDDPK
#[derive(proto_derive::CmdID)]
#[cmdid(7083)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMonopolyDailyReportCsReq {}
/// Obf: OBOPOLGHGJB
#[derive(proto_derive::CmdID)]
#[cmdid(7032)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMonopolyDailyReportScRsp {
    #[prost(message, optional, tag = "6")]
    pub ljaogapdfha: ::core::option::Option<Aedkpbfckgo>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: DENONDBCBPH
#[derive(proto_derive::CmdID)]
#[cmdid(7035)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyClickCellCsReq {
    #[prost(uint32, tag = "4")]
    pub hhcbjghkcpc: u32,
    #[prost(uint32, tag = "1")]
    pub map_id: u32,
}
/// Obf: EEGODLEDHLG
#[derive(proto_derive::CmdID)]
#[cmdid(7099)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyClickCellScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub hhcbjghkcpc: u32,
    #[prost(uint32, tag = "2")]
    pub map_id: u32,
}
/// Obf: GLDPPDPGFEN
#[derive(proto_derive::CmdID)]
#[cmdid(7094)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyClickMbtiReportCsReq {}
/// Obf: JDCBEKMDNJJ
#[derive(proto_derive::CmdID)]
#[cmdid(7045)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyClickMbtiReportScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: MEICPFNIMHE
#[derive(proto_derive::CmdID)]
#[cmdid(1001)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultiplayerFightGameStateCsReq {}
/// Obf: GJIKIHKIPNE
#[derive(proto_derive::CmdID)]
#[cmdid(1068)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultiplayerFightGameStateScRsp {
    #[prost(message, optional, tag = "1")]
    pub pfffjngnpom: ::core::option::Option<Ppggkmdaoea>,
    #[prost(message, repeated, tag = "14")]
    pub lipjdjpmokb: ::prost::alloc::vec::Vec<Cbbdiomifhd>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: MHGHLJGBPOA
#[derive(proto_derive::CmdID)]
#[cmdid(1058)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultiplayerGetFightGateCsReq {
    #[prost(uint32, tag = "6")]
    pub player_data: u32,
}
/// Obf: GGIMNLGIGIO
#[derive(proto_derive::CmdID)]
#[cmdid(1024)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultiplayerGetFightGateScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(string, tag = "4")]
    pub pjmdkjhcjnb: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub aokcmmpfgbc: ::prost::alloc::string::String,
    #[prost(uint64, tag = "6")]
    pub nogfeemnhpc: u64,
    #[prost(uint32, tag = "15")]
    pub kimnjcgbhaj: u32,
}
/// Obf: BPGNJJGIECJ
#[derive(proto_derive::CmdID)]
#[cmdid(1030)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultiplayerFightGiveUpCsReq {
    #[prost(uint64, tag = "13")]
    pub nogfeemnhpc: u64,
}
/// Obf: HBEPKKHKBMB
#[derive(proto_derive::CmdID)]
#[cmdid(1056)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultiplayerFightGiveUpScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: IHBKNEBEHFA
#[derive(proto_derive::CmdID)]
#[cmdid(1097)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultiplayerFightGameStartScNotify {
    #[prost(message, repeated, tag = "1")]
    pub lipjdjpmokb: ::prost::alloc::vec::Vec<Cbbdiomifhd>,
    #[prost(message, optional, tag = "4")]
    pub pfffjngnpom: ::core::option::Option<Ppggkmdaoea>,
}
/// Obf: CHENLDLOLJH
#[derive(proto_derive::CmdID)]
#[cmdid(1076)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultiplayerFightGameFinishScNotify {
    #[prost(message, optional, tag = "15")]
    pub pfffjngnpom: ::core::option::Option<Ppggkmdaoea>,
}
/// Obf: BHGJKCGLBMG
#[derive(proto_derive::CmdID)]
#[cmdid(1028)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultiplayerMatch3FinishScNotify {
    #[prost(uint32, tag = "9")]
    pub fdgdokafbdh: u32,
    #[prost(enumeration = "Keekddahfoe", tag = "10")]
    pub reason: i32,
    #[prost(message, optional, tag = "15")]
    pub niaeghjlnmb: ::core::option::Option<Cdimemfjjfp>,
    #[prost(uint32, tag = "12")]
    pub kojihjihkia: u32,
}
/// Obf: BLIEMPKGMNA
#[derive(proto_derive::CmdID)]
#[cmdid(4601)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMultipleDropInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eccnnonkfca {
    #[prost(uint32, tag = "7")]
    pub id: u32,
    #[prost(uint32, tag = "6")]
    pub olalhikmjop: u32,
}
/// Obf: DLCIFEFLJCC
#[derive(proto_derive::CmdID)]
#[cmdid(4668)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMultipleDropInfoScRsp {
    #[prost(message, repeated, tag = "9")]
    pub ljcpdmnkjif: ::prost::alloc::vec::Vec<Eccnnonkfca>,
    #[prost(message, repeated, tag = "5")]
    pub fchnnkekfcl: ::prost::alloc::vec::Vec<Ohdnchfgfma>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: AHLLFEKHALO
#[derive(proto_derive::CmdID)]
#[cmdid(4658)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultipleDropInfoScNotify {
    #[prost(message, repeated, tag = "9")]
    pub ljcpdmnkjif: ::prost::alloc::vec::Vec<Eccnnonkfca>,
}
/// Obf: DIDAECIMCFO
#[derive(proto_derive::CmdID)]
#[cmdid(4624)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlayerReturnMultiDropInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbfipijjidl {
    #[prost(uint32, tag = "15")]
    pub pjhdjkmjpkh: u32,
    #[prost(uint32, tag = "10")]
    pub dkjgcbjkeen: u32,
    #[prost(uint32, tag = "12")]
    pub module_id: u32,
    #[prost(uint32, tag = "5")]
    pub ljkffdmhojh: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ohdnchfgfma {
    #[prost(uint32, tag = "1")]
    pub blfaanhjpad: u32,
    #[prost(uint32, tag = "15")]
    pub bjfbglbjbnn: u32,
    #[prost(uint32, tag = "10")]
    pub lclmhegdggb: u32,
    #[prost(uint32, tag = "7")]
    pub module_id: u32,
}
/// Obf: MGJNGCPOAIM
#[derive(proto_derive::CmdID)]
#[cmdid(4630)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlayerReturnMultiDropInfoScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "9")]
    pub fchnnkekfcl: ::prost::alloc::vec::Vec<Ohdnchfgfma>,
    #[prost(message, optional, tag = "5")]
    pub ikgfoejpjcf: ::core::option::Option<Jbfipijjidl>,
}
/// Obf: DOJHANCDKJJ
#[derive(proto_derive::CmdID)]
#[cmdid(4656)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultipleDropInfoNotify {
    #[prost(message, repeated, tag = "12")]
    pub ponjjnddkbh: ::prost::alloc::vec::Vec<Jbfipijjidl>,
    #[prost(message, repeated, tag = "9")]
    pub fchnnkekfcl: ::prost::alloc::vec::Vec<Ohdnchfgfma>,
    #[prost(message, repeated, tag = "7")]
    pub ljcpdmnkjif: ::prost::alloc::vec::Vec<Eccnnonkfca>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Opgjgdoggnj {
    #[prost(enumeration = "Kamlglmnjgj", tag = "8")]
    pub pos: i32,
    #[prost(uint32, tag = "2")]
    pub bdjcgcdjoeo: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jmeaocpfeol {
    #[prost(uint32, tag = "6")]
    pub hihlgaghlni: u32,
    #[prost(uint32, tag = "2")]
    pub hjjfmdheapb: u32,
    #[prost(uint32, tag = "13")]
    pub area_id: u32,
    #[prost(message, repeated, tag = "3")]
    pub bojmnafdjkh: ::prost::alloc::vec::Vec<Opgjgdoggnj>,
    #[prost(uint32, tag = "14")]
    pub level: u32,
    #[prost(uint32, tag = "1")]
    pub cdnngagbaak: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Panaijbjmen {
    #[prost(bool, tag = "4")]
    pub hlnfbgacnpo: bool,
    #[prost(uint32, tag = "15")]
    pub beleodaiinb: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dolgfnlheae {
    #[prost(uint32, tag = "12")]
    pub pngddnajcgg: u32,
    #[prost(uint32, tag = "4")]
    pub dcehogagkom: u32,
    #[prost(message, repeated, tag = "11")]
    pub fmbfbgnaboc: ::prost::alloc::vec::Vec<Panaijbjmen>,
    #[prost(uint32, tag = "3")]
    pub fnpphmblkoa: u32,
    #[prost(uint32, tag = "7")]
    pub fileddcmdoc: u32,
    #[prost(uint32, tag = "5")]
    pub ggfddejhlif: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Olkmlfeefcj {
    #[prost(uint32, tag = "13")]
    pub bdjcgcdjoeo: u32,
    #[prost(uint32, tag = "5")]
    pub lgkiielghdj: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Blnehdifmoo {
    #[prost(uint32, tag = "7")]
    pub cogbcplmnfd: u32,
    #[prost(enumeration = "Aihadkbhpbm", tag = "9")]
    pub state: i32,
    #[prost(uint32, tag = "11")]
    pub dgjbacbiico: u32,
    #[prost(uint32, tag = "10")]
    pub event_id: u32,
    #[prost(uint32, tag = "15")]
    pub bmbgklkecaj: u32,
    #[prost(uint32, tag = "3")]
    pub hcaglclejnd: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub haabefkhami: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jnbcpncnoho {
    #[prost(uint32, repeated, tag = "11")]
    pub pnjeepoemca: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "2")]
    pub bjcmphlpknf: ::prost::alloc::vec::Vec<Blnehdifmoo>,
    #[prost(uint32, tag = "13")]
    pub lhnjmbgndkc: u32,
}
/// Obf: PMCANDKDEGB
#[derive(proto_derive::CmdID)]
#[cmdid(4301)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMuseumInfoCsReq {}
/// Obf: JAPGKGGLDFO
#[derive(proto_derive::CmdID)]
#[cmdid(4368)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMuseumInfoScRsp {
    #[prost(message, optional, tag = "9")]
    pub jpibmbbkgnd: ::core::option::Option<Dolgfnlheae>,
    #[prost(uint32, tag = "13")]
    pub level: u32,
    #[prost(uint32, tag = "1")]
    pub jbjldppdbbc: u32,
    #[prost(uint32, tag = "15")]
    pub exp: u32,
    #[prost(message, optional, tag = "11")]
    pub ekkolcccnnk: ::core::option::Option<Jnbcpncnoho>,
    #[prost(message, repeated, tag = "14")]
    pub bojmnafdjkh: ::prost::alloc::vec::Vec<Olkmlfeefcj>,
    #[prost(uint32, tag = "12")]
    pub hpnmpdocjma: u32,
    #[prost(message, repeated, tag = "8")]
    pub llephoelgda: ::prost::alloc::vec::Vec<Jmeaocpfeol>,
    #[prost(uint32, repeated, tag = "3")]
    pub kndjapnpapk: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "4")]
    pub kndmdpefadc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub dbjhemippim: u32,
    #[prost(uint32, tag = "5")]
    pub ejnkmkffccl: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub ejkghbemoob: u32,
}
/// Obf: IELFKENKBGM
#[derive(proto_derive::CmdID)]
#[cmdid(4358)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyNpcStuffCsReq {
    #[prost(uint32, tag = "4")]
    pub bdjcgcdjoeo: u32,
}
/// Obf: KGAFOHOAFAC
#[derive(proto_derive::CmdID)]
#[cmdid(4324)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyNpcStuffScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "2")]
    pub bdjcgcdjoeo: u32,
}
/// Obf: BJCNDPEODHI
#[derive(proto_derive::CmdID)]
#[cmdid(4330)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetStuffToAreaCsReq {
    #[prost(enumeration = "Kamlglmnjgj", tag = "7")]
    pub pos: i32,
    #[prost(uint32, tag = "12")]
    pub lgkiielghdj: u32,
    #[prost(uint32, tag = "10")]
    pub bdjcgcdjoeo: u32,
}
/// Obf: JDIPLKMKLEI
#[derive(proto_derive::CmdID)]
#[cmdid(4356)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetStuffToAreaScRsp {
    #[prost(uint32, tag = "10")]
    pub lgkiielghdj: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub bdjcgcdjoeo: u32,
    #[prost(enumeration = "Kamlglmnjgj", tag = "15")]
    pub pos: i32,
}
/// Obf: LCDDFEECNGG
#[derive(proto_derive::CmdID)]
#[cmdid(4397)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RemoveStuffFromAreaCsReq {
    #[prost(uint32, tag = "12")]
    pub bdjcgcdjoeo: u32,
}
/// Obf: BPKBEMJPPBF
#[derive(proto_derive::CmdID)]
#[cmdid(4376)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RemoveStuffFromAreaScRsp {
    #[prost(uint32, tag = "3")]
    pub bdjcgcdjoeo: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: ODBFDDMDNAK
#[derive(proto_derive::CmdID)]
#[cmdid(4328)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetStuffScNotify {
    #[prost(enumeration = "Kgjjjkpdcfg", tag = "14")]
    pub aocelkonhob: i32,
    #[prost(uint32, tag = "8")]
    pub bdjcgcdjoeo: u32,
}
/// Obf: MIACMEBIFCH
#[derive(proto_derive::CmdID)]
#[cmdid(4311)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetExhibitScNotify {
    #[prost(uint32, tag = "5")]
    pub bccgcfmabgm: u32,
}
/// Obf: LFPEOCEMGMF
#[derive(proto_derive::CmdID)]
#[cmdid(4305)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishCurTurnCsReq {
    #[prost(uint32, tag = "12")]
    pub cciecpfpfjg: u32,
}
/// Obf: IPOHMPKNALK
#[derive(proto_derive::CmdID)]
#[cmdid(4314)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishCurTurnScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub gpoieccpamn: u32,
}
/// Obf: FFIKBMOHGCH
#[derive(proto_derive::CmdID)]
#[cmdid(4349)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpgradeAreaCsReq {
    #[prost(uint32, tag = "8")]
    pub level: u32,
    #[prost(uint32, tag = "2")]
    pub area_id: u32,
}
/// Obf: POBHKLNOAPI
#[derive(proto_derive::CmdID)]
#[cmdid(4322)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpgradeAreaScRsp {
    #[prost(uint32, tag = "3")]
    pub area_id: u32,
    #[prost(uint32, tag = "14")]
    pub level: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: DKFJFHDOGFA
#[derive(proto_derive::CmdID)]
#[cmdid(4347)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpgradeAreaStatCsReq {
    #[prost(uint32, tag = "9")]
    pub level: u32,
    #[prost(enumeration = "Ibbgdgghejl", tag = "5")]
    pub status_info: i32,
    #[prost(uint32, tag = "13")]
    pub area_id: u32,
}
/// Obf: GIMHGGFPHJK
#[derive(proto_derive::CmdID)]
#[cmdid(4380)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpgradeAreaStatScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(enumeration = "Ibbgdgghejl", tag = "11")]
    pub status_info: i32,
    #[prost(uint32, tag = "8")]
    pub area_id: u32,
    #[prost(uint32, tag = "5")]
    pub level: u32,
}
/// Obf: JHCFEAAHFKC
#[derive(proto_derive::CmdID)]
#[cmdid(4339)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MuseumInfoChangedScNotify {
    #[prost(uint32, tag = "12")]
    pub exp: u32,
    #[prost(message, optional, tag = "4")]
    pub ekkolcccnnk: ::core::option::Option<Jnbcpncnoho>,
    #[prost(uint32, tag = "14")]
    pub dbjhemippim: u32,
    #[prost(uint32, tag = "1")]
    pub level: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub kndjapnpapk: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "7")]
    pub hpnmpdocjma: u32,
    #[prost(uint32, tag = "3")]
    pub ejnkmkffccl: u32,
    #[prost(message, repeated, tag = "11")]
    pub llephoelgda: ::prost::alloc::vec::Vec<Jmeaocpfeol>,
    #[prost(uint32, tag = "6")]
    pub jbjldppdbbc: u32,
    #[prost(message, repeated, tag = "5")]
    pub bojmnafdjkh: ::prost::alloc::vec::Vec<Olkmlfeefcj>,
    #[prost(uint32, tag = "8")]
    pub ejkghbemoob: u32,
    #[prost(message, optional, tag = "10")]
    pub jpibmbbkgnd: ::core::option::Option<Dolgfnlheae>,
    #[prost(uint32, repeated, tag = "13")]
    pub kndmdpefadc: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NJKGECLEIEJ
#[derive(proto_derive::CmdID)]
#[cmdid(4323)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MuseumRandomEventStartScNotify {
    #[prost(message, optional, tag = "4")]
    pub hndlhicdnpc: ::core::option::Option<Blnehdifmoo>,
}
/// Obf: BOOMIEGPOPL
#[derive(proto_derive::CmdID)]
#[cmdid(4312)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MuseumRandomEventQueryCsReq {
    #[prost(int32, tag = "14")]
    pub cehfiilmjkm: i32,
}
/// Obf: FOCGEBJIEBB
#[derive(proto_derive::CmdID)]
#[cmdid(4317)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MuseumRandomEventQueryScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub hndlhicdnpc: ::core::option::Option<Jnbcpncnoho>,
}
/// Obf: IIGHGCLDOLA
#[derive(proto_derive::CmdID)]
#[cmdid(4391)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MuseumRandomEventSelectCsReq {
    #[prost(uint32, tag = "14")]
    pub event_id: u32,
    #[prost(uint32, tag = "5")]
    pub dgjbacbiico: u32,
}
/// Obf: JAMLDHMGDFA
#[derive(proto_derive::CmdID)]
#[cmdid(4318)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MuseumRandomEventSelectScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "5")]
    pub dgjbacbiico: u32,
    #[prost(uint32, tag = "6")]
    pub event_id: u32,
}
/// Obf: NGJDOPNPPGE
#[derive(proto_derive::CmdID)]
#[cmdid(4396)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MuseumFundsChangedScNotify {
    #[prost(uint32, tag = "14")]
    pub dbjhemippim: u32,
}
/// Obf: IGCMGNCHJHL
#[derive(proto_derive::CmdID)]
#[cmdid(4395)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MuseumDispatchFinishedScNotify {
    #[prost(uint32, tag = "11")]
    pub imblgcaadfl: u32,
    #[prost(uint32, tag = "5")]
    pub dbjhemippim: u32,
    #[prost(uint32, tag = "15")]
    pub modfabddnkl: u32,
    #[prost(uint32, tag = "12")]
    pub bdjcgcdjoeo: u32,
}
/// Obf: OPGANLFJPIA
#[derive(proto_derive::CmdID)]
#[cmdid(4350)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MuseumTargetStartNotify {
    #[prost(uint32, tag = "5")]
    pub pngddnajcgg: u32,
}
/// Obf: ABHEGCGEGFD
#[derive(proto_derive::CmdID)]
#[cmdid(4348)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MuseumTargetMissionFinishNotify {
    #[prost(uint32, repeated, tag = "9")]
    pub beleodaiinb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub pngddnajcgg: u32,
    #[prost(bool, tag = "14")]
    pub fpbgadbmead: bool,
}
/// Obf: OANCDPOFCMJ
#[derive(proto_derive::CmdID)]
#[cmdid(4369)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MuseumTargetRewardNotify {
    #[prost(uint32, tag = "10")]
    pub pngddnajcgg: u32,
    #[prost(uint32, tag = "11")]
    pub item_id: u32,
    #[prost(uint32, tag = "15")]
    pub mbejblfhcbh: u32,
}
/// Obf: ACPBHBHLNNP
#[derive(proto_derive::CmdID)]
#[cmdid(4320)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MuseumTakeCollectRewardCsReq {
    #[prost(uint32, tag = "10")]
    pub item_id: u32,
}
/// Obf: PEBFOFMPHLD
#[derive(proto_derive::CmdID)]
#[cmdid(4392)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MuseumTakeCollectRewardScRsp {
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "14")]
    pub item_id: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lleogoohjim {
    #[prost(bool, tag = "14")]
    pub gkjgcbpojcm: bool,
    #[prost(uint32, tag = "12")]
    pub immaphmhijk: u32,
    #[prost(uint32, tag = "4")]
    pub acjcphifmln: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pakpcciloln {
    #[prost(uint32, tag = "4")]
    pub ojamobmgfbd: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub nbboabglcjc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "10")]
    pub dnkjdjjbcdk: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub blpbigkjpch: u32,
}
/// Obf: LLOEKNIFJGH
#[derive(proto_derive::CmdID)]
#[cmdid(7583)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmDataCsReq {
    #[prost(uint32, tag = "3")]
    pub player_data: u32,
}
/// Obf: PNCLMCMOCDH
#[derive(proto_derive::CmdID)]
#[cmdid(7586)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmDataScRsp {
    #[prost(bool, tag = "10")]
    pub ocephgbcmib: bool,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub bmkmenhffok: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub cdigalbeima: u32,
    #[prost(message, repeated, tag = "3")]
    pub lkmjinniadi: ::prost::alloc::vec::Vec<Lleogoohjim>,
    #[prost(uint32, repeated, tag = "6")]
    pub fkliofdpjbe: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "11")]
    pub bnanpjbdghb: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "4")]
    pub amdcjjjabcc: ::prost::alloc::vec::Vec<Pakpcciloln>,
    #[prost(uint32, tag = "9")]
    pub ljekppnpbpp: u32,
}
/// Obf: FEPACLABFKH
#[derive(proto_derive::CmdID)]
#[cmdid(7598)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmStartLevelCsReq {
    #[prost(uint32, tag = "2")]
    pub acjcphifmln: u32,
}
/// Obf: CMECLLJDMJI
#[derive(proto_derive::CmdID)]
#[cmdid(7571)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmStartLevelScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(string, tag = "8")]
    pub mdlndgijnml: ::prost::alloc::string::String,
    #[prost(uint32, tag = "5")]
    pub acjcphifmln: u32,
}
/// Obf: DOEJALIHJCD
#[derive(proto_derive::CmdID)]
#[cmdid(7585)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmFinishLevelCsReq {
    #[prost(uint32, tag = "4")]
    pub mhkhaclnbpm: u32,
    #[prost(bool, tag = "8")]
    pub gkjgcbpojcm: bool,
    #[prost(uint32, tag = "10")]
    pub score: u32,
}
/// Obf: FLJGCBPELHO
#[derive(proto_derive::CmdID)]
#[cmdid(7593)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmFinishLevelScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub acjcphifmln: u32,
}
/// Obf: JEMOIIJGKAO
#[derive(proto_derive::CmdID)]
#[cmdid(7591)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmUnlockTrackScNotify {
    #[prost(uint32, repeated, tag = "14")]
    pub jikjhneacjb: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DHAKCHLIBNH
#[derive(proto_derive::CmdID)]
#[cmdid(7572)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmSaveSongConfigDataCsReq {
    #[prost(message, optional, tag = "5")]
    pub cgedaboaboh: ::core::option::Option<Pakpcciloln>,
}
/// Obf: KNFHFMIDCGE
#[derive(proto_derive::CmdID)]
#[cmdid(7595)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmSaveSongConfigDataScRsp {
    #[prost(uint32, tag = "1")]
    pub cdigalbeima: u32,
    #[prost(uint32, tag = "4")]
    pub mbldfhldcpi: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: ICKBFLLLNLH
#[derive(proto_derive::CmdID)]
#[cmdid(7596)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmUnlockSongNotify {
    #[prost(uint32, repeated, tag = "15")]
    pub oafhaopejpo: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PJCMNLHELJG
#[derive(proto_derive::CmdID)]
#[cmdid(7592)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmMaxDifficultyLevelsUnlockNotify {}
/// Obf: MABNDMNEOBP
#[derive(proto_derive::CmdID)]
#[cmdid(7578)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmUnlockSongSfxScNotify {
    #[prost(uint32, repeated, tag = "12")]
    pub oafhaopejpo: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hkmkchnpkdc {
    #[prost(uint32, tag = "9")]
    pub njhlopcjjda: u32,
    #[prost(uint32, tag = "7")]
    pub hidbcpinlmh: u32,
    #[prost(uint32, tag = "15")]
    pub kmnlbgoeehg: u32,
    #[prost(uint32, repeated, tag = "8")]
    pub fcfdbnjenjf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub mkkfmndmhje: u32,
    #[prost(enumeration = "Fbomlibegoc", tag = "12")]
    pub mjgdopckeif: i32,
}
/// Obf: FBCNGILDCAL
#[derive(proto_derive::CmdID)]
#[cmdid(6937)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetOfferingInfoCsReq {
    #[prost(uint32, repeated, tag = "7")]
    pub gpjcdjglgof: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: OOMAIBAJOAN
#[derive(proto_derive::CmdID)]
#[cmdid(6928)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetOfferingInfoScRsp {
    #[prost(message, repeated, tag = "10")]
    pub gdamadmhhgf: ::prost::alloc::vec::Vec<Hkmkchnpkdc>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: OPCMLGFFFKD
#[derive(proto_derive::CmdID)]
#[cmdid(6932)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubmitOfferingItemCsReq {
    #[prost(uint32, tag = "1")]
    pub kmnlbgoeehg: u32,
    #[prost(uint32, tag = "6")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: DLIFLGGHNCM
#[derive(proto_derive::CmdID)]
#[cmdid(6922)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubmitOfferingItemScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub ppjdapbpoap: ::core::option::Option<Hkmkchnpkdc>,
}
/// Obf: NCNENNJGCEJ
#[derive(proto_derive::CmdID)]
#[cmdid(6924)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeOfferingRewardCsReq {
    #[prost(uint32, repeated, tag = "1")]
    pub fbkccpkieia: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "6")]
    pub kmnlbgoeehg: u32,
    #[prost(uint32, tag = "13")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: CBPGDFBGMLC
#[derive(proto_derive::CmdID)]
#[cmdid(6921)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeOfferingRewardScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "12")]
    pub ppjdapbpoap: ::core::option::Option<Hkmkchnpkdc>,
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: AGDKFNEMODP
#[derive(proto_derive::CmdID)]
#[cmdid(6939)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OfferingInfoScNotify {
    #[prost(message, optional, tag = "2")]
    pub ppjdapbpoap: ::core::option::Option<Hkmkchnpkdc>,
}
/// Obf: KNHNOIKKCAA
#[derive(proto_derive::CmdID)]
#[cmdid(4001)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptedPamMissionExpireCsReq {
    #[prost(uint32, tag = "2")]
    pub main_mission_id: u32,
}
/// Obf: HFCKILKEBMH
#[derive(proto_derive::CmdID)]
#[cmdid(4068)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptedPamMissionExpireScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub main_mission_id: u32,
}
/// Obf: OKPOKDGMOEI
#[derive(proto_derive::CmdID)]
#[cmdid(4058)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncAcceptedPamMissionNotify {
    #[prost(uint64, tag = "4")]
    pub pambjbfngpo: u64,
    #[prost(uint32, tag = "9")]
    pub main_mission_id: u32,
}
/// Obf: IANFOLLDCFN
#[derive(proto_derive::CmdID)]
#[cmdid(8137)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPamSkinDataCsReq {}
/// Obf: IMMHJOKNGPA
#[derive(proto_derive::CmdID)]
#[cmdid(8128)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPamSkinDataScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub current_pam_skin_id: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub unlocked_pam_skins: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GKGPODJKBIP
#[derive(proto_derive::CmdID)]
#[cmdid(8132)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelectPamSkinCsReq {
    #[prost(uint32, tag = "11")]
    pub pam_skin_id: u32,
}
/// Obf: KEAHBIODCID
#[derive(proto_derive::CmdID)]
#[cmdid(8122)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelectPamSkinScRsp {
    #[prost(uint32, tag = "6")]
    pub select_pam_skin_id: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "8")]
    pub current_pam_skin_id: u32,
}
/// Obf: IOLKOFECEKC
#[derive(proto_derive::CmdID)]
#[cmdid(8124)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockPamSkinScNotify {
    #[prost(uint32, tag = "9")]
    pub pam_skin_id: u32,
}
/// Obf: BKFCEFHDPCF
#[derive(proto_derive::CmdID)]
#[cmdid(7622)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPetDataCsReq {}
/// Obf: DPLNLFKGHHO
#[derive(proto_derive::CmdID)]
#[cmdid(7614)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPetDataScRsp {
    #[prost(uint32, tag = "2")]
    pub pet_id: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub owned_pet_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FMNKJCBDLEJ
#[derive(proto_derive::CmdID)]
#[cmdid(7601)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SummonPetCsReq {
    #[prost(uint32, tag = "5")]
    pub summoned_pet_id: u32,
}
/// Obf: FIFKOAJCKEJ
#[derive(proto_derive::CmdID)]
#[cmdid(7615)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SummonPetScRsp {
    #[prost(uint32, tag = "8")]
    pub pet_id: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "1")]
    pub pet_item_id: u32,
}
/// Obf: EKNDMAJKKKB
#[derive(proto_derive::CmdID)]
#[cmdid(7623)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RecallPetCsReq {
    #[prost(uint32, tag = "3")]
    pub summoned_pet_id: u32,
}
/// Obf: CILLCOPKKDL
#[derive(proto_derive::CmdID)]
#[cmdid(7608)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RecallPetScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub pet_id: u32,
    #[prost(uint32, tag = "9")]
    pub pet_item_id: u32,
}
/// Obf: KIJFPBFKMKA
#[derive(proto_derive::CmdID)]
#[cmdid(7616)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CurPetChangedScNotify {
    #[prost(uint32, tag = "3")]
    pub pet_id: u32,
}
/// Obf: FKOOKNOIDAB
#[derive(proto_derive::CmdID)]
#[cmdid(5101)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPhoneDataCsReq {}
/// Obf: PMPAJBKNDHC
#[derive(proto_derive::CmdID)]
#[cmdid(5168)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPhoneDataScRsp {
    /// TODO
    #[prost(uint32, repeated, tag = "9")]
    pub owned_chat_bubbles: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub cur_phone_theme: u32,
    /// TODO
    #[prost(uint32, repeated, tag = "1")]
    pub owned_phone_themes: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub cur_chat_bubble: u32,
}
/// Obf: CMGEDCCBJGH
#[derive(proto_derive::CmdID)]
#[cmdid(5158)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelectChatBubbleCsReq {
    #[prost(uint32, tag = "6")]
    pub bubble_id: u32,
}
/// Obf: MALLKFJAEAH
#[derive(proto_derive::CmdID)]
#[cmdid(5124)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelectChatBubbleScRsp {
    #[prost(uint32, tag = "1")]
    pub cur_chat_bubble: u32,
    #[prost(uint32, tag = "4")]
    pub pmdcbfopchb: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: GHAALGCBPCA
#[derive(proto_derive::CmdID)]
#[cmdid(5130)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockChatBubbleScNotify {
    #[prost(uint32, tag = "15")]
    pub bubble_id: u32,
}
/// Obf: EDHCHAJIMCA
#[derive(proto_derive::CmdID)]
#[cmdid(5156)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelectPhoneThemeCsReq {
    #[prost(uint32, tag = "5")]
    pub theme_id: u32,
}
/// Obf: KODDPLOIHFK
#[derive(proto_derive::CmdID)]
#[cmdid(5197)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelectPhoneThemeScRsp {
    #[prost(uint32, tag = "9")]
    pub achopojlcce: u32,
    #[prost(uint32, tag = "15")]
    pub cur_phone_theme: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: GOAAANNKAPL
#[derive(proto_derive::CmdID)]
#[cmdid(5176)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockPhoneThemeScNotify {
    #[prost(uint32, tag = "5")]
    pub theme_id: u32,
}
/// Obf: PGAPOOHJGMB
#[derive(proto_derive::CmdID)]
#[cmdid(1)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerLoginCsReq {
    #[prost(bool, tag = "271")]
    pub gehapnihcdo: bool,
    #[prost(string, tag = "3")]
    pub kibbnbngijd: ::prost::alloc::string::String,
    #[prost(uint64, tag = "8")]
    pub login_random: u64,
    #[prost(string, tag = "1383")]
    pub akcejfcfban: ::prost::alloc::string::String,
    #[prost(string, tag = "10")]
    pub bnigpdooili: ::prost::alloc::string::String,
    #[prost(string, tag = "802")]
    pub ignfblgjioj: ::prost::alloc::string::String,
    #[prost(bool, tag = "1522")]
    pub oeencfmcahd: bool,
    #[prost(enumeration = "PlatformType", tag = "6")]
    pub platform_type: i32,
    #[prost(string, tag = "2025")]
    pub kfdjeieobbn: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub cost_time: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "1877")]
    pub miohkaoidnk: ::core::option::Option<Jgfkicdcflj>,
    #[prost(string, tag = "11")]
    pub signature: ::prost::alloc::string::String,
    #[prost(string, tag = "958")]
    pub ohpckcnaeik: ::prost::alloc::string::String,
    #[prost(uint32, tag = "1410")]
    pub haehhcpoapp: u32,
    #[prost(string, tag = "12")]
    pub dmpmhccfbkg: ::prost::alloc::string::String,
    #[prost(string, tag = "7")]
    pub oehjlodahfn: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub ocdacjnnjnj: ::prost::alloc::string::String,
    #[prost(string, tag = "520")]
    pub bpckjkdencb: ::prost::alloc::string::String,
    #[prost(string, tag = "1710")]
    pub gmalcpnohbf: ::prost::alloc::string::String,
    #[prost(uint32, tag = "211")]
    pub mlnabepindb: u32,
    #[prost(uint32, tag = "15")]
    pub client_res_version: u32,
    #[prost(uint32, tag = "9")]
    pub jmkhdhaioim: u32,
    #[prost(string, tag = "13")]
    pub hjdmjpebppm: ::prost::alloc::string::String,
    #[prost(enumeration = "Hmpkdadoodb", tag = "14")]
    pub fadpdibknbi: i32,
    #[prost(uint32, tag = "505")]
    pub nhbhbalhjml: u32,
    #[prost(string, tag = "1")]
    pub lagbgldlgcb: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub bnboaliapae: ::prost::alloc::string::String,
}
/// Obf: BKFCFKAKBAL
#[derive(proto_derive::CmdID)]
#[cmdid(68)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerLoginScRsp {
    #[prost(uint32, tag = "12")]
    pub stamina: u32,
    #[prost(bool, tag = "8")]
    pub jlpkeobincp: bool,
    #[prost(message, optional, tag = "2")]
    pub basic_info: ::core::option::Option<PlayerBasicInfo>,
    #[prost(string, tag = "3")]
    pub pdikpeifann: ::prost::alloc::string::String,
    #[prost(string, tag = "14")]
    pub nhmhabjkhog: ::prost::alloc::string::String,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint64, tag = "7")]
    pub server_timestamp_ms: u64,
    #[prost(uint64, tag = "5")]
    pub login_random: u64,
    #[prost(bool, tag = "9")]
    pub igkbeamlnbj: bool,
    #[prost(int32, tag = "13")]
    pub cur_timezone: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lmipmhhpfhn {}
/// Obf: LHNADANEIOG
#[derive(proto_derive::CmdID)]
#[cmdid(30)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerGetTokenCsReq {
    #[prost(uint32, tag = "7")]
    pub platform_type: u32,
    #[prost(uint32, tag = "6")]
    pub fgojlpaejec: u32,
    /// TODO
    #[prost(string, tag = "9")]
    pub account_uid: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub mempbkcjjfj: ::prost::alloc::string::String,
    #[prost(uint32, tag = "8")]
    pub icmfpnpijjf: u32,
    #[prost(string, tag = "3")]
    pub token: ::prost::alloc::string::String,
    #[prost(uint32, tag = "11")]
    pub haehhcpoapp: u32,
    #[prost(uint32, tag = "4")]
    pub uid: u32,
}
/// Obf: HEDHHDPAOJE
#[derive(proto_derive::CmdID)]
#[cmdid(56)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerGetTokenScRsp {
    #[prost(message, optional, tag = "3")]
    pub black_info: ::core::option::Option<BlackInfo>,
    #[prost(uint32, tag = "11")]
    pub uid: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(string, tag = "15")]
    pub msg: ::prost::alloc::string::String,
    #[prost(uint64, tag = "7")]
    pub secret_key_seed: u64,
}
/// Obf: CCANMIHELML
#[derive(proto_derive::CmdID)]
#[cmdid(76)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GmTalkScNotify {
    #[prost(string, tag = "7")]
    pub msg: ::prost::alloc::string::String,
}
/// Obf: PLPKJLGANCB
#[derive(proto_derive::CmdID)]
#[cmdid(28)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerKickOutScNotify {
    #[prost(message, optional, tag = "4")]
    pub black_info: ::core::option::Option<BlackInfo>,
    #[prost(enumeration = "player_kick_out_sc_notify::Hilaijmdkej", tag = "15")]
    pub mglldoifgnd: i32,
}
/// Nested message and enum types in `PlayerKickOutScNotify`.
pub mod player_kick_out_sc_notify {
    #[derive(proto_derive::CmdID)]
    #[derive(
        Clone,
        Copy,
        Debug,
        PartialEq,
        Eq,
        Hash,
        PartialOrd,
        Ord,
        ::prost::Enumeration
    )]
    #[repr(i32)]
    pub enum Hilaijmdkej {
        KickSqueezed = 0,
        KickBlack = 1,
        KickChangePwd = 2,
        KickLoginWhiteTimeout = 3,
        KickAceAntiCheater = 4,
        KickByGm = 5,
    }
    impl Hilaijmdkej {
        /// String value of the enum field names used in the ProtoBuf definition.
        ///
        /// The values are not transformed in any way and thus are considered stable
        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
        pub fn as_str_name(&self) -> &'static str {
            match self {
                Hilaijmdkej::KickSqueezed => "KICK_SQUEEZED",
                Hilaijmdkej::KickBlack => "KICK_BLACK",
                Hilaijmdkej::KickChangePwd => "KICK_CHANGE_PWD",
                Hilaijmdkej::KickLoginWhiteTimeout => "KICK_LOGIN_WHITE_TIMEOUT",
                Hilaijmdkej::KickAceAntiCheater => "KICK_ACE_ANTI_CHEATER",
                Hilaijmdkej::KickByGm => "KICK_BY_GM",
            }
        }
        /// Creates an enum from field names used in the ProtoBuf definition.
        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
            match value {
                "KICK_SQUEEZED" => Some(Self::KickSqueezed),
                "KICK_BLACK" => Some(Self::KickBlack),
                "KICK_CHANGE_PWD" => Some(Self::KickChangePwd),
                "KICK_LOGIN_WHITE_TIMEOUT" => Some(Self::KickLoginWhiteTimeout),
                "KICK_ACE_ANTI_CHEATER" => Some(Self::KickAceAntiCheater),
                "KICK_BY_GM" => Some(Self::KickByGm),
                _ => None,
            }
        }
    }
}
/// Obf: FCLNPHHEBIK
#[derive(proto_derive::CmdID)]
#[cmdid(11)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GmTalkCsReq {
    #[prost(string, tag = "6")]
    pub msg: ::prost::alloc::string::String,
}
/// Obf: IDAFMHOMNFO
#[derive(proto_derive::CmdID)]
#[cmdid(5)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GmTalkScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(string, tag = "14")]
    pub bjdojlkehna: ::prost::alloc::string::String,
}
/// Obf: NLDIOAKBAEF
#[derive(proto_derive::CmdID)]
#[cmdid(15)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBasicInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerSettingInfo {
    #[prost(bool, tag = "7")]
    pub kjncckhjfhe: bool,
    #[prost(bool, tag = "1")]
    pub njfmiljofok: bool,
    #[prost(bool, tag = "8")]
    pub ndjifckkjko: bool,
    #[prost(bool, tag = "3")]
    pub aponeidmphl: bool,
    #[prost(bool, tag = "12")]
    pub pbkbglhhkpe: bool,
    #[prost(bool, tag = "9")]
    pub aicnfaobcpi: bool,
    #[prost(bool, tag = "10")]
    pub nkekibnjmpa: bool,
    #[prost(bool, tag = "11")]
    pub gmjanojmkce: bool,
    #[prost(bool, tag = "2")]
    pub mmmnjchemfn: bool,
    #[prost(bool, tag = "5")]
    pub kapdimgjlnf: bool,
}
/// Obf: GetBasicInfoScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(77)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBasicInfoScRsp {
    #[prost(uint32, tag = "11")]
    pub week_cocoon_finished_count: u32,
    #[prost(uint32, tag = "1")]
    pub gameplay_birthday: u32,
    #[prost(bool, tag = "3")]
    pub is_gender_set: bool,
    #[prost(uint32, tag = "12")]
    pub cur_day: u32,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(int64, tag = "14")]
    pub last_set_nickname_time: i64,
    #[prost(message, optional, tag = "15")]
    pub player_setting_info: ::core::option::Option<PlayerSettingInfo>,
    #[prost(int64, tag = "4")]
    pub next_recover_time: i64,
    #[prost(uint32, tag = "8")]
    pub exchange_times: u32,
    #[prost(uint32, tag = "2")]
    pub gender: u32,
}
/// Obf: CBLCHDHMBGO
#[derive(proto_derive::CmdID)]
#[cmdid(22)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExchangeStaminaCsReq {}
/// Obf: ExchangeStaminaScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(47)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExchangeStaminaScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub exchange_times: u32,
    #[prost(message, repeated, tag = "6")]
    pub item_cost_list: ::prost::alloc::vec::Vec<ItemCost>,
    #[prost(uint32, tag = "15")]
    pub stamina_add: u32,
    #[prost(int64, tag = "12")]
    pub last_recover_time: i64,
}
/// Obf: JOIIJKLDFCJ
#[derive(proto_derive::CmdID)]
#[cmdid(80)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAuthkeyCsReq {
    #[prost(uint32, tag = "1")]
    pub goijemcccgl: u32,
    #[prost(string, tag = "15")]
    pub acdjgnhjdai: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub mpgpgfkbmhg: u32,
}
/// Obf: OOMOCDOFBPA
#[derive(proto_derive::CmdID)]
#[cmdid(39)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAuthkeyScRsp {
    #[prost(uint32, tag = "6")]
    pub goijemcccgl: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub mpgpgfkbmhg: u32,
    #[prost(string, tag = "13")]
    pub acdjgnhjdai: ::prost::alloc::string::String,
    #[prost(string, tag = "15")]
    pub kbnipiiiccn: ::prost::alloc::string::String,
}
/// Obf: MBLGHOEJPFL
#[derive(proto_derive::CmdID)]
#[cmdid(96)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RegionStopScNotify {
    #[prost(int64, tag = "3")]
    pub flheppgbeij: i64,
    #[prost(int64, tag = "6")]
    pub cnojajabmnf: i64,
}
/// Obf: AntiAddictScNotify
#[derive(proto_derive::CmdID)]
#[cmdid(23)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AntiAddictScNotify {
    #[prost(string, tag = "5")]
    pub level: ::prost::alloc::string::String,
    #[prost(uint32, tag = "14")]
    pub msg_type: u32,
    #[prost(string, tag = "2")]
    pub msg: ::prost::alloc::string::String,
}
/// Obf: LCNEGGBICON
#[derive(proto_derive::CmdID)]
#[cmdid(12)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetNicknameCsReq {
    #[prost(string, tag = "9")]
    pub nickname: ::prost::alloc::string::String,
    #[prost(bool, tag = "4")]
    pub is_modify: bool,
}
/// Obf: KGKHBLPJCNP
#[derive(proto_derive::CmdID)]
#[cmdid(17)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetNicknameScRsp {
    #[prost(bool, tag = "12")]
    pub is_modify: bool,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(int64, tag = "4")]
    pub jendkbooaip: i64,
}
/// Obf: PKJNDKNFFBP
#[derive(proto_derive::CmdID)]
#[cmdid(91)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLevelRewardTakenListCsReq {}
/// Obf: NBJDCIIGJOH
#[derive(proto_derive::CmdID)]
#[cmdid(18)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLevelRewardTakenListScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub amcakcpdnnl: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PNNCDLMLBCA
#[derive(proto_derive::CmdID)]
#[cmdid(95)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLevelRewardCsReq {
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "5")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: LAOFKBCENHO
#[derive(proto_derive::CmdID)]
#[cmdid(50)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLevelRewardScRsp {
    #[prost(uint32, tag = "9")]
    pub level: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: PCOPJMAALGD
#[derive(proto_derive::CmdID)]
#[cmdid(20)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetLanguageCsReq {
    #[prost(enumeration = "Hmpkdadoodb", tag = "3")]
    pub fadpdibknbi: i32,
}
/// Obf: HKFACMOAFCE
#[derive(proto_derive::CmdID)]
#[cmdid(92)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetLanguageScRsp {
    #[prost(enumeration = "Hmpkdadoodb", tag = "12")]
    pub fadpdibknbi: i32,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kiphkhhmfac {
    #[prost(uint32, tag = "13")]
    pub kdcigpamgho: u32,
    #[prost(uint32, tag = "8")]
    pub pokidoenkek: u32,
    #[prost(string, tag = "1")]
    pub bcafjhgdodi: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub adjcaknjcgo: ::prost::alloc::string::String,
    #[prost(uint32, tag = "15")]
    pub config_id: u32,
    #[prost(int64, tag = "11")]
    pub begin_time: i64,
    #[prost(int64, tag = "2")]
    pub end_time: i64,
    #[prost(bool, tag = "6")]
    pub ghcaaonigca: bool,
    #[prost(string, tag = "9")]
    pub dbckeiojldi: ::prost::alloc::string::String,
}
/// Obf: IBAKKGHGKBH
#[derive(proto_derive::CmdID)]
#[cmdid(70)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServerAnnounceNotify {
    #[prost(message, repeated, tag = "4")]
    pub pbehmeaeikc: ::prost::alloc::vec::Vec<Kiphkhhmfac>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gateserver {
    #[prost(string, tag = "1307")]
    pub lbfndealalk: ::prost::alloc::string::String,
    #[prost(bool, tag = "1829")]
    pub nehifogigfc: bool,
    #[prost(string, tag = "41")]
    pub rogue_tourn_build_ref_api_req_color_header_value: ::prost::alloc::string::String,
    #[prost(string, tag = "1348")]
    pub design_data_relogin_desc: ::prost::alloc::string::String,
    #[prost(string, repeated, tag = "1916")]
    pub oaohiecdgcc: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(bool, tag = "997")]
    pub ejcmkocjnkg: bool,
    #[prost(string, tag = "1581")]
    pub enhlgccbibk: ::prost::alloc::string::String,
    #[prost(int64, tag = "10")]
    pub flheppgbeij: i64,
    #[prost(string, tag = "1881")]
    pub i_fix_patch_version_update_url: ::prost::alloc::string::String,
    #[prost(string, tag = "608")]
    pub player_return_questionnaire_a_url: ::prost::alloc::string::String,
    #[prost(string, tag = "1562")]
    pub lfgdmmekoip: ::prost::alloc::string::String,
    #[prost(bool, tag = "435")]
    pub network_diagnostic: bool,
    #[prost(string, tag = "1276")]
    pub online_replay_upload_url: ::prost::alloc::string::String,
    #[prost(bool, tag = "19")]
    pub use_tcp: bool,
    #[prost(uint32, tag = "2023")]
    pub cdn_ipv_6_enable: u32,
    #[prost(string, tag = "1043")]
    pub player_return_questionnaire_b_url: ::prost::alloc::string::String,
    #[prost(bool, tag = "498")]
    pub ecbfehfpofj: bool,
    #[prost(string, tag = "1566")]
    pub gafbcaplkoe: ::prost::alloc::string::String,
    #[prost(string, tag = "1357")]
    pub rogue_tourn_build_ref_api_req_color_header_key: ::prost::alloc::string::String,
    #[prost(string, tag = "2014")]
    pub opccffnilmf: ::prost::alloc::string::String,
    #[prost(string, tag = "1325")]
    pub lua_patch_version: ::prost::alloc::string::String,
    #[prost(string, tag = "13")]
    pub design_data_bundle_version_update_url: ::prost::alloc::string::String,
    #[prost(string, tag = "1589")]
    pub online_replay_download_url: ::prost::alloc::string::String,
    #[prost(string, tag = "777")]
    pub predownload_update_url: ::prost::alloc::string::String,
    #[prost(string, tag = "1392")]
    pub server_description: ::prost::alloc::string::String,
    #[prost(string, tag = "772")]
    pub mibphkfmpho: ::prost::alloc::string::String,
    #[prost(string, tag = "785")]
    pub pmlgfnoomhi: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub dnpobgicfcj: ::prost::alloc::string::String,
    #[prost(string, tag = "764")]
    pub i_fix_patch_revision: ::prost::alloc::string::String,
    #[prost(string, tag = "1023")]
    pub khjnclihfaj: ::prost::alloc::string::String,
    #[prost(string, tag = "1783")]
    pub mpnjikpkohj: ::prost::alloc::string::String,
    #[prost(bool, tag = "1915")]
    pub ios_exam: bool,
    #[prost(string, tag = "976")]
    pub login_white_msg: ::prost::alloc::string::String,
    #[prost(bool, tag = "7")]
    pub enable_video_bundle_version_update: bool,
    #[prost(string, tag = "453")]
    pub game_start_customer_service_url: ::prost::alloc::string::String,
    #[prost(string, tag = "14")]
    pub name: ::prost::alloc::string::String,
    #[prost(bool, tag = "905")]
    pub mtp_switch: bool,
    #[prost(string, tag = "331")]
    pub pbpnomofmfp: ::prost::alloc::string::String,
    #[prost(bool, tag = "236")]
    pub enable_upload_battle_log: bool,
    #[prost(string, tag = "269")]
    pub rogue_tourn_build_ref_h_5_url: ::prost::alloc::string::String,
    #[prost(string, tag = "723")]
    pub cfamgpifbgb: ::prost::alloc::string::String,
    #[prost(string, tag = "1833")]
    pub rogue_tourn_build_ref_static_data_url_prefix: ::prost::alloc::string::String,
    #[prost(string, tag = "1516")]
    pub aedffnfckob: ::prost::alloc::string::String,
    #[prost(uint32, tag = "1372")]
    pub rogue_tourn_notice_pic_type: u32,
    #[prost(string, tag = "1967")]
    pub oohfgaaoihe: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub asb_relogin_type: u32,
    #[prost(uint32, tag = "15")]
    pub design_data_relogin_type: u32,
    #[prost(string, tag = "1223")]
    pub client_secret_key: ::prost::alloc::string::String,
    #[prost(bool, tag = "11")]
    pub enable_design_data_bundle_version_update: bool,
    #[prost(bool, tag = "915")]
    pub android_middle_package_enable: bool,
    #[prost(string, tag = "1819")]
    pub rogue_magic_h_5_url: ::prost::alloc::string::String,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(string, tag = "1003")]
    pub dpfmjedhjel: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub asb_relogin_desc: ::prost::alloc::string::String,
    #[prost(bool, tag = "403")]
    pub enable_save_replay_file: bool,
    #[prost(string, tag = "1737")]
    pub glabcpgpiie: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub ip: ::prost::alloc::string::String,
    #[prost(string, tag = "9")]
    pub video_bundle_version_update_url: ::prost::alloc::string::String,
    #[prost(uint32, tag = "12")]
    pub port: u32,
    #[prost(string, tag = "1")]
    pub lua_bundle_version_update_url: ::prost::alloc::string::String,
    #[prost(string, tag = "1670")]
    pub player_return_invite_h_5_url: ::prost::alloc::string::String,
    #[prost(string, tag = "1284")]
    pub acnpcljaehm: ::prost::alloc::string::String,
    #[prost(bool, tag = "1962")]
    pub forbid_recharge: bool,
    #[prost(uint32, tag = "1149")]
    pub rogue_tourn_notice_id: u32,
    #[prost(bool, tag = "465")]
    pub close_redeem_code: bool,
    #[prost(bool, tag = "1206")]
    pub event_tracking_open: bool,
    #[prost(int64, tag = "6")]
    pub cnojajabmnf: i64,
}
/// Obf: BNJGKOABGAM
#[derive(proto_derive::CmdID)]
#[cmdid(7)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GateServerScNotify {
    #[prost(string, tag = "1")]
    pub connpkcchje: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultiPathAvatarTypeInfo {
    #[prost(uint32, tag = "1")]
    pub rank: u32,
    #[prost(enumeration = "MultiPathAvatarType", tag = "10")]
    pub avatar_id: i32,
    /// TODO?
    #[prost(uint32, tag = "11")]
    pub path_equipment_id: u32,
    /// probably skin?
    #[prost(uint32, tag = "4")]
    pub dressed_skin_id: u32,
    #[prost(message, repeated, tag = "3")]
    pub skilltree_list: ::prost::alloc::vec::Vec<AvatarSkillTree>,
    #[prost(message, repeated, tag = "15")]
    pub equip_relic_list: ::prost::alloc::vec::Vec<EquipRelic>,
}
/// Obf: LBBLEAJKMIK
#[derive(proto_derive::CmdID)]
#[cmdid(32)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetAvatarPathCsReq {
    #[prost(enumeration = "MultiPathAvatarType", tag = "12")]
    pub avatar_id: i32,
}
/// Obf: GCENDFMFELN
#[derive(proto_derive::CmdID)]
#[cmdid(35)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetAvatarPathScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(enumeration = "MultiPathAvatarType", tag = "4")]
    pub avatar_id: i32,
}
/// Obf: BDCJMLIKLOE
#[derive(proto_derive::CmdID)]
#[cmdid(45)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetMultipleAvatarPathsCsReq {
    #[prost(enumeration = "MultiPathAvatarType", repeated, tag = "3")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<i32>,
}
/// Obf: ICLMIMNMAFO
#[derive(proto_derive::CmdID)]
#[cmdid(87)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetMultipleAvatarPathsScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: ICGDIFLHOBI
#[derive(proto_derive::CmdID)]
#[cmdid(99)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMultiPathAvatarInfoCsReq {}
/// Obf: EDCLCHKFNBN
#[derive(proto_derive::CmdID)]
#[cmdid(53)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMultiPathAvatarInfoScRsp {
    #[prost(map = "uint32, enumeration(MultiPathAvatarType)", tag = "4")]
    pub current_multi_path_avatar_id: ::std::collections::HashMap<u32, i32>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub halndfogjnf: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "11")]
    pub multi_path_avatar_type_info_list: ::prost::alloc::vec::Vec<
        MultiPathAvatarTypeInfo,
    >,
}
/// Obf: NPCBNNEEDEL
#[derive(proto_derive::CmdID)]
#[cmdid(43)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockAvatarPathCsReq {
    #[prost(enumeration = "MultiPathAvatarType", tag = "13")]
    pub avatar_id: i32,
}
/// Obf: GOKAANGNBHD
#[derive(proto_derive::CmdID)]
#[cmdid(94)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockAvatarPathScRsp {
    #[prost(message, optional, tag = "7")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(enumeration = "MultiPathAvatarType", tag = "13")]
    pub avatar_id: i32,
    #[prost(uint32, repeated, tag = "10")]
    pub halndfogjnf: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NFHMHFNKECL
#[derive(proto_derive::CmdID)]
#[cmdid(16)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarPathChangedNotify {
    #[prost(enumeration = "MultiPathAvatarType", tag = "14")]
    pub cur_multi_path_avatar_type: i32,
    #[prost(uint32, tag = "7")]
    pub base_avatar_id: u32,
}
/// Obf: JLNBIJMEGHP
#[derive(proto_derive::CmdID)]
#[cmdid(40)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetGenderCsReq {
    #[prost(enumeration = "Gender", tag = "4")]
    pub gender: i32,
}
/// Obf: EJIHGKHEHCG
#[derive(proto_derive::CmdID)]
#[cmdid(3)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetGenderScRsp {
    #[prost(enumeration = "MultiPathAvatarType", tag = "13")]
    pub multi_path_type: i32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "1")]
    pub multi_path_type_info: ::prost::alloc::vec::Vec<MultiPathAvatarTypeInfo>,
}
/// Obf: CJEDOFNADBG
#[derive(proto_derive::CmdID)]
#[cmdid(57)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetPlayerInfoCsReq {
    #[prost(enumeration = "Gender", tag = "12")]
    pub gender: i32,
    #[prost(string, tag = "9")]
    pub nickname: ::prost::alloc::string::String,
    #[prost(bool, tag = "5")]
    pub is_modify: bool,
}
/// Obf: PHCBJNKLNHM
#[derive(proto_derive::CmdID)]
#[cmdid(13)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetPlayerInfoScRsp {
    #[prost(enumeration = "MultiPathAvatarType", tag = "13")]
    pub multi_path_type: i32,
    #[prost(bool, tag = "10")]
    pub is_modify: bool,
    #[prost(int64, tag = "4")]
    pub jendkbooaip: i64,
    #[prost(message, repeated, tag = "7")]
    pub multi_path_type_info: ::prost::alloc::vec::Vec<MultiPathAvatarTypeInfo>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: COMGKLPKIEO
#[derive(proto_derive::CmdID)]
#[cmdid(78)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryProductInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aapnhpamdck {
    #[prost(string, tag = "15")]
    pub mpamhbfikfb: ::prost::alloc::string::String,
    #[prost(string, tag = "9")]
    pub dbellihmajg: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub ioglpebjmdb: u32,
    #[prost(bool, tag = "5")]
    pub fkfokhabejn: bool,
    #[prost(uint32, tag = "11")]
    pub gcbobamcalk: u32,
    #[prost(enumeration = "Jindbomgcaa", tag = "8")]
    pub dnajfmpcmll: i32,
}
/// Obf: JCAKDMECGGG
#[derive(proto_derive::CmdID)]
#[cmdid(67)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryProductInfoScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "15")]
    pub pidhegpbcji: ::prost::alloc::vec::Vec<Aapnhpamdck>,
    #[prost(uint64, tag = "11")]
    pub month_card_out_date_time: u64,
    #[prost(uint32, tag = "14")]
    pub cmghdmpeako: u32,
    #[prost(uint32, tag = "10")]
    pub odnfiaahkci: u32,
}
/// Obf: OIIINKHFBGB
#[derive(proto_derive::CmdID)]
#[cmdid(85)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonthCardRewardNotify {
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: FDOLNEFNGDO
#[derive(proto_derive::CmdID)]
#[cmdid(29)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientDownloadDataScNotify {
    #[prost(message, optional, tag = "13")]
    pub download_data: ::core::option::Option<ClientDownloadData>,
}
/// Obf: EJLLKLCOLDA
#[derive(proto_derive::CmdID)]
#[cmdid(31)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientObjDownloadDataScNotify {
    #[prost(message, optional, tag = "11")]
    pub data: ::core::option::Option<ClientObjDownloadData>,
}
/// Obf: UpdateFeatureSwitchScNotify
#[derive(proto_derive::CmdID)]
#[cmdid(64)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateFeatureSwitchScNotify {
    #[prost(message, repeated, tag = "9")]
    pub switch_info_list: ::prost::alloc::vec::Vec<FeatureSwitchInfo>,
}
/// Obf: LGCFMDKHHHG
#[derive(proto_derive::CmdID)]
#[cmdid(6)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DailyRefreshNotify {
    #[prost(uint32, tag = "8")]
    pub gmfebdafdpj: u32,
}
/// Obf: NNDDOMBMKCI
#[derive(proto_derive::CmdID)]
#[cmdid(54)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetGameplayBirthdayCsReq {
    #[prost(uint32, tag = "9")]
    pub birthday: u32,
}
/// Obf: POEHBJFDKEN
#[derive(proto_derive::CmdID)]
#[cmdid(61)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetGameplayBirthdayScRsp {
    #[prost(uint32, tag = "6")]
    pub birthday: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: PICOEIMKLBN
#[derive(proto_derive::CmdID)]
#[cmdid(90)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AceAntiCheaterCsReq {
    #[prost(string, tag = "4")]
    pub dgdlniefcpf: ::prost::alloc::string::String,
    #[prost(uint32, tag = "12")]
    pub glnkkfaipob: u32,
}
/// Obf: GOODKNBLONB
#[derive(proto_derive::CmdID)]
#[cmdid(55)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AceAntiCheaterScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: NNKIDOFODLM
#[derive(proto_derive::CmdID)]
#[cmdid(60)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RetcodeNotify {
    #[prost(uint32, repeated, tag = "14")]
    pub jojppodomah: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: KKPKCBHDAIG
#[derive(proto_derive::CmdID)]
#[cmdid(26)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerHeartBeatCsReq {
    #[prost(uint32, tag = "7")]
    pub jbpemofnedg: u32,
    #[prost(message, optional, tag = "9")]
    pub lkjmjgdebee: ::core::option::Option<ClientUploadData>,
    #[prost(uint64, tag = "11")]
    pub client_time_ms: u64,
}
/// Obf: EPFPPENOIGH
#[derive(proto_derive::CmdID)]
#[cmdid(63)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerHeartBeatScRsp {
    #[prost(uint64, tag = "4")]
    pub client_time_ms: u64,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint64, tag = "15")]
    pub server_time_ms: u64,
    #[prost(message, optional, tag = "9")]
    pub download_data: ::core::option::Option<ClientDownloadData>,
}
/// Obf: ONJIGDEOICM
#[derive(proto_derive::CmdID)]
#[cmdid(88)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureSwitchClosedScNotify {
    #[prost(enumeration = "Kpdimdcljfi", tag = "9")]
    pub kimnkfpfbdg: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kpcimegklll {
    #[prost(enumeration = "SecretKeyType", tag = "14")]
    pub slot: i32,
    #[prost(string, tag = "5")]
    pub iaogfcmadlc: ::prost::alloc::string::String,
}
/// Obf: NPKKENGFCBP
#[derive(proto_derive::CmdID)]
#[cmdid(74)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSecretKeyInfoCsReq {
    #[prost(bytes = "vec", tag = "15")]
    pub cfhgmeadiph: ::prost::alloc::vec::Vec<u8>,
}
/// Obf: IKCBJPLKFHC
#[derive(proto_derive::CmdID)]
#[cmdid(52)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSecretKeyInfoScRsp {
    #[prost(message, repeated, tag = "7")]
    pub ebceboebgeh: ::prost::alloc::vec::Vec<Kpcimegklll>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(bytes = "vec", tag = "3")]
    pub baohefhiden: ::prost::alloc::vec::Vec<u8>,
}
/// Obf: IJEADEFDMOI
#[derive(proto_derive::CmdID)]
#[cmdid(4)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerLoginFinishCsReq {}
/// Obf: OFALHALMBDC
#[derive(proto_derive::CmdID)]
#[cmdid(79)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerLoginFinishScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VideoKeyInfo {
    #[prost(uint64, tag = "10")]
    pub video_key: u64,
    #[prost(uint32, tag = "8")]
    pub id: u32,
}
/// Obf: IEDMBNKGGGN
#[derive(proto_derive::CmdID)]
#[cmdid(84)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetVideoVersionKeyCsReq {}
/// Obf: CEENOIAPFNM
#[derive(proto_derive::CmdID)]
#[cmdid(10)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetVideoVersionKeyScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// TODO
    #[prost(message, repeated, tag = "14")]
    pub video_key_info_list: ::prost::alloc::vec::Vec<VideoKeyInfo>,
    #[prost(message, repeated, tag = "11")]
    pub apmbnedfbpa: ::prost::alloc::vec::Vec<VideoKeyInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nhjghokbdpk {
    #[prost(uint32, tag = "11")]
    pub content_id: u32,
    #[prost(uint32, tag = "14")]
    pub nciadbakmae: u32,
    #[prost(uint32, tag = "12")]
    pub iipdefcedmc: u32,
    #[prost(uint32, tag = "8")]
    pub jdakkofdgep: u32,
}
/// Obf: FICCMNIFEBG
#[derive(proto_derive::CmdID)]
#[cmdid(34)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetRedPointStatusScNotify {
    #[prost(uint32, tag = "15")]
    pub jdakkofdgep: u32,
    #[prost(uint32, tag = "10")]
    pub content_id: u32,
    #[prost(uint32, tag = "4")]
    pub iipdefcedmc: u32,
    #[prost(uint32, tag = "3")]
    pub uid: u32,
    #[prost(message, repeated, tag = "2")]
    pub njehhffdghk: ::prost::alloc::vec::Vec<Nhjghokbdpk>,
}
/// Obf: GCINFCFLOJD
#[derive(proto_derive::CmdID)]
#[cmdid(51)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReserveStaminaExchangeCsReq {
    #[prost(uint32, tag = "10")]
    pub num: u32,
}
/// Obf: ReserveStaminaExchangeScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(93)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReserveStaminaExchangeScRsp {
    #[prost(uint32, tag = "14")]
    pub num: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: KIHFDKLMCEM
#[derive(proto_derive::CmdID)]
#[cmdid(72)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StaminaInfoScNotify {
    #[prost(uint32, tag = "2")]
    pub reserve_stamina: u32,
    #[prost(int64, tag = "6")]
    pub dpimhemjkoe: i64,
    /// TODO
    #[prost(int64, tag = "14")]
    pub next_recover_time: i64,
    #[prost(uint32, tag = "1")]
    pub stamina: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Onmlpjkagcg {
    #[prost(
        oneof = "onmlpjkagcg::Ckmaikmmjme",
        tags = "15, 9, 10, 4, 13, 7, 6, 1, 11, 2"
    )]
    pub ckmaikmmjme: ::core::option::Option<onmlpjkagcg::Ckmaikmmjme>,
}
/// Nested message and enum types in `ONMLPJKAGCG`.
pub mod onmlpjkagcg {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ckmaikmmjme {
        #[prost(bool, tag = "15")]
        Kapdimgjlnf(bool),
        #[prost(bool, tag = "9")]
        Mmmnjchemfn(bool),
        #[prost(bool, tag = "10")]
        Nkekibnjmpa(bool),
        #[prost(bool, tag = "4")]
        Pbkbglhhkpe(bool),
        #[prost(bool, tag = "13")]
        Njfmiljofok(bool),
        #[prost(bool, tag = "7")]
        Aicnfaobcpi(bool),
        #[prost(bool, tag = "6")]
        Kjncckhjfhe(bool),
        #[prost(bool, tag = "1")]
        Aponeidmphl(bool),
        #[prost(bool, tag = "11")]
        Gmjanojmkce(bool),
        #[prost(bool, tag = "2")]
        Ndjifckkjko(bool),
    }
}
/// Obf: IBEPKJBGGLD
#[derive(proto_derive::CmdID)]
#[cmdid(33)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdatePlayerSettingCsReq {
    #[prost(message, optional, tag = "11")]
    pub klkpmljkmjp: ::core::option::Option<Onmlpjkagcg>,
}
/// Obf: IJBPIFMHMHN
#[derive(proto_derive::CmdID)]
#[cmdid(2)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdatePlayerSettingScRsp {
    #[prost(message, optional, tag = "4")]
    pub klkpmljkmjp: ::core::option::Option<Onmlpjkagcg>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: BIJPBJMIAHD
#[derive(proto_derive::CmdID)]
#[cmdid(98)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientObjUploadCsReq {
    #[prost(bytes = "vec", tag = "15")]
    pub lkjmjgdebee: ::prost::alloc::vec::Vec<u8>,
    #[prost(uint32, tag = "2")]
    pub jbpemofnedg: u32,
}
/// Obf: KEAENHHGMEF
#[derive(proto_derive::CmdID)]
#[cmdid(46)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientObjUploadScRsp {
    #[prost(message, optional, tag = "9")]
    pub data: ::core::option::Option<ClientObjDownloadData>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Menpbggogmc {
    #[prost(string, repeated, tag = "13")]
    pub gkhfbfknhob: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ncbimlpodon {
    #[prost(message, optional, tag = "12")]
    pub pelmgopehkn: ::core::option::Option<Menpbggogmc>,
    #[prost(bool, tag = "14")]
    pub iahopfnpfln: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjakibdimmj {
    #[prost(oneof = "cjakibdimmj::Bfgkjimcgah", tags = "976, 284, 1317")]
    pub bfgkjimcgah: ::core::option::Option<cjakibdimmj::Bfgkjimcgah>,
}
/// Nested message and enum types in `CJAKIBDIMMJ`.
pub mod cjakibdimmj {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Bfgkjimcgah {
        #[prost(bool, tag = "976")]
        Iahopfnpfln(bool),
        #[prost(message, tag = "284")]
        Amaljfokcba(super::Menpbggogmc),
        #[prost(message, tag = "1317")]
        Oecbelgdlfp(super::Menpbggogmc),
    }
}
/// Obf: FDFPMJAPMIB
#[derive(proto_derive::CmdID)]
#[cmdid(66)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdatePsnSettingsInfoCsReq {
    #[prost(oneof = "update_psn_settings_info_cs_req::Ddbnlhjnane", tags = "621, 918")]
    pub ddbnlhjnane: ::core::option::Option<
        update_psn_settings_info_cs_req::Ddbnlhjnane,
    >,
}
/// Nested message and enum types in `UpdatePsnSettingsInfoCsReq`.
pub mod update_psn_settings_info_cs_req {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ddbnlhjnane {
        #[prost(message, tag = "621")]
        Doocplcldpd(super::Ncbimlpodon),
        #[prost(message, tag = "918")]
        Inhldidjgha(super::Cjakibdimmj),
    }
}
/// Obf: GCMDOHJGGJB
#[derive(proto_derive::CmdID)]
#[cmdid(42)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdatePsnSettingsInfoScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: FHNGPBNFBAE
#[derive(proto_derive::CmdID)]
#[cmdid(21)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetGameStateServiceConfigCsReq {}
/// Obf: BAPHALPCPMJ
#[derive(proto_derive::CmdID)]
#[cmdid(37)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetGameStateServiceConfigScRsp {
    #[prost(string, repeated, tag = "3")]
    pub fibijgmkdpp: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "13")]
    pub kaojcobeeon: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(string, repeated, tag = "14")]
    pub ledkmdollbb: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeadIcon {
    #[prost(uint32, tag = "6")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DisplayAvatar {
    #[prost(uint32, tag = "11")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "8")]
    pub pos: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DisplayAvatarVec {
    #[prost(message, repeated, tag = "5")]
    pub display_avatar_list: ::prost::alloc::vec::Vec<DisplayAvatar>,
    #[prost(bool, tag = "10")]
    pub is_display: bool,
}
/// Obf: JMAOHPPGHLC
#[derive(proto_derive::CmdID)]
#[cmdid(2801)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlayerBoardDataCsReq {}
/// Obf: PFBICOAEIGP
#[derive(proto_derive::CmdID)]
#[cmdid(2868)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlayerBoardDataScRsp {
    #[prost(uint32, tag = "8")]
    pub current_head_icon_id: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub display_support_avatar_vec: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "5")]
    pub unlocked_head_icon_list: ::prost::alloc::vec::Vec<HeadIcon>,
    #[prost(string, tag = "1")]
    pub signature: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "15")]
    pub display_avatar_vec: ::core::option::Option<DisplayAvatarVec>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: EONDNBHOKPE
#[derive(proto_derive::CmdID)]
#[cmdid(2858)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetHeadIconCsReq {
    #[prost(uint32, tag = "6")]
    pub id: u32,
}
/// Obf: IFOFBJAKGEK
#[derive(proto_derive::CmdID)]
#[cmdid(2824)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetHeadIconScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub current_head_icon_id: u32,
}
/// Obf: FEDJLKBEPMM
#[derive(proto_derive::CmdID)]
#[cmdid(2830)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetDisplayAvatarCsReq {
    #[prost(message, repeated, tag = "12")]
    pub display_avatar_list: ::prost::alloc::vec::Vec<DisplayAvatar>,
}
/// Obf: HDKMPCKFAAB
#[derive(proto_derive::CmdID)]
#[cmdid(2856)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetDisplayAvatarScRsp {
    #[prost(message, repeated, tag = "2")]
    pub display_avatar_list: ::prost::alloc::vec::Vec<DisplayAvatar>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: DHGMEEGJFOE
#[derive(proto_derive::CmdID)]
#[cmdid(2897)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetIsDisplayAvatarInfoCsReq {
    #[prost(bool, tag = "6")]
    pub is_display: bool,
}
/// Obf: JEADFNNMIGN
#[derive(proto_derive::CmdID)]
#[cmdid(2876)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetIsDisplayAvatarInfoScRsp {
    #[prost(bool, tag = "6")]
    pub is_display: bool,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: AIKPANALJHL
#[derive(proto_derive::CmdID)]
#[cmdid(2811)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetSignatureCsReq {
    #[prost(string, tag = "11")]
    pub signature: ::prost::alloc::string::String,
}
/// Obf: JKMKJFGLBPA
#[derive(proto_derive::CmdID)]
#[cmdid(2805)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetSignatureScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(string, tag = "9")]
    pub signature: ::prost::alloc::string::String,
}
/// Obf: DHJGNGBKOAG
#[derive(proto_derive::CmdID)]
#[cmdid(2814)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetAssistAvatarCsReq {
    #[prost(uint32, tag = "14")]
    pub avatar_id: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GOCFJNOLIPB
#[derive(proto_derive::CmdID)]
#[cmdid(2849)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetAssistAvatarScRsp {
    #[prost(uint32, repeated, tag = "4")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: GJGCNJMEMAP
#[derive(proto_derive::CmdID)]
#[cmdid(4501)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnStartScNotify {
    #[prost(uint32, tag = "5")]
    pub nchiekedhce: u32,
}
/// Obf: IKIEKHJENFO
#[derive(proto_derive::CmdID)]
#[cmdid(4568)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnSignCsReq {
    #[prost(uint32, repeated, tag = "9")]
    pub nmklegomepj: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub opeedjihjop: u32,
}
/// Obf: PAFOHBIMNJK
#[derive(proto_derive::CmdID)]
#[cmdid(4558)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnSignScRsp {
    #[prost(message, repeated, tag = "3")]
    pub ipflhcjiebm: ::prost::alloc::vec::Vec<ItemList>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "8")]
    pub nmklegomepj: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "11")]
    pub opeedjihjop: u32,
}
/// Obf: GNCEIPBBGHG
#[derive(proto_derive::CmdID)]
#[cmdid(4524)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnPointChangeScNotify {
    #[prost(uint32, tag = "10")]
    pub mamhojmfjof: u32,
}
/// Obf: LKDDLABFIBC
#[derive(proto_derive::CmdID)]
#[cmdid(4530)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnTakePointRewardCsReq {
    #[prost(uint32, tag = "14")]
    pub cpnimljnmmf: u32,
    #[prost(uint32, tag = "4")]
    pub iifomgofmdl: u32,
}
/// Obf: FJHNMBNNIBK
#[derive(proto_derive::CmdID)]
#[cmdid(4556)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnTakePointRewardScRsp {
    #[prost(uint32, tag = "11")]
    pub iifomgofmdl: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub cfidbmmijhg: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "8")]
    pub cpnimljnmmf: u32,
}
/// Obf: ODLPHAPJDMH
#[derive(proto_derive::CmdID)]
#[cmdid(4597)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnTakeRewardCsReq {}
/// Obf: NEIOAACEMJA
#[derive(proto_derive::CmdID)]
#[cmdid(4576)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnTakeRewardScRsp {
    #[prost(message, optional, tag = "11")]
    pub ipflhcjiebm: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: MNOOMKEHNOG
#[derive(proto_derive::CmdID)]
#[cmdid(4528)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnInfoQueryCsReq {
    #[prost(uint32, tag = "2")]
    pub cehfiilmjkm: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afbneibijnd {
    #[prost(uint32, tag = "12")]
    pub bgafghipoje: u32,
    #[prost(int64, tag = "9")]
    pub coifhfpegph: i64,
    #[prost(uint32, repeated, tag = "11")]
    pub nmklegomepj: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "7")]
    pub mamhojmfjof: u32,
    #[prost(int64, tag = "14")]
    pub finish_time: i64,
    #[prost(uint32, repeated, tag = "5")]
    pub caimhcaacfg: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Nobpmmnfenj", tag = "6")]
    pub status: i32,
    #[prost(uint32, tag = "1")]
    pub ilcfojcdnhi: u32,
    #[prost(bool, tag = "2")]
    pub is_taken_reward: bool,
}
/// Obf: APNMNGNPFAC
#[derive(proto_derive::CmdID)]
#[cmdid(4511)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnInfoQueryScRsp {
    #[prost(message, optional, tag = "6")]
    pub pfeidpolokm: ::core::option::Option<Afbneibijnd>,
    #[prost(uint32, tag = "13")]
    pub gmfidnohgco: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: JECKOPFFLAA
#[derive(proto_derive::CmdID)]
#[cmdid(4505)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnForceFinishScNotify {
    #[prost(message, optional, tag = "3")]
    pub pfeidpolokm: ::core::option::Option<Afbneibijnd>,
}
/// Obf: CMGDJIOMCLG
#[derive(proto_derive::CmdID)]
#[cmdid(1101)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishPlotCsReq {
    #[prost(uint32, tag = "4")]
    pub cldajdjhoii: u32,
}
/// Obf: CHCNMFDIPFB
#[derive(proto_derive::CmdID)]
#[cmdid(1168)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishPlotScRsp {
    #[prost(uint32, tag = "12")]
    pub cldajdjhoii: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kaoahkaohfi {
    #[prost(uint32, tag = "12")]
    pub cojkeifjnek: u32,
    #[prost(message, optional, tag = "2")]
    pub dhlpkmihdnm: ::core::option::Option<Fdhamnojnio>,
    #[prost(message, optional, tag = "14")]
    pub basic_info: ::core::option::Option<Gjnaaghkook>,
    #[prost(enumeration = "Bihbjilmogg", tag = "10")]
    pub ekkjlaokiji: i32,
}
/// Obf: FAMOHHOHPNL
#[derive(proto_derive::CmdID)]
#[cmdid(3201)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPunkLordMonsterDataCsReq {}
/// Obf: DPGJJNGCGPK
#[derive(proto_derive::CmdID)]
#[cmdid(3268)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPunkLordMonsterDataScRsp {
    #[prost(message, repeated, tag = "7")]
    pub fijnjgfabjd: ::prost::alloc::vec::Vec<Kaoahkaohfi>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: EAGDPCPJOEM
#[derive(proto_derive::CmdID)]
#[cmdid(3258)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartPunkLordRaidCsReq {
    #[prost(uint32, tag = "8")]
    pub uid: u32,
    #[prost(bool, tag = "3")]
    pub clommfkjpmm: bool,
    #[prost(uint32, tag = "6")]
    pub monster_id: u32,
}
/// Obf: CDKHFIPEEIA
#[derive(proto_derive::CmdID)]
#[cmdid(3224)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartPunkLordRaidScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(int64, tag = "12")]
    pub agegdmgnpdk: i64,
    #[prost(bool, tag = "15")]
    pub clommfkjpmm: bool,
    #[prost(message, optional, tag = "9")]
    pub scene: ::core::option::Option<Fnlgplncpcl>,
    #[prost(message, optional, tag = "3")]
    pub dpmkammiolb: ::core::option::Option<Kaoahkaohfi>,
    #[prost(uint32, repeated, tag = "10")]
    pub dmilcfhlihp: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IAGCOPHLMFB
#[derive(proto_derive::CmdID)]
#[cmdid(3230)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SharePunkLordMonsterCsReq {
    #[prost(uint32, tag = "11")]
    pub monster_id: u32,
    #[prost(uint32, tag = "3")]
    pub uid: u32,
    #[prost(enumeration = "Pgcakalelgp", tag = "4")]
    pub felggjmhono: i32,
}
/// Obf: ACFAMDBMAOI
#[derive(proto_derive::CmdID)]
#[cmdid(3256)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SharePunkLordMonsterScRsp {
    #[prost(uint32, tag = "3")]
    pub uid: u32,
    #[prost(uint32, tag = "9")]
    pub monster_id: u32,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(enumeration = "Pgcakalelgp", tag = "4")]
    pub felggjmhono: i32,
}
/// Obf: GCCFGDENNNK
#[derive(proto_derive::CmdID)]
#[cmdid(3297)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SummonPunkLordMonsterCsReq {}
/// Obf: CFJJEOFIFEB
#[derive(proto_derive::CmdID)]
#[cmdid(3276)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SummonPunkLordMonsterScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub dpmkammiolb: ::core::option::Option<Kaoahkaohfi>,
}
/// Obf: GHMPPIJABNL
#[derive(proto_derive::CmdID)]
#[cmdid(3249)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakePunkLordPointRewardCsReq {
    #[prost(uint32, tag = "8")]
    pub level: u32,
    #[prost(bool, tag = "12")]
    pub mdhjkkbnmcf: bool,
}
/// Obf: GDFCPPHAGDA
#[derive(proto_derive::CmdID)]
#[cmdid(3222)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakePunkLordPointRewardScRsp {
    #[prost(uint32, tag = "11")]
    pub level: u32,
    #[prost(bool, tag = "9")]
    pub mdhjkkbnmcf: bool,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: IKCKFGPOCIB
#[derive(proto_derive::CmdID)]
#[cmdid(3247)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PunkLordMonsterInfoScNotify {
    #[prost(uint32, repeated, tag = "5")]
    pub dmilcfhlihp: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Goabdmjeagl", tag = "2")]
    pub reason: i32,
    #[prost(message, optional, tag = "6")]
    pub basic_info: ::core::option::Option<Gjnaaghkook>,
    #[prost(message, optional, tag = "13")]
    pub dhlpkmihdnm: ::core::option::Option<PunkLordBattleRecord>,
}
/// Obf: HPOFEOILJCP
#[derive(proto_derive::CmdID)]
#[cmdid(3280)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPunkLordDataCsReq {}
/// Obf: FNCGHMIMJJK
#[derive(proto_derive::CmdID)]
#[cmdid(3239)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPunkLordDataScRsp {
    #[prost(uint32, tag = "9")]
    pub gnlmkkhaekm: u32,
    #[prost(uint32, tag = "2")]
    pub ppnkpnbiien: u32,
    #[prost(uint32, tag = "14")]
    pub gbjodjcolga: u32,
    #[prost(uint32, tag = "15")]
    pub bdpbdgbkdoo: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub iadcohodgjn: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub eahbikfallf: ::prost::alloc::vec::Vec<u32>,
    #[prost(int64, tag = "11")]
    pub bedjdeancoj: i64,
}
/// Obf: GEMELJPBKDL
#[derive(proto_derive::CmdID)]
#[cmdid(3223)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PunkLordRaidTimeOutScNotify {
    #[prost(message, optional, tag = "3")]
    pub dpmkammiolb: ::core::option::Option<Gjnaaghkook>,
}
/// Obf: MIONOBMHAJA
#[derive(proto_derive::CmdID)]
#[cmdid(3218)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PunkLordBattleResultScNotify {
    #[prost(uint32, tag = "5")]
    pub ahjfpngdbdo: u32,
    #[prost(message, optional, tag = "6")]
    pub dhlpkmihdnm: ::core::option::Option<PunkLordBattleRecord>,
    #[prost(message, optional, tag = "3")]
    pub dpmkammiolb: ::core::option::Option<Gjnaaghkook>,
    #[prost(uint32, tag = "13")]
    pub pgofpnlapoe: u32,
    #[prost(uint32, tag = "9")]
    pub ncacoccjnld: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mdjgoockcmj {
    #[prost(uint32, tag = "9")]
    pub monster_id: u32,
    #[prost(int64, tag = "6")]
    pub sent_time: i64,
    #[prost(uint32, tag = "7")]
    pub lkkjeilkpni: u32,
    #[prost(uint32, tag = "10")]
    pub world_level: u32,
    #[prost(bool, tag = "13")]
    pub ppboceckcah: bool,
    #[prost(uint32, tag = "8")]
    pub config_id: u32,
}
/// Obf: IJJHFBPKBME
#[derive(proto_derive::CmdID)]
#[cmdid(3295)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetKilledPunkLordMonsterDataCsReq {}
/// Obf: PPFKEAJEFLA
#[derive(proto_derive::CmdID)]
#[cmdid(3250)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetKilledPunkLordMonsterDataScRsp {
    #[prost(message, repeated, tag = "15")]
    pub oakkccgaekk: ::prost::alloc::vec::Vec<Odjipdmnbec>,
    #[prost(message, repeated, tag = "7")]
    pub ddcemdgedio: ::prost::alloc::vec::Vec<Mdjgoockcmj>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: HMINDKKLBIG
#[derive(proto_derive::CmdID)]
#[cmdid(3220)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PunkLordMonsterKilledNotify {
    #[prost(message, optional, tag = "5")]
    pub aiecobkeigb: ::core::option::Option<Mdjgoockcmj>,
}
/// Obf: LLDDOHBGEHB
#[derive(proto_derive::CmdID)]
#[cmdid(3292)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeKilledPunkLordMonsterScoreCsReq {
    #[prost(message, optional, tag = "13")]
    pub pkcpjjnoaln: ::core::option::Option<Odjipdmnbec>,
    #[prost(bool, tag = "8")]
    pub kfejgfnonip: bool,
}
/// Obf: KOJNFJLOEDG
#[derive(proto_derive::CmdID)]
#[cmdid(3270)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeKilledPunkLordMonsterScoreScRsp {
    #[prost(message, repeated, tag = "14")]
    pub jeahdcgkbbb: ::prost::alloc::vec::Vec<Odjipdmnbec>,
    #[prost(uint32, tag = "11")]
    pub score: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(bool, tag = "7")]
    pub kfejgfnonip: bool,
}
/// Obf: BAANOGIKBGK
#[derive(proto_derive::CmdID)]
#[cmdid(3281)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PunkLordDataChangeNotify {
    #[prost(uint32, tag = "6")]
    pub gbjodjcolga: u32,
    #[prost(uint32, tag = "10")]
    pub bdpbdgbkdoo: u32,
    #[prost(uint32, tag = "8")]
    pub iadcohodgjn: u32,
}
/// Obf: ILHGMAICAFE
#[derive(proto_derive::CmdID)]
#[cmdid(3238)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPunkLordBattleRecordCsReq {
    #[prost(message, optional, tag = "4")]
    pub pkcpjjnoaln: ::core::option::Option<Odjipdmnbec>,
}
/// Obf: JMFGECMDHBB
#[derive(proto_derive::CmdID)]
#[cmdid(3219)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPunkLordBattleRecordScRsp {
    #[prost(message, optional, tag = "3")]
    pub pkcpjjnoaln: ::core::option::Option<Odjipdmnbec>,
    #[prost(message, repeated, tag = "12")]
    pub okobgjhjjoa: ::prost::alloc::vec::Vec<PunkLordBattleReplay>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "11")]
    pub jpkaccgmmmp: ::prost::alloc::vec::Vec<PunkLordBattleRecord>,
}
/// Obf: ACPKEIAOGEG
#[derive(proto_derive::CmdID)]
#[cmdid(901)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetQuestDataCsReq {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Quest {
    #[prost(int64, tag = "14")]
    pub finish_time: i64,
    #[prost(uint32, tag = "2")]
    pub id: u32,
    #[prost(enumeration = "QuestStatus", tag = "3")]
    pub status: i32,
    #[prost(uint32, repeated, tag = "13")]
    pub pgjngnajhpp: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "11")]
    pub progress: u32,
}
/// Obf: HIACBFNPOEO
#[derive(proto_derive::CmdID)]
#[cmdid(968)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetQuestDataScRsp {
    #[prost(uint32, tag = "4")]
    pub total_achievement_exp: u32,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "11")]
    pub quest_list: ::prost::alloc::vec::Vec<Quest>,
}
/// Obf: BBAADEDBDAB
#[derive(proto_derive::CmdID)]
#[cmdid(958)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeQuestRewardCsReq {
    #[prost(uint32, repeated, tag = "4")]
    pub dcgjaboniic: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: TakeQuestRewardScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(924)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeQuestRewardScRsp {
    #[prost(uint32, repeated, tag = "11")]
    pub succ_quest_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: DCBEOECBLAC
#[derive(proto_derive::CmdID)]
#[cmdid(914)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeQuestOptionalRewardCsReq {
    #[prost(uint32, tag = "11")]
    pub optional_reward_id: u32,
    #[prost(uint32, tag = "12")]
    pub jlfabhhnhcm: u32,
}
/// Obf: MEFHINFDCEB
#[derive(proto_derive::CmdID)]
#[cmdid(949)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeQuestOptionalRewardScRsp {
    #[prost(uint32, tag = "10")]
    pub jlfabhhnhcm: u32,
    #[prost(message, optional, tag = "8")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: LAKABGFAIFM
#[derive(proto_derive::CmdID)]
#[cmdid(997)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetQuestRecordCsReq {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Epjdfbaofdf {
    #[prost(uint32, tag = "11")]
    pub ijfihgcknhg: u32,
    #[prost(uint32, tag = "3")]
    pub progress: u32,
}
/// Obf: DIINMPDPANG
#[derive(proto_derive::CmdID)]
#[cmdid(976)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetQuestRecordScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "2")]
    pub obemgacmgnh: ::prost::alloc::vec::Vec<Epjdfbaofdf>,
}
/// Obf: NHIGGMGNIAF
#[derive(proto_derive::CmdID)]
#[cmdid(928)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuestRecordScNotify {
    #[prost(message, optional, tag = "6")]
    pub feaocokkgbm: ::core::option::Option<Epjdfbaofdf>,
}
/// Obf: IBGHBKOLKJH
#[derive(proto_derive::CmdID)]
#[cmdid(911)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishQuestCsReq {
    #[prost(uint32, tag = "13")]
    pub jlfabhhnhcm: u32,
    #[prost(uint32, tag = "3")]
    pub group_id: u32,
    #[prost(uint32, tag = "11")]
    pub prop_id: u32,
}
/// Obf: MENHBLJFCHH
#[derive(proto_derive::CmdID)]
#[cmdid(905)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishQuestScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: BMMFBCCJIGF
#[derive(proto_derive::CmdID)]
#[cmdid(947)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchGetQuestDataCsReq {
    #[prost(uint32, repeated, tag = "9")]
    pub quest_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LDMCJEDOBIK
#[derive(proto_derive::CmdID)]
#[cmdid(980)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchGetQuestDataScRsp {
    #[prost(message, repeated, tag = "10")]
    pub quest_list: ::prost::alloc::vec::Vec<Quest>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fnlgplncpcl {
    #[prost(uint32, tag = "7")]
    pub cenifnknfnp: u32,
    #[prost(message, optional, tag = "6")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(uint32, tag = "15")]
    pub world_level: u32,
    #[prost(message, optional, tag = "3")]
    pub ghedlclnhij: ::core::option::Option<SceneInfo>,
}
/// Obf: IPCKBDAGHHK
#[derive(proto_derive::CmdID)]
#[cmdid(2201)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartRaidCsReq {
    #[prost(uint32, tag = "13")]
    pub world_level: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "14")]
    pub prop_entity_id: u32,
    #[prost(uint32, tag = "7")]
    pub cenifnknfnp: u32,
    #[prost(uint32, tag = "1")]
    pub jgeaegmhdoc: u32,
}
/// Obf: PPHBJDLLKIG
#[derive(proto_derive::CmdID)]
#[cmdid(2268)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartRaidScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "12")]
    pub scene: ::core::option::Option<Fnlgplncpcl>,
}
/// Obf: FHKCKEMNMFE
#[derive(proto_derive::CmdID)]
#[cmdid(2258)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LeaveRaidCsReq {
    #[prost(bool, tag = "12")]
    pub jgeaegmhdoc: bool,
    #[prost(uint32, tag = "9")]
    pub cenifnknfnp: u32,
}
/// Obf: IFIEMDNGKIE
#[derive(proto_derive::CmdID)]
#[cmdid(2224)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LeaveRaidScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hochoihkkdg {
    #[prost(uint32, tag = "11")]
    pub dlppdpbjiim: u32,
    #[prost(enumeration = "Fochdfjanpc", tag = "4")]
    pub mddofmcjjhh: i32,
    #[prost(uint32, tag = "3")]
    pub hfaljihkecn: u32,
}
/// Obf: GBDKFMGFPNL
#[derive(proto_derive::CmdID)]
#[cmdid(2230)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaidInfoNotify {
    #[prost(message, repeated, tag = "14")]
    pub lheilnacnod: ::prost::alloc::vec::Vec<Hochoihkkdg>,
    #[prost(uint32, tag = "9")]
    pub world_level: u32,
    #[prost(enumeration = "Jldfakdkmjj", tag = "1")]
    pub status: i32,
    #[prost(message, optional, tag = "10")]
    pub item_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "11")]
    pub cenifnknfnp: u32,
    #[prost(uint64, tag = "5")]
    pub copmfambkdn: u64,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Amdkbohcfia {
    #[prost(uint32, tag = "1")]
    pub stage_score: u32,
    #[prost(uint32, tag = "8")]
    pub cenifnknfnp: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Akdajafpdee {
    #[prost(uint32, tag = "2")]
    pub world_level: u32,
    #[prost(uint32, tag = "13")]
    pub cenifnknfnp: u32,
    #[prost(uint32, repeated, tag = "10")]
    pub knibaniilde: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MKDMNMLEFFN
#[derive(proto_derive::CmdID)]
#[cmdid(2205)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRaidInfoCsReq {}
/// Obf: GetRaidInfoScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(2214)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRaidInfoScRsp {
    #[prost(message, repeated, tag = "8")]
    pub challenge_raid_list: ::prost::alloc::vec::Vec<Amdkbohcfia>,
    #[prost(uint32, repeated, tag = "15")]
    pub challenge_taken_reward_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "9")]
    pub finished_raid_info_list: ::prost::alloc::vec::Vec<Akdajafpdee>,
}
/// Obf: AIAMPHNKFBB
#[derive(proto_derive::CmdID)]
#[cmdid(2256)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChallengeRaidInfoCsReq {}
/// Obf: JHPHOLNEMDF
#[derive(proto_derive::CmdID)]
#[cmdid(2297)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChallengeRaidInfoScRsp {
    #[prost(message, repeated, tag = "8")]
    pub mjgffcljgfn: ::prost::alloc::vec::Vec<Amdkbohcfia>,
    #[prost(uint32, repeated, tag = "4")]
    pub ioodmakjdif: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: COLGMGCKFEN
#[derive(proto_derive::CmdID)]
#[cmdid(2276)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeChallengeRaidRewardCsReq {
    #[prost(uint32, tag = "1")]
    pub oehkjoafpba: u32,
}
/// Obf: EGBIALMIDFD
#[derive(proto_derive::CmdID)]
#[cmdid(2228)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeChallengeRaidRewardScRsp {
    #[prost(message, optional, tag = "4")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "13")]
    pub oehkjoafpba: u32,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: NHDHPHKKJOG
#[derive(proto_derive::CmdID)]
#[cmdid(2211)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeRaidNotify {
    #[prost(message, optional, tag = "8")]
    pub ehmiljfijkh: ::core::option::Option<Amdkbohcfia>,
}
/// Obf: GELPFLAECFD
#[derive(proto_derive::CmdID)]
#[cmdid(2249)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetClientRaidTargetCountCsReq {
    #[prost(uint32, tag = "2")]
    pub dmmppkmjpmm: u32,
    #[prost(uint32, tag = "3")]
    pub progress: u32,
}
/// Obf: PFFLBELDCIP
#[derive(proto_derive::CmdID)]
#[cmdid(2222)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetClientRaidTargetCountScRsp {
    #[prost(uint32, tag = "9")]
    pub progress: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub dmmppkmjpmm: u32,
}
/// Obf: HIIACEHOBBC
#[derive(proto_derive::CmdID)]
#[cmdid(2247)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSaveRaidCsReq {
    #[prost(uint32, tag = "12")]
    pub world_level: u32,
    #[prost(uint32, tag = "5")]
    pub cenifnknfnp: u32,
}
/// Obf: EKHIKMNOKMD
#[derive(proto_derive::CmdID)]
#[cmdid(2280)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSaveRaidScRsp {
    #[prost(uint32, tag = "11")]
    pub cenifnknfnp: u32,
    #[prost(message, repeated, tag = "14")]
    pub lheilnacnod: ::prost::alloc::vec::Vec<Hochoihkkdg>,
    #[prost(bool, tag = "7")]
    pub jgeaegmhdoc: bool,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub world_level: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jkdinnedbao {
    #[prost(uint32, tag = "4")]
    pub world_level: u32,
    #[prost(uint32, tag = "1")]
    pub cenifnknfnp: u32,
    #[prost(message, repeated, tag = "5")]
    pub lheilnacnod: ::prost::alloc::vec::Vec<Hochoihkkdg>,
}
/// Obf: AHANBGMIBAD
#[derive(proto_derive::CmdID)]
#[cmdid(2239)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAllSaveRaidCsReq {}
/// Obf: FEJLDILDBBM
#[derive(proto_derive::CmdID)]
#[cmdid(2296)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAllSaveRaidScRsp {
    #[prost(message, repeated, tag = "4")]
    pub npjhicinona: ::prost::alloc::vec::Vec<Jkdinnedbao>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: FFNAPMOAPNK
#[derive(proto_derive::CmdID)]
#[cmdid(2223)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DelSaveRaidScNotify {
    #[prost(uint32, tag = "7")]
    pub cenifnknfnp: u32,
    #[prost(uint32, tag = "3")]
    pub world_level: u32,
}
/// Obf: FEODPIJLNCC
#[derive(proto_derive::CmdID)]
#[cmdid(2212)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaidKickByServerScNotify {
    #[prost(message, optional, tag = "1")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(uint32, tag = "13")]
    pub cenifnknfnp: u32,
    #[prost(uint32, tag = "11")]
    pub world_level: u32,
    #[prost(message, optional, tag = "12")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(enumeration = "Egkfndoopnn", tag = "2")]
    pub reason: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aconlfjejok {
    #[prost(uint32, tag = "10")]
    pub jjdmkhbkplm: u32,
}
/// Obf: AGDLAANKDJM
#[derive(proto_derive::CmdID)]
#[cmdid(6957)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaidCollectionDataCsReq {}
/// Obf: CECBNFAMLAE
#[derive(proto_derive::CmdID)]
#[cmdid(6948)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaidCollectionDataScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "1")]
    pub challenge_list: ::prost::alloc::vec::Vec<Aconlfjejok>,
}
/// Obf: CEALIDHPNJE
#[derive(proto_derive::CmdID)]
#[cmdid(6952)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaidCollectionDataScNotify {
    #[prost(message, optional, tag = "12")]
    pub collection_info: ::core::option::Option<Aconlfjejok>,
}
/// Obf: CEAEPKEGAOK
#[derive(proto_derive::CmdID)]
#[cmdid(6942)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaidCollectionEnterNextRaidCsReq {
    #[prost(uint32, tag = "4")]
    pub cenifnknfnp: u32,
    #[prost(uint32, tag = "10")]
    pub jgeaegmhdoc: u32,
    #[prost(uint32, tag = "8")]
    pub world_level: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: JKOIJMAOLJN
#[derive(proto_derive::CmdID)]
#[cmdid(6944)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaidCollectionEnterNextRaidScRsp {
    #[prost(message, optional, tag = "15")]
    pub scene: ::core::option::Option<Fnlgplncpcl>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ifhejamnipm {
    #[prost(uint32, tag = "8")]
    pub kicobnpckae: u32,
    #[prost(uint32, tag = "11")]
    pub iikgcjfjadf: u32,
    #[prost(uint32, tag = "10")]
    pub fleefjlnlch: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicRecommendInfo {
    #[prost(uint32, tag = "4")]
    pub jicdflimhhd: u32,
    #[prost(uint32, tag = "12")]
    pub kicobnpckae: u32,
}
/// Obf: GDIILHOLFKB
#[derive(proto_derive::CmdID)]
#[cmdid(2426)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicRecommendCsReq {
    #[prost(uint32, tag = "7")]
    pub avatar_id: u32,
}
/// Obf: CPOODLJNKDN
#[derive(proto_derive::CmdID)]
#[cmdid(2437)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicRecommendScRsp {
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    #[prost(message, repeated, tag = "13")]
    pub mpmfahlkeob: ::prost::alloc::vec::Vec<RelicRecommendInfo>,
    #[prost(message, repeated, tag = "6")]
    pub pdbhnhpcnnj: ::prost::alloc::vec::Vec<Ifhejamnipm>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "11")]
    pub lgejjajpedk: ::prost::alloc::vec::Vec<RelicRecommendInfo>,
    #[prost(message, repeated, tag = "7")]
    pub kkcmfgmhimo: ::prost::alloc::vec::Vec<RelicRecommendInfo>,
    #[prost(message, repeated, tag = "4")]
    pub fbbajbinglb: ::prost::alloc::vec::Vec<RelicRecommendInfo>,
    #[prost(bool, tag = "5")]
    pub ogegkokgppj: bool,
    #[prost(message, repeated, tag = "8")]
    pub nobonccpeng: ::prost::alloc::vec::Vec<Ifhejamnipm>,
}
/// Obf: CKAGLGIDDMJ
#[derive(proto_derive::CmdID)]
#[cmdid(2441)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicAvatarRecommendCsReq {
    #[prost(uint32, tag = "3")]
    pub dhjhibcdnba: u32,
}
/// Obf: MBIHPKEPCAO
#[derive(proto_derive::CmdID)]
#[cmdid(2443)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicAvatarRecommendScRsp {
    #[prost(bool, tag = "2")]
    pub ogegkokgppj: bool,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint32, tag = "4")]
    pub dhjhibcdnba: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NFJMMFNGLIJ
#[derive(proto_derive::CmdID)]
#[cmdid(2406)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChallengeRecommendLineupListCsReq {
    #[prost(uint32, tag = "10")]
    pub challenge_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ahkggggibif {
    #[prost(uint32, repeated, tag = "2")]
    pub second_lineup_ids: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub dcholkbfbgi: u32,
    #[prost(uint32, tag = "3")]
    pub ceifdikpdam: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub first_lineup_ids: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: AJAENMGKGLI
#[derive(proto_derive::CmdID)]
#[cmdid(2433)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChallengeRecommendLineupListScRsp {
    #[prost(message, repeated, tag = "11")]
    pub jaejjmjpmnc: ::prost::alloc::vec::Vec<Ahkggggibif>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub challenge_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RecomendedEquipmentInfo {
    #[prost(uint32, tag = "6")]
    pub mdmgkhlhiin: u32,
    #[prost(uint32, tag = "9")]
    pub lgiiahidlmg: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RecomendedEquipmentData {
    #[prost(message, repeated, tag = "10")]
    pub equipment_list: ::prost::alloc::vec::Vec<RecomendedEquipmentInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RecomendedRelicInfo {
    #[prost(uint32, tag = "6")]
    pub fikkgbibcjk: u32,
    #[prost(uint32, tag = "12")]
    pub pdmgjkodfop: u32,
    #[prost(uint32, tag = "10")]
    pub ehceepmbddi: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RecomendedRelicData {
    #[prost(message, repeated, tag = "8")]
    pub cdhdmhlocpo: ::prost::alloc::vec::Vec<RecomendedRelicInfo>,
}
/// Obf: LGPNOIDOJLE
#[derive(proto_derive::CmdID)]
#[cmdid(2407)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBigDataRecommendCsReq {
    #[prost(enumeration = "BigDataRecommendType", tag = "10")]
    pub big_data_recommend_type: i32,
    #[prost(uint32, tag = "4")]
    pub recommended_avatar_id: u32,
}
/// Obf: BLANKJCLNPE
#[derive(proto_derive::CmdID)]
#[cmdid(2429)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBigDataRecommendScRsp {
    #[prost(bool, tag = "8")]
    pub ogegkokgppj: bool,
    #[prost(uint32, tag = "10")]
    pub recommended_avatar_id: u32,
    #[prost(enumeration = "BigDataRecommendType", tag = "9")]
    pub big_data_recommend_type: i32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(oneof = "get_big_data_recommend_sc_rsp::Blngpigbdeh", tags = "13, 15")]
    pub blngpigbdeh: ::core::option::Option<get_big_data_recommend_sc_rsp::Blngpigbdeh>,
}
/// Nested message and enum types in `GetBigDataRecommendScRsp`.
pub mod get_big_data_recommend_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Blngpigbdeh {
        #[prost(message, tag = "13")]
        RecomendedEquipmentData(super::RecomendedEquipmentData),
        #[prost(message, tag = "15")]
        RecomendedRelicData(super::RecomendedRelicData),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ejbiokmolaf {
    #[prost(uint32, repeated, tag = "4")]
    pub ffbeebkogpn: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Knchlmgiljc {
    #[prost(uint32, tag = "3")]
    pub nopdkldekkf: u32,
    #[prost(map = "uint32, message", tag = "10")]
    pub mbgijnjfhge: ::std::collections::HashMap<u32, Ejbiokmolaf>,
    #[prost(uint32, tag = "4")]
    pub module_id: u32,
}
/// Obf: ONAPBICFOKG
#[derive(proto_derive::CmdID)]
#[cmdid(5901)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAllRedDotDataCsReq {}
/// Obf: KJIPKOMMDII
#[derive(proto_derive::CmdID)]
#[cmdid(5968)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAllRedDotDataScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "5")]
    pub iagibdaichi: ::prost::alloc::vec::Vec<Knchlmgiljc>,
}
/// Obf: HNPBFPOOJCO
#[derive(proto_derive::CmdID)]
#[cmdid(5958)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateRedDotDataCsReq {
    #[prost(enumeration = "Ojljhfnfdkp", tag = "9")]
    pub honemgcfbgi: i32,
    #[prost(uint32, repeated, tag = "11")]
    pub param_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub group_id: u32,
    #[prost(uint32, tag = "3")]
    pub module_id: u32,
    #[prost(uint32, tag = "7")]
    pub nopdkldekkf: u32,
}
/// Obf: BGEJFELHFNL
#[derive(proto_derive::CmdID)]
#[cmdid(5924)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateRedDotDataScRsp {
    #[prost(uint32, tag = "1")]
    pub module_id: u32,
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
    #[prost(uint32, tag = "11")]
    pub nopdkldekkf: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: CMMBDGDNHGC
#[derive(proto_derive::CmdID)]
#[cmdid(5930)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSingleRedDotParamGroupCsReq {
    #[prost(uint32, tag = "7")]
    pub group_id: u32,
    #[prost(uint32, tag = "13")]
    pub nopdkldekkf: u32,
    #[prost(uint32, tag = "1")]
    pub module_id: u32,
}
/// Obf: DHNIBENKEHJ
#[derive(proto_derive::CmdID)]
#[cmdid(5956)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSingleRedDotParamGroupScRsp {
    #[prost(uint32, tag = "11")]
    pub nopdkldekkf: u32,
    #[prost(uint32, tag = "8")]
    pub group_id: u32,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub chpjjklgokm: ::core::option::Option<Ejbiokmolaf>,
    #[prost(uint32, tag = "15")]
    pub module_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearPlanData {
    #[prost(uint32, repeated, tag = "8")]
    pub egflalhojkf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub unique_id: u32,
    #[prost(uint32, tag = "5")]
    pub avatar_id: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub fahcacdfeih: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: EHJMBNKJNKO
#[derive(proto_derive::CmdID)]
#[cmdid(8267)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearGetPlanCsReq {
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
}
/// Obf: IIIOAPKPEEK
#[derive(proto_derive::CmdID)]
#[cmdid(8258)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearGetPlanScRsp {
    #[prost(message, repeated, tag = "3")]
    pub plan_list: ::prost::alloc::vec::Vec<RelicSmartWearPlanData>,
    #[prost(uint32, tag = "14")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: IBNONNCJIFK
#[derive(proto_derive::CmdID)]
#[cmdid(8262)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearAddPlanCsReq {
    #[prost(message, optional, tag = "4")]
    pub eilidmcocho: ::core::option::Option<RelicSmartWearPlanData>,
}
/// Obf: OGANNCNENBP
#[derive(proto_derive::CmdID)]
#[cmdid(8252)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearAddPlanScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub eilidmcocho: ::core::option::Option<RelicSmartWearPlanData>,
}
/// Obf: CLEFDPIDONA
#[derive(proto_derive::CmdID)]
#[cmdid(8254)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearUpdatePlanCsReq {
    #[prost(message, optional, tag = "8")]
    pub eilidmcocho: ::core::option::Option<RelicSmartWearPlanData>,
}
/// Obf: NLJLABKKHON
#[derive(proto_derive::CmdID)]
#[cmdid(8251)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearUpdatePlanScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub eilidmcocho: ::core::option::Option<RelicSmartWearPlanData>,
}
/// Obf: MPLPIGALHGK
#[derive(proto_derive::CmdID)]
#[cmdid(8269)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearDeletePlanCsReq {
    #[prost(uint32, tag = "13")]
    pub unique_id: u32,
}
/// Obf: EGONFNCEMOL
#[derive(proto_derive::CmdID)]
#[cmdid(8264)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearDeletePlanScRsp {
    #[prost(uint32, tag = "12")]
    pub unique_id: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: CCFLJFFBHFE
#[derive(proto_derive::CmdID)]
#[cmdid(8265)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearPinRelicCsReq {
    #[prost(uint32, tag = "6")]
    pub slot: u32,
    #[prost(bool, tag = "2")]
    pub baoonjdcfkd: bool,
    #[prost(uint32, tag = "5")]
    pub avatar_id: u32,
}
/// Obf: AEHPKJOACHB
#[derive(proto_derive::CmdID)]
#[cmdid(8256)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearPinRelicScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint32, tag = "4")]
    pub slot: u32,
    #[prost(bool, tag = "12")]
    pub baoonjdcfkd: bool,
    #[prost(uint32, tag = "14")]
    pub avatar_id: u32,
}
/// Obf: NMOGJDPNJEJ
#[derive(proto_derive::CmdID)]
#[cmdid(8268)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearGetPinRelicCsReq {
    #[prost(uint32, tag = "10")]
    pub avatar_id: u32,
}
/// Obf: PJLOLBEHOEB
#[derive(proto_derive::CmdID)]
#[cmdid(8255)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearGetPinRelicScRsp {
    #[prost(uint32, repeated, tag = "12")]
    pub eiihpmpfklg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: NFHPFCBBGIP
#[derive(proto_derive::CmdID)]
#[cmdid(8266)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearUpdatePinRelicScNotify {
    #[prost(uint32, tag = "7")]
    pub avatar_id: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub eiihpmpfklg: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GCIMJNNOAAF
#[derive(proto_derive::CmdID)]
#[cmdid(3501)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetReplayTokenCsReq {
    #[prost(enumeration = "ReplayType", tag = "5")]
    pub replay_type: i32,
    #[prost(uint32, tag = "9")]
    pub afehlmfibmd: u32,
    #[prost(string, tag = "6")]
    pub kihbigpfkkn: ::prost::alloc::string::String,
    #[prost(uint32, tag = "12")]
    pub stage_id: u32,
    #[prost(uint32, tag = "2")]
    pub cmpbkbbkaoa: u32,
    #[prost(string, tag = "14")]
    pub bbemidhmnlm: ::prost::alloc::string::String,
}
/// Obf: LPEKBEHCBBL
#[derive(proto_derive::CmdID)]
#[cmdid(3568)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetReplayTokenScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(string, tag = "13")]
    pub token: ::prost::alloc::string::String,
    #[prost(enumeration = "ReplayType", tag = "5")]
    pub replay_type: i32,
    #[prost(string, tag = "12")]
    pub kihbigpfkkn: ::prost::alloc::string::String,
    #[prost(uint32, tag = "1")]
    pub stage_id: u32,
}
/// Obf: JEAHCDLLLPG
#[derive(proto_derive::CmdID)]
#[cmdid(3558)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlayerReplayInfoCsReq {}
/// Obf: AAOOMDCFCBN
#[derive(proto_derive::CmdID)]
#[cmdid(3524)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlayerReplayInfoScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "5")]
    pub kgcfealanko: ::prost::alloc::vec::Vec<Bbbncholikp>,
}
/// Obf: JEKBCEFEKKK
#[derive(proto_derive::CmdID)]
#[cmdid(3401)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRndOptionCsReq {
    #[prost(uint32, tag = "6")]
    pub id: u32,
}
/// Obf: LJIINOPGEDI
#[derive(proto_derive::CmdID)]
#[cmdid(3468)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRndOptionScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub eegeggbdhdg: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: BGIKBJMOKOF
#[derive(proto_derive::CmdID)]
#[cmdid(3458)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DailyFirstMeetPamCsReq {}
/// Obf: HFFMNIJGANJ
#[derive(proto_derive::CmdID)]
#[cmdid(3424)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DailyFirstMeetPamScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mkeelpfdclm {
    #[prost(uint32, tag = "1")]
    pub level: u32,
    #[prost(uint32, tag = "12")]
    pub buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oobcejfehmk {
    #[prost(message, repeated, tag = "15")]
    pub buff_list: ::prost::alloc::vec::Vec<Mkeelpfdclm>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gladgjakplc {
    #[prost(enumeration = "Ilnpbecoepl", tag = "7")]
    pub hnlfgdmcjdf: i32,
    #[prost(uint32, tag = "13")]
    pub site_id: u32,
    #[prost(uint32, tag = "10")]
    pub imimgfaaghm: u32,
    #[prost(uint32, tag = "11")]
    pub room_id: u32,
    #[prost(enumeration = "Ilnpbecoepl", tag = "15")]
    pub beeeboiojif: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ijmgmkchhef {
    #[prost(uint32, tag = "14")]
    pub area_id: u32,
    #[prost(uint32, tag = "15")]
    pub map_id: u32,
    #[prost(uint32, tag = "11")]
    pub cikibkaabim: u32,
    #[prost(uint32, tag = "5")]
    pub cur_site_id: u32,
    #[prost(message, repeated, tag = "10")]
    pub jdcliamkdhf: ::prost::alloc::vec::Vec<Gladgjakplc>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bkaaebjkjkh {
    #[prost(enumeration = "Egpimdadfdi", tag = "3")]
    pub mkegbhjljnh: i32,
    #[prost(uint32, tag = "2")]
    pub area_id: u32,
    #[prost(bool, tag = "4")]
    pub fjoilohphlc: bool,
    #[prost(uint32, tag = "13")]
    pub map_id: u32,
    #[prost(uint32, tag = "7")]
    pub gmpiiaeggek: u32,
    #[prost(enumeration = "Jdakamigkhf", tag = "11")]
    pub nookgajmfji: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Omogaieofah {
    #[prost(uint32, tag = "2")]
    pub igchbpakbcb: u32,
    #[prost(message, optional, tag = "15")]
    pub fpoelpfcnbi: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "10")]
    pub ipodnbljpol: u32,
    #[prost(uint32, tag = "1")]
    pub cmogblhafhn: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub pdihilclenm: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub ekflpnlapdf: u32,
    #[prost(uint32, tag = "13")]
    pub ckkekmjmabc: u32,
    #[prost(enumeration = "Nniohhmjghg", tag = "5")]
    pub hhmabjdimgm: i32,
    #[prost(uint32, tag = "11")]
    pub pdapeheambm: u32,
    #[prost(uint32, tag = "4")]
    pub djfckfemgoj: u32,
    #[prost(bool, tag = "6")]
    pub ehpmcgoelgb: bool,
    #[prost(message, repeated, tag = "14")]
    pub lhmidpambpd: ::prost::alloc::vec::Vec<Mkeelpfdclm>,
    #[prost(uint32, tag = "8")]
    pub bheidppfcka: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfejfbbgiad {
    #[prost(message, repeated, tag = "1")]
    pub kmpmdldhabn: ::prost::alloc::vec::Vec<Mkeelpfdclm>,
    #[prost(message, optional, tag = "6")]
    pub noenhhilnah: ::core::option::Option<Mkeelpfdclm>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Igjenciklof {
    #[prost(uint32, tag = "12")]
    pub bilbohbdbpn: u32,
    #[prost(message, repeated, tag = "10")]
    pub clplefhhafb: ::prost::alloc::vec::Vec<Mkeelpfdclm>,
    #[prost(message, repeated, tag = "15")]
    pub ihgmpjnnmki: ::prost::alloc::vec::Vec<Mkeelpfdclm>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gdiilljbdcf {
    #[prost(float, tag = "6")]
    pub famcmagfkcl: f32,
    #[prost(uint32, tag = "15")]
    pub buff_id: u32,
    #[prost(message, optional, tag = "13")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueBuffEnhanceInfoList {
    #[prost(message, repeated, tag = "2")]
    pub dakmmpkbmko: ::prost::alloc::vec::Vec<Gdiilljbdcf>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Paimogcigij {
    #[prost(uint32, tag = "15")]
    pub cur_times: u32,
    #[prost(uint32, tag = "1")]
    pub blfaanhjpad: u32,
    #[prost(map = "uint32, uint32", tag = "10")]
    pub gmafejejbho: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "14")]
    pub khncedgfpgl: u32,
    #[prost(uint32, tag = "4")]
    pub deidchamdba: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Olfpckagkak {
    #[prost(uint32, tag = "14")]
    pub fnhfjfioild: u32,
    #[prost(message, repeated, tag = "4")]
    pub ckgfonmaeko: ::prost::alloc::vec::Vec<Paimogcigij>,
    #[prost(uint32, tag = "13")]
    pub dlnfokknfgi: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bfljdbhbmnp {
    #[prost(message, optional, tag = "12")]
    pub eeppkmpajoh: ::core::option::Option<Olfpckagkak>,
    #[prost(uint32, repeated, tag = "1")]
    pub jacighhgcgb: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Keionffflco {
    #[prost(uint32, repeated, tag = "13")]
    pub cmaggnfdkag: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Flecflldnfp {
    #[prost(uint32, repeated, tag = "14")]
    pub imoiceebdco: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ngffceicacd {
    #[prost(uint32, tag = "10")]
    pub ebnpocidpke: u32,
    #[prost(oneof = "ngffceicacd::Ccpfabancnn", tags = "5, 12")]
    pub ccpfabancnn: ::core::option::Option<ngffceicacd::Ccpfabancnn>,
}
/// Nested message and enum types in `NGFFCEICACD`.
pub mod ngffceicacd {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ccpfabancnn {
        #[prost(message, tag = "5")]
        Jdijkegcibp(super::ItemList),
        #[prost(message, tag = "12")]
        Cndgjjljdof(super::Oobcejfehmk),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ejjglgpedee {
    #[prost(uint32, repeated, tag = "1")]
    pub knfjmanjgga: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "2")]
    pub gficflciejj: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "10")]
    pub hbnbnnijmhn: u32,
    #[prost(uint32, tag = "14")]
    pub ehhbhkobnnj: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jheeloagmig {
    #[prost(uint32, tag = "4")]
    pub nidflbkpoeb: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pbekdhclbfb {
    #[prost(uint32, tag = "6")]
    pub gfdbgcolkcp: u32,
    #[prost(uint32, tag = "9")]
    pub hgblomelble: u32,
    #[prost(uint32, tag = "13")]
    pub jkjmcfagocf: u32,
    #[prost(uint32, tag = "5")]
    pub ipodnbljpol: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueInfo {
    #[prost(message, optional, tag = "1367")]
    pub omcbcgchlgn: ::core::option::Option<Dknmkfbobjf>,
    #[prost(message, optional, tag = "1261")]
    pub lagbgldlgcb: ::core::option::Option<Liikcgncbbf>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Liikcgncbbf {
    #[prost(message, optional, tag = "15")]
    pub chmhpcngfao: ::core::option::Option<Icildhnfjfg>,
    #[prost(message, optional, tag = "6")]
    pub pfeaniahfpc: ::core::option::Option<Hghcogepidm>,
    #[prost(message, optional, tag = "12")]
    pub ofolhkcnlba: ::core::option::Option<Kicdahaplch>,
    #[prost(message, optional, tag = "9")]
    pub fejgmnnfflg: ::core::option::Option<Bfkmdfgcncd>,
    #[prost(message, optional, tag = "8")]
    pub iblembncgpm: ::core::option::Option<Mmchophfmah>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dknmkfbobjf {
    #[prost(message, optional, tag = "9")]
    pub chmhpcngfao: ::core::option::Option<Gabcapjghfg>,
    #[prost(message, optional, tag = "8")]
    pub cmbhklpppad: ::core::option::Option<Ojcealjifnd>,
    #[prost(message, optional, tag = "1")]
    pub map_info: ::core::option::Option<Ijmgmkchhef>,
    #[prost(message, optional, tag = "6")]
    pub kndmeilhkej: ::core::option::Option<Kfpmaiaadmo>,
    #[prost(message, optional, tag = "12")]
    pub eeppkmpajoh: ::core::option::Option<Omochgkhnik>,
    #[prost(message, optional, tag = "13")]
    pub aabchfbkpeg: ::core::option::Option<Bcllbmeedkp>,
    #[prost(message, optional, tag = "5")]
    pub embagmmhipa: ::core::option::Option<Efjdmhoakoo>,
    #[prost(bool, tag = "2")]
    pub gjboljkmgge: bool,
    #[prost(enumeration = "Egpimdadfdi", tag = "14")]
    pub status: i32,
    #[prost(message, optional, tag = "10")]
    pub lgopnbhhhbg: ::core::option::Option<Cfmapimjdfc>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bfkmdfgcncd {
    #[prost(int64, tag = "9")]
    pub end_time: i64,
    #[prost(uint32, tag = "10")]
    pub ahanjlehcga: u32,
    #[prost(int64, tag = "15")]
    pub begin_time: i64,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmchophfmah {
    #[prost(message, repeated, tag = "9")]
    pub jmmnaipoefo: ::prost::alloc::vec::Vec<Bkaaebjkjkh>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Icildhnfjfg {
    #[prost(uint32, repeated, tag = "10")]
    pub fpchnblonlc: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "11")]
    pub aoelkjeegkg: bool,
    #[prost(uint32, tag = "1")]
    pub hlbfbfdlaca: u32,
    #[prost(uint32, tag = "7")]
    pub alkilfnbfnm: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kicdahaplch {
    #[prost(uint32, tag = "3")]
    pub bileoophjef: u32,
    #[prost(uint32, tag = "15")]
    pub ifehbimemec: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cfmapimjdfc {
    #[prost(message, repeated, tag = "8")]
    pub lhmidpambpd: ::prost::alloc::vec::Vec<Mkeelpfdclm>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Omochgkhnik {
    #[prost(message, optional, tag = "6")]
    pub eeppkmpajoh: ::core::option::Option<Olfpckagkak>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Efjdmhoakoo {
    #[prost(message, optional, tag = "10")]
    pub fpjckpnlnfm: ::core::option::Option<Ejjglgpedee>,
    #[prost(uint32, repeated, tag = "8")]
    pub mankkfpbfcb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "3")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "1")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hdjflbmlldp {
    #[prost(message, optional, tag = "5")]
    pub gkflnmojncp: ::core::option::Option<Flecflldnfp>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gabcapjghfg {
    #[prost(uint32, tag = "10")]
    pub hlbfbfdlaca: u32,
    #[prost(uint32, tag = "13")]
    pub amnbmjofjoo: u32,
    #[prost(bool, tag = "8")]
    pub aoelkjeegkg: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ojcealjifnd {
    #[prost(uint32, repeated, tag = "11")]
    pub gjanfnhlogn: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nikkccaknnp {
    #[prost(uint32, tag = "5")]
    pub hlbfbfdlaca: u32,
    #[prost(uint32, tag = "10")]
    pub alkilfnbfnm: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub fpchnblonlc: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "4")]
    pub aoelkjeegkg: bool,
    #[prost(uint32, tag = "8")]
    pub amnbmjofjoo: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mncdpepcfgc {
    #[prost(uint32, tag = "1")]
    pub fjjdfpkgopc: u32,
    #[prost(uint32, tag = "9")]
    pub score: u32,
    #[prost(uint32, tag = "13")]
    pub kobfcomhgce: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aojofbbnepa {
    #[prost(float, tag = "7")]
    pub dpfbdjmnceo: f32,
    #[prost(message, repeated, tag = "3")]
    pub dcmhgokcinf: ::prost::alloc::vec::Vec<Mncdpepcfgc>,
    #[prost(uint32, tag = "10")]
    pub npjeecedpok: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fgkcambiahb {
    #[prost(uint32, tag = "1")]
    pub slot: u32,
    #[prost(uint32, tag = "9")]
    pub id: u32,
    #[prost(enumeration = "AvatarType", tag = "3")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "8")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gkjfbbhhlac {
    #[prost(message, repeated, tag = "5")]
    pub avatar_list: ::prost::alloc::vec::Vec<Fgkcambiahb>,
    #[prost(message, repeated, tag = "15")]
    pub buff_list: ::prost::alloc::vec::Vec<Mkeelpfdclm>,
    #[prost(uint32, repeated, tag = "12")]
    pub ckgfonmaeko: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Imcccciccko {
    #[prost(message, optional, tag = "13")]
    pub agppepmgfmf: ::core::option::Option<Hghcogepidm>,
    #[prost(message, optional, tag = "4")]
    pub ghogllfkjho: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "1827")]
    pub area_id: u32,
    #[prost(uint32, tag = "12")]
    pub mnbiebolccn: u32,
    #[prost(bool, tag = "5")]
    pub bejmokapadk: bool,
    #[prost(uint32, tag = "6")]
    pub score: u32,
    #[prost(message, optional, tag = "10")]
    pub hljjhlijbpd: ::core::option::Option<Hghcogepidm>,
    #[prost(message, optional, tag = "15")]
    pub hlobjooebod: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "2")]
    pub record_info: ::core::option::Option<Gkjfbbhhlac>,
    #[prost(message, optional, tag = "11")]
    pub ahoahffmjpk: ::core::option::Option<Aodidfnpicf>,
    #[prost(uint32, tag = "9")]
    pub ifehbimemec: u32,
    #[prost(bool, tag = "7")]
    pub is_win: bool,
    #[prost(message, optional, tag = "1")]
    pub lbgghnancoo: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "8")]
    pub dedlgfjaeam: u32,
    #[prost(uint32, tag = "1416")]
    pub lmmeanjpend: u32,
    #[prost(message, optional, tag = "3")]
    pub cdipfdnpmom: ::core::option::Option<Aojofbbnepa>,
    #[prost(uint32, tag = "14")]
    pub bimdlghkaoi: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hghcogepidm {
    #[prost(int64, tag = "5")]
    pub hoepojnnfci: i64,
    #[prost(bool, tag = "7")]
    pub pjhlocdbaeh: bool,
    #[prost(uint32, tag = "12")]
    pub hdladibhbhh: u32,
    #[prost(bool, tag = "15")]
    pub jomnpadaggk: bool,
    #[prost(uint32, tag = "6")]
    pub hhjpblekapn: u32,
    #[prost(int64, tag = "11")]
    pub cigboghafof: i64,
    #[prost(uint32, repeated, tag = "14")]
    pub cilnjididhl: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eacofhbfmlb {
    #[prost(uint32, tag = "13")]
    pub jgmipmdppij: u32,
    #[prost(uint32, tag = "9")]
    pub elappcmeloa: u32,
    #[prost(uint32, tag = "3")]
    pub exp: u32,
    #[prost(uint32, tag = "15")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueDialogueEventParam {
    #[prost(uint32, tag = "11")]
    pub dialogue_event_id: u32,
    #[prost(uint32, tag = "2")]
    pub arg_id: u32,
    #[prost(bool, tag = "9")]
    pub is_valid: bool,
    #[prost(int32, tag = "13")]
    pub int_value: i32,
    #[prost(float, tag = "14")]
    pub ratio: f32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lanlccobdne {
    #[prost(uint32, tag = "13")]
    pub onlhfcoglal: u32,
    #[prost(uint32, repeated, tag = "8")]
    pub eoheeigobkd: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "9")]
    pub dialogue_event_param_list: ::prost::alloc::vec::Vec<RogueDialogueEventParam>,
    #[prost(uint32, tag = "6")]
    pub event_unique_id: u32,
    #[prost(uint32, tag = "12")]
    pub game_mode_type: u32,
    #[prost(uint32, tag = "11")]
    pub cdjecokfiof: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gghfijkpfln {
    #[prost(uint32, repeated, tag = "11")]
    pub jjealoemmkk: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Ffnedmegpjd", tag = "15")]
    pub bplmpmefeam: i32,
    #[prost(oneof = "gghfijkpfln::Ccpfabancnn", tags = "13")]
    pub ccpfabancnn: ::core::option::Option<gghfijkpfln::Ccpfabancnn>,
}
/// Nested message and enum types in `GGHFIJKPFLN`.
pub mod gghfijkpfln {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ccpfabancnn {
        #[prost(message, tag = "13")]
        Jdijkegcibp(super::ItemList),
    }
}
/// Obf: BDMJEAGHPLC
#[derive(proto_derive::CmdID)]
#[cmdid(1801)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueInfoCsReq {}
/// Obf: ADKCCCNPLGC
#[derive(proto_derive::CmdID)]
#[cmdid(1868)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueInfoScRsp {
    #[prost(message, optional, tag = "12")]
    pub rogue_info: ::core::option::Option<RogueInfo>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: EIHOHLCMLPC
#[derive(proto_derive::CmdID)]
#[cmdid(1858)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartRogueCsReq {
    #[prost(uint32, tag = "7")]
    pub interacted_prop_entity_id: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub hjgndhlmmib: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub elappcmeloa: u32,
    #[prost(uint32, tag = "2")]
    pub area_id: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "12")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PELKOKJHNKO
#[derive(proto_derive::CmdID)]
#[cmdid(1824)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartRogueScRsp {
    #[prost(message, optional, tag = "12")]
    pub rogue_info: ::core::option::Option<RogueInfo>,
    #[prost(message, optional, tag = "8")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(message, optional, tag = "7")]
    pub map_rotation_data: ::core::option::Option<MapRotationData>,
}
/// Obf: GFNHCKLFLAP
#[derive(proto_derive::CmdID)]
#[cmdid(1830)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterRogueCsReq {
    #[prost(uint32, tag = "7")]
    pub interacted_prop_entity_id: u32,
    #[prost(uint32, tag = "12")]
    pub area_id: u32,
}
/// Obf: NPABJLFGBDI
#[derive(proto_derive::CmdID)]
#[cmdid(1856)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterRogueScRsp {
    #[prost(message, optional, tag = "9")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(message, optional, tag = "15")]
    pub map_rotation_data: ::core::option::Option<MapRotationData>,
    #[prost(message, optional, tag = "13")]
    pub rogue_info: ::core::option::Option<RogueInfo>,
}
/// Obf: JGGMNELNGDE
#[derive(proto_derive::CmdID)]
#[cmdid(1897)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LeaveRogueCsReq {}
/// Obf: IDEOGGBCBII
#[derive(proto_derive::CmdID)]
#[cmdid(1876)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LeaveRogueScRsp {
    #[prost(message, optional, tag = "3")]
    pub rogue_info: ::core::option::Option<RogueInfo>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(message, optional, tag = "1")]
    pub map_rotation_data: ::core::option::Option<MapRotationData>,
    #[prost(message, optional, tag = "7")]
    pub scene: ::core::option::Option<SceneInfo>,
}
/// Obf: OBAFPKBHHIL
#[derive(proto_derive::CmdID)]
#[cmdid(1847)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueFinishScNotify {
    #[prost(message, optional, tag = "9")]
    pub finish_info: ::core::option::Option<Imcccciccko>,
}
/// Obf: FOCOFPDDLCM
#[derive(proto_derive::CmdID)]
#[cmdid(1880)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PickRogueAvatarCsReq {
    #[prost(uint32, tag = "3")]
    pub prop_entity_id: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "13")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CINPIJDILBP
#[derive(proto_derive::CmdID)]
#[cmdid(1839)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PickRogueAvatarScRsp {
    #[prost(uint32, repeated, tag = "3")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: ICDCLEIGDMH
#[derive(proto_derive::CmdID)]
#[cmdid(1823)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReviveRogueAvatarCsReq {
    #[prost(uint32, repeated, tag = "9")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "5")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub interacted_prop_entity_id: u32,
    #[prost(uint32, tag = "7")]
    pub base_avatar_id: u32,
}
/// Obf: FBGPONNAEFC
#[derive(proto_derive::CmdID)]
#[cmdid(1812)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReviveRogueAvatarScRsp {
    #[prost(uint32, tag = "14")]
    pub cinhfflfcik: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "10")]
    pub fpjckpnlnfm: ::core::option::Option<Ejjglgpedee>,
    #[prost(uint32, tag = "11")]
    pub base_avatar_id: u32,
}
/// Obf: DIIFKMDKICI
#[derive(proto_derive::CmdID)]
#[cmdid(1881)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueReviveInfoScNotify {
    #[prost(message, optional, tag = "6")]
    pub fpjckpnlnfm: ::core::option::Option<Ejjglgpedee>,
}
/// Obf: NENAHMOLCCC
#[derive(proto_derive::CmdID)]
#[cmdid(1818)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueBuffEnhanceInfoCsReq {}
/// Obf: MFIONHFHMIL
#[derive(proto_derive::CmdID)]
#[cmdid(1895)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueBuffEnhanceInfoScRsp {
    #[prost(message, optional, tag = "7")]
    pub buff_enhance_info: ::core::option::Option<RogueBuffEnhanceInfoList>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: GJDMAJGBGMB
#[derive(proto_derive::CmdID)]
#[cmdid(1850)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnhanceRogueBuffCsReq {
    #[prost(uint32, tag = "14")]
    pub ojeblmkkmgo: u32,
}
/// Obf: FMAFCNOGFMM
#[derive(proto_derive::CmdID)]
#[cmdid(1848)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnhanceRogueBuffScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub anagcoddmom: ::core::option::Option<Mkeelpfdclm>,
    #[prost(bool, tag = "6")]
    pub is_success: bool,
}
/// Obf: JNLEPNDPGHE
#[derive(proto_derive::CmdID)]
#[cmdid(1838)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuitRogueCsReq {
    #[prost(uint32, tag = "9")]
    pub area_id: u32,
}
/// Obf: APJILFGNOPD
#[derive(proto_derive::CmdID)]
#[cmdid(1819)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuitRogueScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub rogue_info: ::core::option::Option<RogueInfo>,
    #[prost(message, optional, tag = "2")]
    pub finish_info: ::core::option::Option<Imcccciccko>,
}
/// Obf: BNAAMDHOODE
#[derive(proto_derive::CmdID)]
#[cmdid(1859)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueExploreWinScNotify {
    #[prost(bool, tag = "4")]
    pub gjboljkmgge: bool,
}
/// Obf: EKDFDNOAOAM
#[derive(proto_derive::CmdID)]
#[cmdid(1841)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueSeasonFinishScNotify {
    #[prost(message, optional, tag = "6")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(bool, tag = "12")]
    pub nioldfffeln: bool,
    #[prost(message, optional, tag = "15")]
    pub pfeaniahfpc: ::core::option::Option<Hghcogepidm>,
    #[prost(message, optional, tag = "14")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(message, optional, tag = "11")]
    pub finish_info: ::core::option::Option<Imcccciccko>,
}
/// Obf: OAMBADLBMCE
#[derive(proto_derive::CmdID)]
#[cmdid(1803)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterRogueMapRoomCsReq {
    #[prost(uint32, tag = "7")]
    pub room_id: u32,
    #[prost(uint32, tag = "15")]
    pub site_id: u32,
}
/// Obf: HINEEGEKLPN
#[derive(proto_derive::CmdID)]
#[cmdid(1857)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterRogueMapRoomScRsp {
    #[prost(uint32, tag = "7")]
    pub cur_site_id: u32,
    #[prost(message, optional, tag = "11")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(message, optional, tag = "4")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub map_rotation_data: ::core::option::Option<MapRotationData>,
}
/// Obf: IIJCCDGPOEC
#[derive(proto_derive::CmdID)]
#[cmdid(1878)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueMapRoomScNotify {
    #[prost(message, optional, tag = "7")]
    pub kpekclbepgb: ::core::option::Option<Gladgjakplc>,
    #[prost(uint32, tag = "13")]
    pub map_id: u32,
}
/// Obf: HMIOCDLGEDG
#[derive(proto_derive::CmdID)]
#[cmdid(1885)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpenRogueChestCsReq {
    #[prost(bool, tag = "6")]
    pub eiddmghlpbp: bool,
    #[prost(uint32, tag = "5")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: MOIJDCLIOBJ
#[derive(proto_derive::CmdID)]
#[cmdid(1860)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpenRogueChestScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "2")]
    pub nhanakjfeab: ::core::option::Option<ItemList>,
}
/// Obf: KKFJNFAAIBA
#[derive(proto_derive::CmdID)]
#[cmdid(1826)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExchangeRogueRewardKeyCsReq {
    #[prost(uint32, tag = "10")]
    pub count: u32,
}
/// Obf: ExchangeRogueRewardKeyScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1863)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExchangeRogueRewardKeyScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub count: u32,
}
/// Obf: HLFKLMCHOJE
#[derive(proto_derive::CmdID)]
#[cmdid(1834)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueAreaUnlockScNotify {
    #[prost(uint32, tag = "6")]
    pub area_id: u32,
}
/// Obf: CECLOCJFNEC
#[derive(proto_derive::CmdID)]
#[cmdid(1827)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueGetItemScNotify {
    #[prost(message, optional, tag = "2")]
    pub iodfgfomgod: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "5")]
    pub acfcjiomjnf: ::core::option::Option<ItemList>,
}
/// Obf: GNHOEINKCKC
#[derive(proto_derive::CmdID)]
#[cmdid(1886)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueAeonLevelRewardCsReq {
    #[prost(uint32, tag = "14")]
    pub level: u32,
    #[prost(uint32, tag = "4")]
    pub elappcmeloa: u32,
}
/// Obf: JOBKDLIPMND
#[derive(proto_derive::CmdID)]
#[cmdid(1851)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueAeonLevelRewardScRsp {
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "11")]
    pub elappcmeloa: u32,
}
/// Obf: BPGHIGPFECL
#[derive(proto_derive::CmdID)]
#[cmdid(1802)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueAeonLevelUpRewardScNotify {
    #[prost(uint32, tag = "4")]
    pub elappcmeloa: u32,
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "11")]
    pub level: u32,
}
/// Obf: MIOMGCJAFBL
#[derive(proto_derive::CmdID)]
#[cmdid(1831)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueScoreRewardInfoCsReq {}
/// Obf: FKLPGPGBAMG
#[derive(proto_derive::CmdID)]
#[cmdid(1898)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueScoreRewardInfoScRsp {
    #[prost(message, optional, tag = "10")]
    pub hndlhicdnpc: ::core::option::Option<Hghcogepidm>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: IHKPGEEPLIM
#[derive(proto_derive::CmdID)]
#[cmdid(1817)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueScoreRewardCsReq {
    #[prost(uint32, tag = "5")]
    pub hhjpblekapn: u32,
    #[prost(uint32, repeated, tag = "8")]
    pub lmmfpcokhee: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GEMBNLDPOBD
#[derive(proto_derive::CmdID)]
#[cmdid(1891)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueScoreRewardScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "2")]
    pub pfeaniahfpc: ::core::option::Option<Hghcogepidm>,
    #[prost(uint32, tag = "9")]
    pub hhjpblekapn: u32,
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: HOMKFNNAECD
#[derive(proto_derive::CmdID)]
#[cmdid(1813)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueInitialScoreCsReq {}
/// Obf: CIPBDJILBBD
#[derive(proto_derive::CmdID)]
#[cmdid(1808)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueInitialScoreScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub pfeaniahfpc: ::core::option::Option<Hghcogepidm>,
}
/// Obf: LDOIDBGBFPH
#[derive(proto_derive::CmdID)]
#[cmdid(1835)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueAeonInfoCsReq {}
/// Obf: DCOEBNOMGBP
#[derive(proto_derive::CmdID)]
#[cmdid(1899)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueAeonInfoScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "4")]
    pub belofmfhfdk: ::prost::alloc::vec::Vec<Eacofhbfmlb>,
}
/// Obf: ADPHMDMMGLO
#[derive(proto_derive::CmdID)]
#[cmdid(1853)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishAeonDialogueGroupCsReq {
    #[prost(uint32, tag = "7")]
    pub elappcmeloa: u32,
}
/// Obf: IBGMBDCMFLF
#[derive(proto_derive::CmdID)]
#[cmdid(1816)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishAeonDialogueGroupScRsp {
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub chmhpcngfao: ::core::option::Option<Eacofhbfmlb>,
}
/// Obf: MHHJHCPCHFI
#[derive(proto_derive::CmdID)]
#[cmdid(1843)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueTalentInfoCsReq {}
/// Obf: ILCKHHGKEEA
#[derive(proto_derive::CmdID)]
#[cmdid(1894)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueTalentInfoScRsp {
    #[prost(message, optional, tag = "8")]
    pub talent_info: ::core::option::Option<RogueTalentInfoList>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: OODLMLFFKIK
#[derive(proto_derive::CmdID)]
#[cmdid(1845)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnableRogueTalentCsReq {
    #[prost(uint32, tag = "10")]
    pub talent_id: u32,
}
/// Obf: IFCINKBKLNB
#[derive(proto_derive::CmdID)]
#[cmdid(1887)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnableRogueTalentScRsp {
    #[prost(message, optional, tag = "5")]
    pub talent_info: ::core::option::Option<RogueTalentInfoList>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: KHEPKPAMLIC
#[derive(proto_derive::CmdID)]
#[cmdid(1836)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueVirtualItemInfoScNotify {
    #[prost(message, optional, tag = "12")]
    pub ofolhkcnlba: ::core::option::Option<Pbekdhclbfb>,
}
/// Obf: DAMIJKDDMHG
#[derive(proto_derive::CmdID)]
#[cmdid(1844)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueStatusScNotify {
    #[prost(enumeration = "Egpimdadfdi", tag = "12")]
    pub status: i32,
    #[prost(bool, tag = "7")]
    pub jienhhahfgi: bool,
}
/// Obf: IJLPCNPDIAC
#[derive(proto_derive::CmdID)]
#[cmdid(1809)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueRewardInfoScNotify {
    #[prost(message, optional, tag = "4")]
    pub pfeaniahfpc: ::core::option::Option<Hghcogepidm>,
}
/// Obf: OOPEEPENBLM
#[derive(proto_derive::CmdID)]
#[cmdid(1900)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRoguePickAvatarInfoScNotify {
    #[prost(uint32, repeated, tag = "5")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "13")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DFILFJKBNCN
#[derive(proto_derive::CmdID)]
#[cmdid(1810)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueAeonScNotify {
    #[prost(message, optional, tag = "9")]
    pub gcjogflgbbh: ::core::option::Option<Nikkccaknnp>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Llpnbnejkii {
    #[prost(message, optional, tag = "5")]
    pub map_rotation_data: ::core::option::Option<MapRotationData>,
    #[prost(message, optional, tag = "3")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(message, optional, tag = "1")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
/// Obf: HNBFGCCIHPL
#[derive(proto_derive::CmdID)]
#[cmdid(7676)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueArcadeStartCsReq {
    #[prost(uint32, repeated, tag = "15")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub room_id: u32,
}
/// Obf: DFCGFNCOCDN
#[derive(proto_derive::CmdID)]
#[cmdid(7687)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueArcadeStartScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub lcoclenjjai: ::core::option::Option<Llpnbnejkii>,
    #[prost(uint32, tag = "13")]
    pub room_id: u32,
}
/// Obf: OOBNALGAHBC
#[derive(proto_derive::CmdID)]
#[cmdid(7691)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueArcadeLeaveCsReq {}
/// Obf: PLFJLIKALKC
#[derive(proto_derive::CmdID)]
#[cmdid(7693)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueArcadeLeaveScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub lcoclenjjai: ::core::option::Option<Llpnbnejkii>,
}
/// Obf: FBJMBKBMKAC
#[derive(proto_derive::CmdID)]
#[cmdid(7656)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueArcadeRestartCsReq {}
/// Obf: NHLJKOMFHHO
#[derive(proto_derive::CmdID)]
#[cmdid(7683)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueArcadeRestartScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub lcoclenjjai: ::core::option::Option<Llpnbnejkii>,
}
/// Obf: IBDABBKGKLM
#[derive(proto_derive::CmdID)]
#[cmdid(7657)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueArcadeGetInfoCsReq {}
/// Obf: DAGJBPCCNDJ
#[derive(proto_derive::CmdID)]
#[cmdid(7679)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueArcadeGetInfoScRsp {
    #[prost(uint32, tag = "6")]
    pub room_id: u32,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ffamnkoaihf {
    #[prost(uint32, tag = "1")]
    pub meipgemgacj: u32,
    #[prost(uint32, tag = "6")]
    pub buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gckblhadlgn {
    #[prost(message, repeated, tag = "12")]
    pub buff_list: ::prost::alloc::vec::Vec<Ffamnkoaihf>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueCommonBuffSelectInfo {
    #[prost(uint32, repeated, tag = "7")]
    pub first_buff_type_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Nniohhmjghg", tag = "2")]
    pub source_type: i32,
    #[prost(uint32, tag = "9")]
    pub roll_buff_max_count: u32,
    #[prost(uint32, tag = "5")]
    pub source_total_count: u32,
    #[prost(uint32, tag = "3")]
    pub source_cur_count: u32,
    #[prost(uint32, tag = "11")]
    pub source_hint_id: u32,
    #[prost(uint32, tag = "12")]
    pub roll_buff_free_count: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub handbook_unlock_buff_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "1")]
    pub can_roll: bool,
    #[prost(message, repeated, tag = "15")]
    pub select_buff_list: ::prost::alloc::vec::Vec<Ffamnkoaihf>,
    #[prost(message, optional, tag = "13")]
    pub roll_buff_cost_data: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "10")]
    pub roll_buff_count: u32,
    #[prost(uint32, tag = "4")]
    pub certain_select_buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hkhfbelmdcg {
    #[prost(uint32, tag = "6")]
    pub dhmnnemgfbl: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hcajjefeijd {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmndajfijoj {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Djonnopdjhh {
    #[prost(message, optional, tag = "2")]
    pub nlnbngijafi: ::core::option::Option<RogueCommonBuffSelectInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kglojonkmkp {
    #[prost(message, optional, tag = "3")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "6")]
    pub buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ngpimhhelmm {
    #[prost(message, repeated, tag = "12")]
    pub dakmmpkbmko: ::prost::alloc::vec::Vec<Kglojonkmkp>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Inempcaknnc {
    #[prost(message, repeated, tag = "1")]
    pub clplefhhafb: ::prost::alloc::vec::Vec<Ffamnkoaihf>,
    #[prost(uint32, tag = "4")]
    pub bilbohbdbpn: u32,
    #[prost(message, repeated, tag = "12")]
    pub ihgmpjnnmki: ::prost::alloc::vec::Vec<Ffamnkoaihf>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lefcomgmpcl {
    #[prost(message, repeated, tag = "1")]
    pub ihgmpjnnmki: ::prost::alloc::vec::Vec<Ffamnkoaihf>,
    #[prost(uint32, tag = "5")]
    pub bilbohbdbpn: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pbmaklnjeko {
    #[prost(uint32, tag = "1")]
    pub ljejkccbcha: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fkdbihnpche {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ipgkagffbhf {
    #[prost(uint32, tag = "5")]
    pub bilbohbdbpn: u32,
    #[prost(message, repeated, tag = "1")]
    pub dlfmgkpgmhl: ::prost::alloc::vec::Vec<Ffamnkoaihf>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Okefiddnlkg {
    #[prost(uint32, tag = "4")]
    pub dhmnnemgfbl: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dlhpdalgdeh {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kbpmfkknbjh {
    #[prost(message, repeated, tag = "12")]
    pub kkhdljfohkc: ::prost::alloc::vec::Vec<Ffamnkoaihf>,
    #[prost(uint32, tag = "9")]
    pub bilbohbdbpn: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bfbfmlbhgoh {
    #[prost(uint32, tag = "1")]
    pub dhmnnemgfbl: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oopdmmnnkgi {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kcacnhcadec {
    #[prost(message, optional, tag = "10")]
    pub lchkkhngbgj: ::core::option::Option<Gckblhadlgn>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gjoibmfanhl {
    #[prost(uint32, tag = "6")]
    pub blfaanhjpad: u32,
    #[prost(uint32, tag = "4")]
    pub cur_times: u32,
    #[prost(map = "uint32, uint32", tag = "7")]
    pub gmafejejbho: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "15")]
    pub deidchamdba: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lajbhghnbac {
    #[prost(uint32, tag = "11")]
    pub bemceedabfd: u32,
    #[prost(message, optional, tag = "12")]
    pub jalamopldho: ::core::option::Option<Gjoibmfanhl>,
    #[prost(bool, tag = "8")]
    pub ganhklnpapi: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jpajnjbebfb {
    #[prost(message, optional, tag = "3")]
    pub jibdgcfcdio: ::core::option::Option<Gjoibmfanhl>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gliaipcabim {
    #[prost(uint32, tag = "9")]
    pub deidchamdba: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibibpoopden {
    #[prost(uint32, tag = "8")]
    pub lgjfnaiagld: u32,
    #[prost(message, optional, tag = "9")]
    pub jibdgcfcdio: ::core::option::Option<Gjoibmfanhl>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Maaaagpjjfe {
    #[prost(message, optional, tag = "12")]
    pub jibdgcfcdio: ::core::option::Option<Gjoibmfanhl>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pbaloejcgfn {
    #[prost(uint32, tag = "3")]
    pub bemceedabfd: u32,
    #[prost(message, optional, tag = "5")]
    pub jalamopldho: ::core::option::Option<Gjoibmfanhl>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hblnhganbab {
    #[prost(message, optional, tag = "2")]
    pub jibdgcfcdio: ::core::option::Option<Gjoibmfanhl>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ajpfphkklpg {
    #[prost(message, repeated, tag = "8")]
    pub ckgfonmaeko: ::prost::alloc::vec::Vec<Gjoibmfanhl>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ebhghgiigom {
    #[prost(uint32, repeated, tag = "11")]
    pub jacighhgcgb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub bilbohbdbpn: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub komjmfikbam: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mpphhnaeedk {
    #[prost(uint32, tag = "12")]
    pub cghlhfnladn: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cffocchbamh {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Anmcaimelca {
    #[prost(uint32, repeated, tag = "8")]
    pub cmaggnfdkag: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gabbehoipjc {
    #[prost(uint32, tag = "10")]
    pub bilbohbdbpn: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub dcjeggjpcdf: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nalelighdaa {
    #[prost(uint32, tag = "13")]
    pub abmamcfpcci: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Paocongeljk {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mlkiccaelke {
    #[prost(uint32, tag = "5")]
    pub bilbohbdbpn: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub anbpnihmkah: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pkodmmphibc {
    #[prost(uint32, tag = "13")]
    pub jibhljneicm: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Blfjbkbhjil {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eakecfappkd {
    #[prost(uint32, tag = "13")]
    pub bilbohbdbpn: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub fikenbeondj: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nhckhplklio {
    #[prost(uint32, tag = "12")]
    pub ibemojgallk: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Omjfmbjmfmc {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eldafcnmfbf {
    #[prost(uint32, tag = "13")]
    pub bilbohbdbpn: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub mdpdadooobn: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhjpikekpgh {
    #[prost(uint32, tag = "13")]
    pub gakjolgdbbd: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Moiknhhcabh {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lcagiooiidn {
    #[prost(uint32, tag = "12")]
    pub bilbohbdbpn: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub jlhfojodokg: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Imcbiigokpm {
    #[prost(uint32, tag = "14")]
    pub cghlhfnladn: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fhikplaioei {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ofpeknmfmab {
    #[prost(uint32, repeated, tag = "2")]
    pub jlhfojodokg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub bilbohbdbpn: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lkmkhacmapc {
    #[prost(uint32, tag = "3")]
    pub cghlhfnladn: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nococfhoajc {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Imlbibjkpdb {
    #[prost(uint32, tag = "13")]
    pub eidnigddohp: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jcahmiooldb {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nkidddpflje {
    #[prost(message, optional, tag = "14")]
    pub jlnilijomem: ::core::option::Option<Ajpfphkklpg>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dlcjmohobdh {
    #[prost(uint32, repeated, tag = "12")]
    pub imoiceebdco: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bcllbmeedkp {
    #[prost(uint32, tag = "13")]
    pub mnkeniamhdd: u32,
    #[prost(uint32, tag = "6")]
    pub bpjoapfafkk: u32,
    #[prost(uint32, tag = "5")]
    pub amnkmbmhkdf: u32,
    #[prost(uint32, tag = "11")]
    pub dafalaoaooi: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kildamjjlmf {
    #[prost(uint32, tag = "6")]
    pub num: u32,
    #[prost(uint32, tag = "15")]
    pub fgmgpljckpc: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mdgjikljdde {
    #[prost(enumeration = "AvatarType", tag = "11")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "8")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueSyncContextBoardEvent {
    #[prost(uint32, tag = "8")]
    pub modifier_effect_type: u32,
    #[prost(uint32, tag = "1")]
    pub board_event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cfellcpmonh {
    #[prost(message, optional, tag = "7")]
    pub item_list: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oiaolbgoaag {
    #[prost(message, optional, tag = "15")]
    pub noaednnibaf: ::core::option::Option<RogueSyncContextBoardEvent>,
    #[prost(message, optional, tag = "7")]
    pub hhphlegcldm: ::core::option::Option<Cfellcpmonh>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ahccdbfmndi {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aokijgcoapd {
    #[prost(int32, tag = "15")]
    pub count: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cihfcleakij {
    #[prost(uint32, tag = "9")]
    pub deidchamdba: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ekelnnlplod {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueAdventureRoomGameplayWolfGunTarget {
    #[prost(
        oneof = "rogue_adventure_room_gameplay_wolf_gun_target::TargetImplCase",
        tags = "1, 2, 8, 11"
    )]
    pub target_impl_case: ::core::option::Option<
        rogue_adventure_room_gameplay_wolf_gun_target::TargetImplCase,
    >,
}
/// Nested message and enum types in `RogueAdventureRoomGameplayWolfGunTarget`.
pub mod rogue_adventure_room_gameplay_wolf_gun_target {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum TargetImplCase {
        #[prost(message, tag = "1")]
        TargetNone(super::Ahccdbfmndi),
        #[prost(message, tag = "2")]
        TargetCoin(super::Aokijgcoapd),
        #[prost(message, tag = "8")]
        TargetMiracle(super::Cihfcleakij),
        #[prost(message, tag = "11")]
        TargetRuanmei(super::Ekelnnlplod),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ckjcfdjkdfg {
    #[prost(message, repeated, tag = "5")]
    pub battle_target_list: ::prost::alloc::vec::Vec<
        RogueAdventureRoomGameplayWolfGunTarget,
    >,
    #[prost(uint32, tag = "8")]
    pub dhpabbnjoli: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fhepdkkhfcf {
    #[prost(oneof = "fhepdkkhfcf::Buff", tags = "14")]
    pub buff: ::core::option::Option<fhepdkkhfcf::Buff>,
}
/// Nested message and enum types in `FHEPDKKHFCF`.
pub mod fhepdkkhfcf {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "14")]
        Lachncfkako(super::Ckjcfdjkdfg),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cncajkhccec {
    #[prost(message, optional, tag = "8")]
    pub blndmfgkpmj: ::core::option::Option<Fhepdkkhfcf>,
    #[prost(uint32, tag = "11")]
    pub dpmleipaoil: u32,
    #[prost(uint32, tag = "14")]
    pub status: u32,
    #[prost(uint32, tag = "2")]
    pub mcmclafdldc: u32,
    #[prost(double, tag = "10")]
    pub bdebmbgffka: f64,
    #[prost(uint32, tag = "9")]
    pub score: u32,
}
/// Obf: FAILBACOKOC
#[derive(proto_derive::CmdID)]
#[cmdid(5601)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueAdventureRoomInfoScNotify {
    #[prost(message, optional, tag = "10")]
    pub cdlakdmejlg: ::core::option::Option<Cncajkhccec>,
}
/// Obf: LBPGOHNBLBH
#[derive(proto_derive::CmdID)]
#[cmdid(5668)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PrepareRogueAdventureRoomCsReq {}
/// Obf: IFHLBMILDMA
#[derive(proto_derive::CmdID)]
#[cmdid(5658)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PrepareRogueAdventureRoomScRsp {
    #[prost(message, optional, tag = "1")]
    pub cdlakdmejlg: ::core::option::Option<Cncajkhccec>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: BDGBOBPJOGB
#[derive(proto_derive::CmdID)]
#[cmdid(5650)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StopRogueAdventureRoomCsReq {
    #[prost(uint32, repeated, tag = "13")]
    pub ipogaccfmol: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "7")]
    pub mmhmdhihcab: u32,
}
/// Obf: DENAOGJPCGJ
#[derive(proto_derive::CmdID)]
#[cmdid(5648)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StopRogueAdventureRoomScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub cdlakdmejlg: ::core::option::Option<Cncajkhccec>,
}
/// Obf: LFDFIILGOAD
#[derive(proto_derive::CmdID)]
#[cmdid(5622)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueAdventureRoomInfoCsReq {}
/// Obf: HOOKBCONPPB
#[derive(proto_derive::CmdID)]
#[cmdid(5647)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueAdventureRoomInfoScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub cdlakdmejlg: ::core::option::Option<Cncajkhccec>,
}
/// Obf: NNKAPOCKHDF
#[derive(proto_derive::CmdID)]
#[cmdid(5664)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateRogueAdventureRoomScoreCsReq {
    #[prost(uint32, tag = "1")]
    pub score: u32,
    #[prost(uint32, tag = "11")]
    pub hmffhgbkogl: u32,
}
/// Obf: LDDPPCFOHGJ
#[derive(proto_derive::CmdID)]
#[cmdid(5615)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateRogueAdventureRoomScoreScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub cdlakdmejlg: ::core::option::Option<Cncajkhccec>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ahclnmjpmij {
    #[prost(message, optional, tag = "6")]
    pub nblffdipbhi: ::core::option::Option<ItemCostList>,
    #[prost(message, optional, tag = "1")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(bool, tag = "12")]
    pub bphcbohkhmd: bool,
    #[prost(bool, tag = "9")]
    pub poapegkpfob: bool,
    #[prost(uint32, tag = "11")]
    pub deidchamdba: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mgkfkecfhhm {
    #[prost(uint32, tag = "13")]
    pub buff_id: u32,
    #[prost(message, optional, tag = "2")]
    pub nblffdipbhi: ::core::option::Option<ItemCostList>,
    #[prost(bool, tag = "4")]
    pub poapegkpfob: bool,
    #[prost(message, optional, tag = "14")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(bool, tag = "11")]
    pub bphcbohkhmd: bool,
    #[prost(uint32, tag = "3")]
    pub leaaebafchp: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iilhoakjdnh {
    #[prost(bool, tag = "13")]
    pub bphcbohkhmd: bool,
    #[prost(uint32, tag = "5")]
    pub formula_id: u32,
    #[prost(message, optional, tag = "8")]
    pub nblffdipbhi: ::core::option::Option<ItemCostList>,
    #[prost(bool, tag = "7")]
    pub poapegkpfob: bool,
    #[prost(message, optional, tag = "1")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nnjolkjlpjg {
    #[prost(message, repeated, tag = "14")]
    pub ckgfonmaeko: ::prost::alloc::vec::Vec<Ahclnmjpmij>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Anjdkfjoeei {
    #[prost(message, repeated, tag = "2")]
    pub buff_list: ::prost::alloc::vec::Vec<Mgkfkecfhhm>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Glppdleccli {
    #[prost(message, repeated, tag = "14")]
    pub omfdhfgbgaa: ::prost::alloc::vec::Vec<Iilhoakjdnh>,
}
/// Obf: ELOAFLAJHBO
#[derive(proto_derive::CmdID)]
#[cmdid(5656)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueShopBuffInfoCsReq {
    #[prost(uint32, tag = "1")]
    pub interacted_prop_entity_id: u32,
    #[prost(bool, tag = "3")]
    pub hmilghcpede: bool,
}
/// Obf: OCDHGBDJNEO
#[derive(proto_derive::CmdID)]
#[cmdid(5697)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueShopBuffInfoScRsp {
    #[prost(message, optional, tag = "12")]
    pub lgopnbhhhbg: ::core::option::Option<Anjdkfjoeei>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(int32, tag = "14")]
    pub aefhkanbfnc: i32,
    #[prost(int32, tag = "4")]
    pub efojocfgidj: i32,
    #[prost(message, optional, tag = "1")]
    pub ihjhccfmifd: ::core::option::Option<ItemCostList>,
}
/// Obf: ABDPCGBPFLH
#[derive(proto_derive::CmdID)]
#[cmdid(5624)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueShopMiracleInfoCsReq {
    #[prost(uint32, tag = "14")]
    pub interacted_prop_entity_id: u32,
    #[prost(bool, tag = "3")]
    pub hmilghcpede: bool,
}
/// Obf: LOJEMCFFBJD
#[derive(proto_derive::CmdID)]
#[cmdid(5630)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueShopMiracleInfoScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub eeppkmpajoh: ::core::option::Option<Nnjolkjlpjg>,
    #[prost(int32, tag = "8")]
    pub efojocfgidj: i32,
    #[prost(message, optional, tag = "5")]
    pub ihjhccfmifd: ::core::option::Option<ItemCostList>,
    #[prost(int32, tag = "7")]
    pub aefhkanbfnc: i32,
}
/// Obf: PPLOEIKJAMO
#[derive(proto_derive::CmdID)]
#[cmdid(5645)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueShopFormulaInfoCsReq {
    #[prost(uint32, tag = "8")]
    pub interacted_prop_entity_id: u32,
    #[prost(bool, tag = "5")]
    pub hmilghcpede: bool,
}
/// Obf: OKNJBLFCFBJ
#[derive(proto_derive::CmdID)]
#[cmdid(5687)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueShopFormulaInfoScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(int32, tag = "6")]
    pub efojocfgidj: i32,
    #[prost(int32, tag = "9")]
    pub aefhkanbfnc: i32,
    #[prost(message, optional, tag = "1")]
    pub ckaanmddkcj: ::core::option::Option<Glppdleccli>,
    #[prost(message, optional, tag = "2")]
    pub ihjhccfmifd: ::core::option::Option<ItemCostList>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Agpifofncna {
    #[prost(uint32, tag = "11")]
    pub deidchamdba: u32,
    #[prost(uint32, tag = "7")]
    pub interacted_prop_entity_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mhddhodmmia {
    #[prost(uint32, tag = "6")]
    pub interacted_prop_entity_id: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub plapcjheggf: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HMOLHFMAJBG
#[derive(proto_derive::CmdID)]
#[cmdid(5621)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyRogueShopFormulaCsReq {
    #[prost(uint32, tag = "5")]
    pub interacted_prop_entity_id: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub aoiihcfmfph: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PDHLODCDANK
#[derive(proto_derive::CmdID)]
#[cmdid(5628)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyRogueShopMiracleScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub eeppkmpajoh: ::core::option::Option<Nnjolkjlpjg>,
}
/// Obf: JOBBMGDPHDE
#[derive(proto_derive::CmdID)]
#[cmdid(5605)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyRogueShopBuffScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub lgopnbhhhbg: ::core::option::Option<Anjdkfjoeei>,
}
/// Obf: GLPLAMBGPFJ
#[derive(proto_derive::CmdID)]
#[cmdid(5637)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyRogueShopFormulaScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub ckaanmddkcj: ::core::option::Option<Glppdleccli>,
}
/// Obf: FHGMELFEJKN
#[derive(proto_derive::CmdID)]
#[cmdid(5614)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueNpcDisappearCsReq {
    #[prost(uint32, tag = "7")]
    pub icinggkoemg: u32,
}
/// Obf: DEPHMGJOMCM
#[derive(proto_derive::CmdID)]
#[cmdid(5649)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueNpcDisappearScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: BNCCMIIMGOL
#[derive(proto_derive::CmdID)]
#[cmdid(5667)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueCommonActionResultScNotify {
    #[prost(enumeration = "Nemklkdbeap", tag = "11")]
    pub fgmgpljckpc: i32,
    #[prost(message, repeated, tag = "3")]
    pub flbmhlphfnd: ::prost::alloc::vec::Vec<Dgnddjgnjlb>,
    #[prost(uint32, tag = "6")]
    pub bngfaignphe: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dgnddjgnjlb {
    #[prost(message, optional, tag = "5")]
    pub pbhmgchkjgo: ::core::option::Option<Pnieaceijkm>,
    #[prost(enumeration = "Cfjgpifiool", tag = "12")]
    pub source: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aenockpnfci {
    #[prost(uint32, tag = "4")]
    pub key: u32,
    #[prost(int32, tag = "3")]
    pub jpcllfaieec: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mlpknllaoif {
    #[prost(int32, tag = "11")]
    pub eegcbbhophg: i32,
    #[prost(int32, tag = "3")]
    pub cfclogfjpbd: i32,
    #[prost(uint32, tag = "13")]
    pub jpnfbfkhpgd: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nhehpgonepk {
    #[prost(uint32, tag = "5")]
    pub formula_id: u32,
    #[prost(message, repeated, tag = "8")]
    pub kokiifcmogl: ::prost::alloc::vec::Vec<Aenockpnfci>,
    #[prost(bool, tag = "3")]
    pub eeeionccing: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fcknnieaohi {
    #[prost(map = "uint32, int32", tag = "10")]
    pub nadoccephjo: ::std::collections::HashMap<u32, i32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dbndiagbmji {
    #[prost(message, optional, tag = "15")]
    pub gepenpidkij: ::core::option::Option<Nhehpgonepk>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cdnejceknlf {
    #[prost(message, optional, tag = "1")]
    pub gepenpidkij: ::core::option::Option<Nhehpgonepk>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dcgjlcpclbl {
    #[prost(message, optional, tag = "8")]
    pub gepenpidkij: ::core::option::Option<Nhehpgonepk>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mjcopbfejji {
    #[prost(message, optional, tag = "7")]
    pub gepenpidkij: ::core::option::Option<Nhehpgonepk>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fipfphbphlh {
    #[prost(message, repeated, tag = "11")]
    pub ilbkmnajgmo: ::prost::alloc::vec::Vec<Mlpknllaoif>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lbkkdlhoegn {
    #[prost(message, optional, tag = "1")]
    pub mbmdocjimej: ::core::option::Option<Fcknnieaohi>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kaajbaoakbo {
    #[prost(message, repeated, tag = "9")]
    pub omfdhfgbgaa: ::prost::alloc::vec::Vec<Nhehpgonepk>,
    #[prost(message, optional, tag = "6")]
    pub dlmhaecabod: ::core::option::Option<Fcknnieaohi>,
    #[prost(message, repeated, tag = "10")]
    pub ilbkmnajgmo: ::prost::alloc::vec::Vec<Mlpknllaoif>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Goeekpllcbj {
    #[prost(uint32, tag = "12")]
    pub bhapdmjcklb: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dflkelghook {
    #[prost(uint32, tag = "7")]
    pub bhapdmjcklb: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fbnjofcemil {
    #[prost(map = "uint32, bool", tag = "14")]
    pub nfnmbgboccl: ::std::collections::HashMap<u32, bool>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pnieaceijkm {
    #[prost(
        oneof = "pnieaceijkm::Buff",
        tags = "5, 7, 145, 1650, 1801, 148, 290, 634, 1543, 1135, 1407, 1503, 876, 1812, 949, 1688, 1668, 810, 859, 1401, 1945, 1829, 830, 1334, 236, 1039, 423, 1889"
    )]
    pub buff: ::core::option::Option<pnieaceijkm::Buff>,
}
/// Nested message and enum types in `PNIEACEIJKM`.
pub mod pnieaceijkm {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "5")]
        Ieejchfepha(super::Kildamjjlmf),
        #[prost(message, tag = "7")]
        Indnbedjnco(super::Kildamjjlmf),
        #[prost(message, tag = "145")]
        Noenhhilnah(super::Ffamnkoaihf),
        #[prost(message, tag = "1650")]
        Kpbjipgejpl(super::Ffamnkoaihf),
        #[prost(message, tag = "1801")]
        Kbhpfadbdoh(super::Jpajnjbebfb),
        #[prost(message, tag = "148")]
        Fbnfljkljgc(super::Gliaipcabim),
        #[prost(message, tag = "290")]
        Apfmfbbdcjk(super::Ibibpoopden),
        #[prost(message, tag = "634")]
        Bmdjopghlca(super::Maaaagpjjfe),
        #[prost(message, tag = "1543")]
        Ompbjjohpoo(super::Pbaloejcgfn),
        #[prost(message, tag = "1135")]
        Iomjmeaomfi(super::Hblnhganbab),
        #[prost(message, tag = "1407")]
        Bblgeemhiim(super::Mdgjikljdde),
        #[prost(message, tag = "1503")]
        Manfkmddpeg(super::Dbndiagbmji),
        #[prost(message, tag = "876")]
        Apgccjfbdlh(super::Cdnejceknlf),
        #[prost(message, tag = "1812")]
        Jfpmgojdkmd(super::Dcgjlcpclbl),
        #[prost(message, tag = "949")]
        Pkngaijmdao(super::Mjcopbfejji),
        #[prost(message, tag = "1688")]
        Dmkgebhpipj(super::Fipfphbphlh),
        #[prost(message, tag = "1668")]
        Kpbmfkpcbma(super::Lbkkdlhoegn),
        #[prost(message, tag = "810")]
        Behlmokiafl(super::Goeekpllcbj),
        #[prost(message, tag = "859")]
        Kaifndmjjmk(super::Dflkelghook),
        #[prost(message, tag = "1401")]
        Aidojpolnon(super::Knjaeackjib),
        #[prost(message, tag = "1945")]
        Jblkicbnmhl(super::Lhpdolpkfeo),
        #[prost(message, tag = "1829")]
        Kaailmgchok(super::Aeffjlgfamh),
        #[prost(message, tag = "830")]
        Jcdmgfpmiam(super::Jfgflgblcaj),
        #[prost(message, tag = "1334")]
        Piofbmmeghb(super::Jfgflgblcaj),
        #[prost(message, tag = "236")]
        Jgdaebnefka(super::Jfgflgblcaj),
        #[prost(message, tag = "1039")]
        Aoibhcmanfk(super::Jbihocioanh),
        #[prost(message, tag = "423")]
        Mibobjidcad(super::Hobkeoicbmi),
        #[prost(message, tag = "1889")]
        Edbpehabhbi(super::Lnamgomhgjb),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueFormulaSelectInfo {
    #[prost(uint32, tag = "3")]
    pub roll_formula_free_count: u32,
    #[prost(uint32, tag = "2")]
    pub roll_formula_max_count: u32,
    #[prost(message, optional, tag = "15")]
    pub roll_formula_cost_data: ::core::option::Option<ItemCostList>,
    #[prost(uint32, repeated, tag = "7")]
    pub select_formula_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "5")]
    pub handbook_unlock_formula_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub hint_id: u32,
    #[prost(uint32, tag = "8")]
    pub roll_formula_count: u32,
    #[prost(bool, tag = "11")]
    pub can_roll: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nolcmkcneaf {
    #[prost(uint32, tag = "10")]
    pub oambghfhfmo: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plcgkieiegd {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fhmaianenpo {
    #[prost(uint32, tag = "3")]
    pub bilbohbdbpn: u32,
    #[prost(uint32, repeated, tag = "8")]
    pub laldacmchfi: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Onoofhdeidd {
    #[prost(uint32, tag = "8")]
    pub oambghfhfmo: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hkjegongjnp {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Khgcdeimlhn {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ehefommbnaf {
    #[prost(message, optional, tag = "14")]
    pub bjehoafbhbe: ::core::option::Option<RogueFormulaSelectInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bpddobahpna {
    #[prost(message, optional, tag = "10")]
    pub bjehoafbhbe: ::core::option::Option<RogueFormulaSelectInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ekmahafgngj {
    #[prost(uint32, tag = "4")]
    pub oambghfhfmo: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hbiblkkeoac {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lgcmeepjmha {
    #[prost(uint32, tag = "10")]
    pub idignadndnf: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Koegffomkip {
    #[prost(uint32, tag = "14")]
    pub elpinnnalbd: u32,
    /// uint32 slot = 13; // TODO!
    #[prost(uint32, tag = "1")]
    pub slot: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Inpinnpihob {
    #[prost(uint32, tag = "9")]
    pub scepter_id: u32,
    #[prost(uint32, tag = "13")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbihocioanh {
    #[prost(message, repeated, tag = "14")]
    pub plmkmopcdlm: ::prost::alloc::vec::Vec<Obipoolidal>,
    #[prost(map = "uint32, uint32", tag = "5")]
    pub trench_count: ::std::collections::HashMap<u32, u32>,
    #[prost(message, optional, tag = "3")]
    pub scepter: ::core::option::Option<Inpinnpihob>,
    #[prost(message, repeated, tag = "4")]
    pub fpgefhenccf: ::prost::alloc::vec::Vec<Koegffomkip>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Obipoolidal {
    #[prost(uint32, tag = "1")]
    pub unit_id: u32,
    #[prost(uint32, tag = "7")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jfgflgblcaj {
    #[prost(message, optional, tag = "6")]
    pub lcbecpoogcl: ::core::option::Option<Obipoolidal>,
    #[prost(uint32, tag = "1")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Knjaeackjib {
    #[prost(message, optional, tag = "3")]
    pub clmfnahfnll: ::core::option::Option<Jbihocioanh>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhpdolpkfeo {
    #[prost(message, optional, tag = "5")]
    pub clmfnahfnll: ::core::option::Option<Jbihocioanh>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aeffjlgfamh {
    #[prost(message, optional, tag = "3")]
    pub clmfnahfnll: ::core::option::Option<Jbihocioanh>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Okecopgklee {
    #[prost(message, optional, tag = "10")]
    pub pmgjicchhdl: ::core::option::Option<Jfgflgblcaj>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pgakdejbohf {
    #[prost(message, optional, tag = "5")]
    pub jfpjbbjlifk: ::core::option::Option<Jfgflgblcaj>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oedoaogakpp {
    #[prost(message, repeated, tag = "13")]
    pub gigibipgpfc: ::prost::alloc::vec::Vec<Obipoolidal>,
    #[prost(uint32, tag = "1")]
    pub igchbpakbcb: u32,
    #[prost(uint32, tag = "2")]
    pub ckkekmjmabc: u32,
    #[prost(uint32, tag = "6")]
    pub bilbohbdbpn: u32,
    #[prost(message, optional, tag = "3")]
    pub fgdjamhokif: ::core::option::Option<Obipoolidal>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kkagnmemkog {
    #[prost(uint32, tag = "13")]
    pub bilbohbdbpn: u32,
    #[prost(message, repeated, tag = "4")]
    pub gigibipgpfc: ::prost::alloc::vec::Vec<Jfgflgblcaj>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hhhcpcofppo {
    #[prost(message, optional, tag = "14")]
    pub pobkdoigdab: ::core::option::Option<Obipoolidal>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iipeghdkhgd {
    #[prost(message, optional, tag = "3")]
    pub pobkdoigdab: ::core::option::Option<Jfgflgblcaj>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mhijocjhong {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Abpncpoijci {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Imnnnjggpag {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Imdhpdbhebc {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hobkeoicbmi {
    #[prost(message, optional, tag = "7")]
    pub eocipkgjfop: ::core::option::Option<Jfgflgblcaj>,
    #[prost(uint32, repeated, tag = "6")]
    pub hkklpldnpkd: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Flnagdeoopg {
    #[prost(uint32, tag = "6")]
    pub bilbohbdbpn: u32,
    #[prost(message, repeated, tag = "5")]
    pub chpkdjnhpfo: ::prost::alloc::vec::Vec<Inpinnpihob>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ahkfiakmklo {
    #[prost(bool, tag = "9")]
    pub abbmhpkgaik: bool,
    #[prost(message, optional, tag = "1")]
    pub obfpaiamijl: ::core::option::Option<Inpinnpihob>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bledojdglaa {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ikcndljlapp {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jkhkebmobej {
    #[prost(message, optional, tag = "13")]
    pub jbjggnbjkdj: ::core::option::Option<Inpinnpihob>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jcdljbphomd {
    #[prost(message, optional, tag = "8")]
    pub ghelbobfpam: ::core::option::Option<Inpinnpihob>,
    #[prost(bool, tag = "14")]
    pub blciljenelo: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lgpgcjdoibk {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lnamgomhgjb {
    #[prost(uint32, tag = "7")]
    pub iboekjbomog: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cgjnhnmamdh {
    #[prost(uint32, repeated, tag = "7")]
    pub kdaoimpppki: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub ldfgifdfpcf: u32,
    #[prost(int32, tag = "3")]
    pub jmcembehcoj: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cggbpjichgf {
    #[prost(uint32, tag = "9")]
    pub bilbohbdbpn: u32,
    #[prost(uint32, repeated, tag = "6")]
    pub gbooalmikob: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Ndkljjiimgm", tag = "3")]
    pub obiedgmebdl: i32,
    #[prost(uint32, tag = "8")]
    pub nclaehaijjb: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Haojlhgnfpm {
    #[prost(uint32, tag = "7")]
    pub jmehmhkbjah: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bljoggmjbmd {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pigfbkojnhg {
    #[prost(uint32, tag = "9")]
    pub event_unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ajnajinfjic {
    #[prost(uint32, tag = "15")]
    pub battle_event_id: u32,
    #[prost(bool, tag = "5")]
    pub is_win: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mnmloapbhnf {
    #[prost(uint32, tag = "4")]
    pub event_unique_id: u32,
}
/// Obf: ODFDKILDHBE
#[derive(proto_derive::CmdID)]
#[cmdid(5629)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueCommonPendingActionScNotify {
    #[prost(uint32, tag = "9")]
    pub bngfaignphe: u32,
    #[prost(message, optional, tag = "1")]
    pub nfojnohloac: ::core::option::Option<Kfpmaiaadmo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfpmaiaadmo {
    #[prost(uint32, tag = "14")]
    pub hbapccegnme: u32,
    #[prost(message, optional, tag = "5")]
    pub pbhmgchkjgo: ::core::option::Option<Eiohagheloa>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eiohagheloa {
    #[prost(
        oneof = "eiohagheloa::Buff",
        tags = "1928, 778, 216, 953, 703, 495, 1830, 1487, 1802, 925, 663, 1548, 980, 1146, 581, 1590, 1512, 1733, 727, 455, 1810, 1882, 504, 234, 156, 1837, 493"
    )]
    pub buff: ::core::option::Option<eiohagheloa::Buff>,
}
/// Nested message and enum types in `EIOHAGHELOA`.
pub mod eiohagheloa {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "1928")]
        Nlnbngijafi(super::RogueCommonBuffSelectInfo),
        #[prost(message, tag = "778")]
        Fphhhiobfai(super::Lefcomgmpcl),
        #[prost(message, tag = "216")]
        Ajddfancejn(super::Ipgkagffbhf),
        #[prost(message, tag = "953")]
        Imikpgfhlhk(super::Kbpmfkknbjh),
        #[prost(message, tag = "703")]
        Cjenjifeidi(super::Ebhghgiigom),
        #[prost(message, tag = "495")]
        Bicjempplam(super::Anmcaimelca),
        #[prost(message, tag = "1830")]
        Aelpppiefab(super::Gabbehoipjc),
        #[prost(message, tag = "1487")]
        Bediachlcii(super::Mlkiccaelke),
        #[prost(message, tag = "1802")]
        Ladgcoomnka(super::Eakecfappkd),
        #[prost(message, tag = "925")]
        Cgkfomncnak(super::Eldafcnmfbf),
        #[prost(message, tag = "663")]
        Eiefmpfllcm(super::Lcagiooiidn),
        #[prost(message, tag = "1548")]
        Nkkbodgfclm(super::Ofpeknmfmab),
        #[prost(message, tag = "980")]
        Gkflnmojncp(super::Dlcjmohobdh),
        #[prost(message, tag = "1146")]
        Bjehoafbhbe(super::RogueFormulaSelectInfo),
        #[prost(message, tag = "581")]
        Jbkpikajpeb(super::Fhmaianenpo),
        #[prost(message, tag = "1590")]
        Hcchfjefanj(super::Bpddobahpna),
        #[prost(message, tag = "1512")]
        Oiomhopnimf(super::Oedoaogakpp),
        #[prost(message, tag = "1733")]
        Ifclaafpkhc(super::Flnagdeoopg),
        #[prost(message, tag = "727")]
        Hfjechfannf(super::Jkhkebmobej),
        #[prost(message, tag = "455")]
        Ldjomiojepf(super::Oedoaogakpp),
        #[prost(message, tag = "1810")]
        Lmnoncmbioo(super::Oedoaogakpp),
        #[prost(message, tag = "1882")]
        Cnlmcobncai(super::Oedoaogakpp),
        #[prost(message, tag = "504")]
        Fhokdllicjl(super::Kkagnmemkog),
        #[prost(message, tag = "234")]
        Phdemdbgoib(super::Kkagnmemkog),
        #[prost(message, tag = "156")]
        Kljjibpjgff(super::Kkagnmemkog),
        #[prost(message, tag = "1837")]
        Dlfalfgfdhe(super::Pigfbkojnhg),
        #[prost(message, tag = "493")]
        Npcdbpndgop(super::Cggbpjichgf),
    }
}
/// Obf: EHGOIEIOLEF
#[derive(proto_derive::CmdID)]
#[cmdid(5690)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HandleRogueCommonPendingActionCsReq {
    #[prost(uint32, tag = "11")]
    pub ifdkllhfpjb: u32,
    #[prost(
        oneof = "handle_rogue_common_pending_action_cs_req::Buff",
        tags = "1836, 417, 1373, 1253, 711, 171, 527, 184, 493, 661, 710, 1403, 348, 122, 707, 216, 1958, 571, 1285, 501, 35, 606, 381, 1221, 517, 912, 636, 129, 1954, 10873, 36013"
    )]
    pub buff: ::core::option::Option<handle_rogue_common_pending_action_cs_req::Buff>,
}
/// Nested message and enum types in `HandleRogueCommonPendingActionCsReq`.
pub mod handle_rogue_common_pending_action_cs_req {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "1836")]
        Jkhbbdlchid(super::Hkhfbelmdcg),
        #[prost(message, tag = "417")]
        Kbnegolplfc(super::Pbmaklnjeko),
        #[prost(message, tag = "1373")]
        Gdkgibekgpf(super::Okefiddnlkg),
        #[prost(message, tag = "1253")]
        Oncngiilenf(super::Mmndajfijoj),
        #[prost(message, tag = "711")]
        Glejcdpdjne(super::Bfbfmlbhgoh),
        #[prost(message, tag = "171")]
        Ooagpgdpjoa(super::Mpphhnaeedk),
        #[prost(message, tag = "527")]
        Gnebjeppkej(super::Nalelighdaa),
        #[prost(message, tag = "184")]
        Kjlafilapjf(super::Pkodmmphibc),
        #[prost(message, tag = "493")]
        Flfpcphlago(super::Nhckhplklio),
        #[prost(message, tag = "661")]
        Epoakmfmflm(super::Lhjpikekpgh),
        #[prost(message, tag = "710")]
        Fkpfokhbpkk(super::Imcbiigokpm),
        #[prost(message, tag = "1403")]
        Eodclaipcae(super::Lkmkhacmapc),
        #[prost(message, tag = "348")]
        Aocodaobkhm(super::Imlbibjkpdb),
        #[prost(message, tag = "122")]
        Egggggglfho(super::Nolcmkcneaf),
        #[prost(message, tag = "707")]
        Lnploeofccj(super::Khgcdeimlhn),
        #[prost(message, tag = "216")]
        Ieabohkeapa(super::Onoofhdeidd),
        #[prost(message, tag = "1958")]
        Nediibjhgfo(super::Ekmahafgngj),
        #[prost(message, tag = "571")]
        Jgpcbcjkonh(super::Hhhcpcofppo),
        #[prost(message, tag = "1285")]
        Hknjipjhocg(super::Ahkfiakmklo),
        #[prost(message, tag = "501")]
        Ldaglimnman(super::Jcdljbphomd),
        #[prost(message, tag = "35")]
        Aflheikjnbn(super::Hhhcpcofppo),
        #[prost(message, tag = "606")]
        Phkbflnpefi(super::Hhhcpcofppo),
        #[prost(message, tag = "381")]
        Gocmndkfoab(super::Hhhcpcofppo),
        #[prost(message, tag = "1221")]
        Chonecoliha(super::Iipeghdkhgd),
        #[prost(message, tag = "517")]
        Moaogacboij(super::Iipeghdkhgd),
        #[prost(message, tag = "912")]
        Kilhfppbbfm(super::Iipeghdkhgd),
        #[prost(message, tag = "636")]
        Blhdfajhcja(super::Haojlhgnfpm),
        #[prost(message, tag = "129")]
        Lpjbaimjaik(super::Haojlhgnfpm),
        #[prost(message, tag = "1954")]
        Ecegpejcpbl(super::Lgcmeepjmha),
        #[prost(message, tag = "10873")]
        Fkpdkfemkec(super::Ajnajinfjic),
        #[prost(message, tag = "36013")]
        Llnmcjcfbmj(super::Mnmloapbhnf),
    }
}
/// Obf: DFNKMPOMIEH
#[derive(proto_derive::CmdID)]
#[cmdid(5655)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HandleRogueCommonPendingActionScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "8")]
    pub ifdkllhfpjb: u32,
    #[prost(uint32, tag = "2")]
    pub hbapccegnme: u32,
    #[prost(
        oneof = "handle_rogue_common_pending_action_sc_rsp::Buff",
        tags = "1553, 637, 194, 1223, 242, 1560, 27, 1645, 1353, 759, 63, 927, 1456, 1879, 802, 1278, 390, 683, 1939, 1710, 630, 901, 1575, 605, 1491, 499"
    )]
    pub buff: ::core::option::Option<handle_rogue_common_pending_action_sc_rsp::Buff>,
}
/// Nested message and enum types in `HandleRogueCommonPendingActionScRsp`.
pub mod handle_rogue_common_pending_action_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "1553")]
        Pnadbjejbof(super::Hcajjefeijd),
        #[prost(message, tag = "637")]
        Kkiangabfnj(super::Fkdbihnpche),
        #[prost(message, tag = "194")]
        Cldbplniaen(super::Dlhpdalgdeh),
        #[prost(message, tag = "1223")]
        Goomopmalol(super::Djonnopdjhh),
        #[prost(message, tag = "242")]
        Kbflnjpmoah(super::Oopdmmnnkgi),
        #[prost(message, tag = "1560")]
        Jkjofmhjgib(super::Cffocchbamh),
        #[prost(message, tag = "27")]
        Dmcepjkoogc(super::Paocongeljk),
        #[prost(message, tag = "1645")]
        Fdppgkddpgc(super::Blfjbkbhjil),
        #[prost(message, tag = "1353")]
        Mapbdbmfimd(super::Omjfmbjmfmc),
        #[prost(message, tag = "759")]
        Oihjekimppd(super::Moiknhhcabh),
        #[prost(message, tag = "63")]
        Okpcjlpmbad(super::Fhikplaioei),
        #[prost(message, tag = "927")]
        Dpgbcafkdpm(super::Nococfhoajc),
        #[prost(message, tag = "1456")]
        Hmobefjkdpd(super::Jcahmiooldb),
        #[prost(message, tag = "1879")]
        Japiiijmpge(super::Plcgkieiegd),
        #[prost(message, tag = "802")]
        Cpopchnddfm(super::Ehefommbnaf),
        #[prost(message, tag = "1278")]
        Ndjbgfheici(super::Hkjegongjnp),
        #[prost(message, tag = "390")]
        Cobeibnlgjf(super::Hbiblkkeoac),
        #[prost(message, tag = "683")]
        Blefmehonoo(super::Mhijocjhong),
        #[prost(message, tag = "1939")]
        Ihbodkmfpnf(super::Bledojdglaa),
        #[prost(message, tag = "1710")]
        Lbojliiabap(super::Lgpgcjdoibk),
        #[prost(message, tag = "630")]
        Ilhbhphdedl(super::Abpncpoijci),
        #[prost(message, tag = "901")]
        Dicgeadecpk(super::Imnnnjggpag),
        #[prost(message, tag = "1575")]
        Gabicmfakpd(super::Imdhpdbhebc),
        #[prost(message, tag = "605")]
        Dkmmoimojdm(super::Ikcndljlapp),
        #[prost(message, tag = "1491")]
        Hcfopgmleno(super::Bljoggmjbmd),
        #[prost(message, tag = "499")]
        Gdmgoelomfk(super::Bljoggmjbmd),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fcpmbjhfbnj {
    #[prost(uint32, tag = "14")]
    pub ojeblmkkmgo: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Giadlheephd {
    #[prost(uint32, tag = "13")]
    pub fhhgdpcecee: u32,
    #[prost(bool, tag = "11")]
    pub fjoilohphlc: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lognkekhbai {
    #[prost(uint32, tag = "2")]
    pub ajbepahcgik: u32,
    #[prost(bool, tag = "11")]
    pub fjoilohphlc: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Knijhgnjijm {
    #[prost(uint32, tag = "13")]
    pub jgmipmdppij: u32,
    #[prost(uint32, repeated, tag = "2")]
    pub dpmibdhkdae: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub elappcmeloa: u32,
    #[prost(uint32, tag = "4")]
    pub level: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub ddgcfjdbooh: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub exp: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ooceoilkcfi {
    #[prost(message, optional, tag = "6")]
    pub jlfddmekljk: ::core::option::Option<Inpinnpihob>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eoejhkjllpk {
    #[prost(uint32, tag = "13")]
    pub ppmiogcfooc: u32,
    #[prost(uint32, tag = "8")]
    pub unit_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aeknflomljh {
    #[prost(message, repeated, tag = "4")]
    pub buff_list: ::prost::alloc::vec::Vec<Fcpmbjhfbnj>,
    #[prost(message, repeated, tag = "2")]
    pub bjcmphlpknf: ::prost::alloc::vec::Vec<Lognkekhbai>,
    #[prost(message, repeated, tag = "9")]
    pub belofmfhfdk: ::prost::alloc::vec::Vec<Knijhgnjijm>,
    #[prost(message, repeated, tag = "6")]
    pub ckgfonmaeko: ::prost::alloc::vec::Vec<Giadlheephd>,
}
/// Obf: GILIPEKOEAF
#[derive(proto_derive::CmdID)]
#[cmdid(5673)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueHandbookDataCsReq {}
/// Obf: GetRogueHandbookDataScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(5640)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueHandbookDataScRsp {
    #[prost(message, optional, tag = "9")]
    pub handbook_info: ::core::option::Option<Aeknflomljh>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: NNLIMACBCJJ
#[derive(proto_derive::CmdID)]
#[cmdid(5603)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueHandbookDataUpdateScNotify {
    #[prost(message, repeated, tag = "11")]
    pub bjkpkfbfdff: ::prost::alloc::vec::Vec<Ooceoilkcfi>,
    #[prost(message, repeated, tag = "5")]
    pub mmhchhcofpb: ::prost::alloc::vec::Vec<Eoejhkjllpk>,
    #[prost(message, repeated, tag = "12")]
    pub haebaambnbb: ::prost::alloc::vec::Vec<Lognkekhbai>,
    #[prost(message, repeated, tag = "14")]
    pub abibobfdkld: ::prost::alloc::vec::Vec<Fcpmbjhfbnj>,
    #[prost(message, repeated, tag = "15")]
    pub idddcjonpfn: ::prost::alloc::vec::Vec<Giadlheephd>,
}
/// Obf: FNOHCPGCENO
#[derive(proto_derive::CmdID)]
#[cmdid(5657)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueMiracleHandbookRewardCsReq {
    #[prost(uint32, repeated, tag = "4")]
    pub afhddnggnbf: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KMLGJIMHJJC
#[derive(proto_derive::CmdID)]
#[cmdid(5613)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueMiracleHandbookRewardScRsp {
    #[prost(message, optional, tag = "11")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, repeated, tag = "12")]
    pub feifjadcdfl: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: CMDEHEACAHM
#[derive(proto_derive::CmdID)]
#[cmdid(5608)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueEventHandbookRewardCsReq {
    #[prost(uint32, repeated, tag = "7")]
    pub idoecnpkgce: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: BIDOHEPEMKO
#[derive(proto_derive::CmdID)]
#[cmdid(5678)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueEventHandbookRewardScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, repeated, tag = "7")]
    pub dpjhilhgoke: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Findafkpoof {
    #[prost(map = "uint32, uint32", tag = "10")]
    pub glaphhabohp: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ladhikpajcj {
    #[prost(int32, tag = "5")]
    pub icjabpgmacj: i32,
    #[prost(message, optional, tag = "3")]
    pub bohdminejno: ::core::option::Option<Eendhpkpflp>,
    #[prost(uint32, tag = "7")]
    pub amnbmjofjoo: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ohlcjedcofn {
    #[prost(uint32, repeated, tag = "4")]
    pub dimhpbcpnlc: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Omdefbabnnb {
    #[prost(message, optional, tag = "15")]
    pub gficflciejj: ::core::option::Option<ItemCostList>,
    #[prost(uint32, repeated, tag = "6")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lgkgehhajje {
    #[prost(oneof = "lgkgehhajje::Hloekmdpgif", tags = "2, 1, 11, 15, 4, 5, 9, 14")]
    pub hloekmdpgif: ::core::option::Option<lgkgehhajje::Hloekmdpgif>,
}
/// Nested message and enum types in `LGKGEHHAJJE`.
pub mod lgkgehhajje {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Hloekmdpgif {
        #[prost(message, tag = "2")]
        Lgopnbhhhbg(super::Kcacnhcadec),
        #[prost(message, tag = "1")]
        Eeppkmpajoh(super::Nkidddpflje),
        #[prost(message, tag = "11")]
        Fffccejifdk(super::Findafkpoof),
        #[prost(message, tag = "15")]
        Chmhpcngfao(super::Ladhikpajcj),
        #[prost(message, tag = "4")]
        Fiocabcbnkb(super::Ohlcjedcofn),
        #[prost(message, tag = "5")]
        Ckaanmddkcj(super::Kaajbaoakbo),
        #[prost(message, tag = "9")]
        Nbdacdnbjik(super::Fbnjofcemil),
        #[prost(message, tag = "14")]
        Embagmmhipa(super::Omdefbabnnb),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pmjgkhpkhcm {
    #[prost(uint32, tag = "15")]
    pub egmebanhhnf: u32,
    #[prost(message, repeated, tag = "13")]
    pub biphngcadde: ::prost::alloc::vec::Vec<Lgkgehhajje>,
    #[prost(uint32, tag = "11")]
    pub bngfaignphe: u32,
    #[prost(uint32, tag = "7")]
    pub illodgaefae: u32,
    #[prost(uint32, tag = "3")]
    pub agebambkkbc: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueUnlockProgress {
    #[prost(uint32, tag = "3")]
    pub progress: u32,
    #[prost(bool, tag = "8")]
    pub finish: bool,
    #[prost(uint32, tag = "6")]
    pub unlock_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibcknkpjfoj {
    #[prost(uint32, tag = "14")]
    pub talent_id: u32,
    #[prost(message, repeated, tag = "9")]
    pub pgimncfhjea: ::prost::alloc::vec::Vec<RogueUnlockProgress>,
    #[prost(enumeration = "Kpabffanjbk", tag = "4")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTalentInfoList {
    #[prost(message, repeated, tag = "6")]
    pub lgnnmajmeil: ::prost::alloc::vec::Vec<Ibcknkpjfoj>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pojeeialjfi {
    #[prost(uint32, tag = "10")]
    pub mgkkgnldgcl: u32,
    #[prost(uint32, tag = "2")]
    pub baphhckihmo: u32,
}
/// Obf: BHJCKFBHJAA
#[derive(proto_derive::CmdID)]
#[cmdid(5677)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueCommonVirtualItemInfoScNotify {
    #[prost(message, repeated, tag = "15")]
    pub idjjpafpmdm: ::prost::alloc::vec::Vec<Pojeeialjfi>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mapomoilgeh {
    #[prost(uint32, tag = "15")]
    pub bdcffobgkoa: u32,
    #[prost(uint32, tag = "9")]
    pub gedjniaefho: u32,
    #[prost(uint32, tag = "11")]
    pub mbkfininnek: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plgdcfipeaa {
    #[prost(enumeration = "Odopdkelaeb", repeated, tag = "9")]
    pub jpgcdjdgdbi: ::prost::alloc::vec::Vec<i32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ilaekjcnemf {
    #[prost(uint32, repeated, tag = "2")]
    pub afedjkmfodp: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lgjmdnnmppe {
    #[prost(message, optional, tag = "6")]
    pub kjkbkegighk: ::core::option::Option<Plgdcfipeaa>,
    #[prost(message, optional, tag = "3")]
    pub ongpjogkkjn: ::core::option::Option<Mapomoilgeh>,
    #[prost(message, optional, tag = "5")]
    pub nolhgnhaema: ::core::option::Option<Ilaekjcnemf>,
}
/// Obf: EDEGKIBNHPD
#[derive(proto_derive::CmdID)]
#[cmdid(5685)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CommonRogueQueryCsReq {}
/// Obf: IIJKNHFGBBM
#[derive(proto_derive::CmdID)]
#[cmdid(5660)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CommonRogueQueryScRsp {
    #[prost(message, optional, tag = "3")]
    pub lagbgldlgcb: ::core::option::Option<Lgjmdnnmppe>,
    #[prost(uint32, tag = "6")]
    pub fhhbjlhajfj: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: AJAJIDCBOHC
#[derive(proto_derive::CmdID)]
#[cmdid(5626)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CommonRogueUpdateScNotify {
    #[prost(oneof = "common_rogue_update_sc_notify::Ncekdikcbhp", tags = "14, 2, 13")]
    pub ncekdikcbhp: ::core::option::Option<common_rogue_update_sc_notify::Ncekdikcbhp>,
}
/// Nested message and enum types in `CommonRogueUpdateScNotify`.
pub mod common_rogue_update_sc_notify {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ncekdikcbhp {
        #[prost(message, tag = "14")]
        Ongpjogkkjn(super::Mapomoilgeh),
        #[prost(message, tag = "2")]
        Kjkbkegighk(super::Plgdcfipeaa),
        #[prost(message, tag = "13")]
        Nolhgnhaema(super::Ilaekjcnemf),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ikamknhggok {
    #[prost(uint32, tag = "15")]
    pub cdjecokfiof: u32,
    #[prost(uint32, tag = "5")]
    pub onlhfcoglal: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gnjapomllhe {
    #[prost(uint32, tag = "7")]
    pub bglehmkmapg: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cnhhpdhbmdc {
    #[prost(uint32, tag = "11")]
    pub bglehmkmapg: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jieaafjenlk {
    #[prost(uint32, tag = "15")]
    pub formula_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hpjlafhhgjg {
    #[prost(uint32, tag = "7")]
    pub bglehmkmapg: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afccaoacnak {
    #[prost(uint32, tag = "5")]
    pub dgaklnofdpp: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbmeclkggdk {
    #[prost(oneof = "jbmeclkggdk::Afblajkdhhf", tags = "4, 9, 13, 14, 12, 1")]
    pub afblajkdhhf: ::core::option::Option<jbmeclkggdk::Afblajkdhhf>,
}
/// Nested message and enum types in `JBMECLKGGDK`.
pub mod jbmeclkggdk {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Afblajkdhhf {
        #[prost(message, tag = "4")]
        Hpnoggfdpkm(super::Ikamknhggok),
        #[prost(message, tag = "9")]
        Admahlaalnh(super::Gnjapomllhe),
        #[prost(message, tag = "13")]
        Oddgcbpoplf(super::Cnhhpdhbmdc),
        #[prost(message, tag = "14")]
        Gmakhonaeph(super::Jieaafjenlk),
        #[prost(message, tag = "12")]
        Cacgekaankl(super::Hpjlafhhgjg),
        #[prost(message, tag = "1")]
        Aggblhgkpfj(super::Afccaoacnak),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Abenfanelfl {
    #[prost(int32, tag = "11")]
    pub ggplcpchadn: i32,
    #[prost(float, tag = "13")]
    pub lmbiodpohge: f32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gokkmeomofc {
    #[prost(uint32, tag = "11")]
    pub battle_event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nebpghddepc {
    #[prost(int32, tag = "5")]
    pub jefioihhclg: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hjpgncngilg {
    #[prost(oneof = "hjpgncngilg::Hpnhnmbabfn", tags = "7, 8")]
    pub hpnhnmbabfn: ::core::option::Option<hjpgncngilg::Hpnhnmbabfn>,
}
/// Nested message and enum types in `HJPGNCNGILG`.
pub mod hjpgncngilg {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Hpnhnmbabfn {
        #[prost(message, tag = "7")]
        Capijnmcdam(super::Gokkmeomofc),
        #[prost(message, tag = "8")]
        Hmlcehikffk(super::Nebpghddepc),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbabekpblhn {
    #[prost(message, optional, tag = "10")]
    pub display_value: ::core::option::Option<Abenfanelfl>,
    #[prost(uint32, tag = "12")]
    pub arg_id: u32,
    #[prost(bool, tag = "9")]
    pub gldjnhiggje: bool,
    #[prost(uint32, tag = "1")]
    pub kdmlllghjon: u32,
    #[prost(bool, tag = "5")]
    pub pipmgacmjnn: bool,
    #[prost(message, repeated, tag = "7")]
    pub pocjcmkkjik: ::prost::alloc::vec::Vec<Hjpgncngilg>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hgeknliffed {
    #[prost(message, repeated, tag = "2")]
    pub lekpkocnjal: ::prost::alloc::vec::Vec<Gbabekpblhn>,
    #[prost(message, optional, tag = "6")]
    pub bdoemgmhalj: ::core::option::Option<Jbmeclkggdk>,
    #[prost(uint32, tag = "10")]
    pub event_unique_id: u32,
}
/// Obf: JENIAHELNPF
#[derive(proto_derive::CmdID)]
#[cmdid(5663)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueCommonDialogueDataCsReq {}
/// Obf: MHGANOEPLIP
#[derive(proto_derive::CmdID)]
#[cmdid(5607)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueCommonDialogueDataScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "15")]
    pub dckilldonhg: ::prost::alloc::vec::Vec<Hgeknliffed>,
}
/// Obf: LLBPCHBONCK
#[derive(proto_derive::CmdID)]
#[cmdid(5688)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelectRogueCommonDialogueOptionCsReq {
    #[prost(uint32, tag = "2")]
    pub event_unique_id: u32,
    #[prost(uint32, tag = "10")]
    pub kdmlllghjon: u32,
}
/// Obf: PGBOPNMMJBB
#[derive(proto_derive::CmdID)]
#[cmdid(5689)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelectRogueCommonDialogueOptionScRsp {
    #[prost(bool, tag = "7")]
    pub adjgdbbnplc: bool,
    #[prost(message, optional, tag = "9")]
    pub oidiaddnacm: ::core::option::Option<Hgeknliffed>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint32, tag = "1")]
    pub kdmlllghjon: u32,
    #[prost(uint32, repeated, tag = "8")]
    pub jidlbfoebid: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub event_unique_id: u32,
}
/// Obf: CJLNCCDAHOA
#[derive(proto_derive::CmdID)]
#[cmdid(5665)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishRogueCommonDialogueCsReq {
    #[prost(uint32, tag = "1")]
    pub event_unique_id: u32,
}
/// Obf: IFNNGEFFFGP
#[derive(proto_derive::CmdID)]
#[cmdid(5674)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishRogueCommonDialogueScRsp {
    #[prost(uint32, tag = "9")]
    pub event_unique_id: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: ODONIMBGLJN
#[derive(proto_derive::CmdID)]
#[cmdid(5652)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueCommonDialogueDataScNotify {
    #[prost(message, repeated, tag = "7")]
    pub dckilldonhg: ::prost::alloc::vec::Vec<Hgeknliffed>,
}
/// Obf: KAMCLHLJJPM
#[derive(proto_derive::CmdID)]
#[cmdid(5604)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueCommonDialogueOptionFinishScNotify {
    #[prost(message, optional, tag = "14")]
    pub dgncfmdppbf: ::core::option::Option<Gbabekpblhn>,
    #[prost(uint32, tag = "10")]
    pub kdmlllghjon: u32,
    #[prost(uint32, tag = "15")]
    pub event_unique_id: u32,
    #[prost(message, optional, tag = "8")]
    pub oidiaddnacm: ::core::option::Option<Hgeknliffed>,
}
/// Obf: HMBFLLILPIO
#[derive(proto_derive::CmdID)]
#[cmdid(5679)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CommonRogueComponentUpdateScNotify {
    #[prost(uint32, tag = "14")]
    pub agebambkkbc: u32,
    #[prost(uint32, tag = "11")]
    pub bngfaignphe: u32,
    #[prost(message, optional, tag = "9")]
    pub dlkcojghhmi: ::core::option::Option<Lgkgehhajje>,
    #[prost(uint32, tag = "7")]
    pub egmebanhhnf: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mikfnbbopip {
    #[prost(uint32, tag = "5")]
    pub agebambkkbc: u32,
    #[prost(string, tag = "4")]
    pub mdlndgijnml: ::prost::alloc::string::String,
    #[prost(uint32, tag = "10")]
    pub illodgaefae: u32,
    #[prost(uint32, tag = "9")]
    pub bngfaignphe: u32,
    #[prost(message, optional, tag = "15")]
    pub kndmeilhkej: ::core::option::Option<Kfpmaiaadmo>,
    #[prost(uint32, tag = "1")]
    pub egmebanhhnf: u32,
}
/// Obf: DBOKNOPCNGG
#[derive(proto_derive::CmdID)]
#[cmdid(5684)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueWorkbenchGetInfoCsReq {
    #[prost(uint32, tag = "4")]
    pub prop_entity_id: u32,
}
/// Obf: GINOHIHIKHN
#[derive(proto_derive::CmdID)]
#[cmdid(5610)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueWorkbenchGetInfoScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(map = "uint32, message", tag = "14")]
    pub gajpnngmhnk: ::std::collections::HashMap<u32, Mhccpddkkda>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mhccpddkkda {
    #[prost(
        oneof = "mhccpddkkda::Jcfkgndaphj",
        tags = "8, 13, 4, 15, 2, 14, 5, 9, 10, 11"
    )]
    pub jcfkgndaphj: ::core::option::Option<mhccpddkkda::Jcfkgndaphj>,
}
/// Nested message and enum types in `MHCCPDDKKDA`.
pub mod mhccpddkkda {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Jcfkgndaphj {
        #[prost(message, tag = "8")]
        Cggnfjcbbkm(super::Glpeeijalgf),
        #[prost(message, tag = "13")]
        Piclegggncf(super::Jcijcafjjkn),
        #[prost(message, tag = "4")]
        Eapmicbgoio(super::Ajmibfecflj),
        #[prost(message, tag = "15")]
        Nnchmgdgdfi(super::Lpilgjepagj),
        #[prost(message, tag = "2")]
        Ndkhogemkja(super::Igilogohejp),
        #[prost(message, tag = "14")]
        Jlfddmekljk(super::Khcbgnlnpel),
        #[prost(message, tag = "5")]
        Lcbecpoogcl(super::Kmhibngafeo),
        #[prost(message, tag = "9")]
        Ceajnliofhf(super::Dmkpfgebilh),
        #[prost(message, tag = "10")]
        Pgpaapopdoc(super::Lfggpngkbch),
        #[prost(message, tag = "11")]
        Pmkehgbpcng(super::Dhmfcidjbfd),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Glpeeijalgf {
    #[prost(int32, tag = "4")]
    pub dmmamjgngnn: i32,
    #[prost(message, optional, tag = "13")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "2")]
    pub anlincfgfan: u32,
    #[prost(bool, tag = "8")]
    pub fobaoeafnam: bool,
    #[prost(uint32, tag = "11")]
    pub jifkhckpnfm: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jcijcafjjkn {
    #[prost(uint32, tag = "14")]
    pub anlincfgfan: u32,
    #[prost(message, optional, tag = "13")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(int32, tag = "8")]
    pub dmmamjgngnn: i32,
    #[prost(uint32, tag = "7")]
    pub jifkhckpnfm: u32,
    #[prost(bool, tag = "12")]
    pub fobaoeafnam: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ajmibfecflj {
    #[prost(uint32, tag = "15")]
    pub cur_num: u32,
    #[prost(uint32, tag = "5")]
    pub max_num: u32,
    #[prost(map = "uint32, uint32", tag = "13")]
    pub hcpacbhcmhn: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lpilgjepagj {
    #[prost(int32, tag = "13")]
    pub dmmamjgngnn: i32,
    #[prost(map = "uint32, bool", tag = "11")]
    pub nfnicipmjii: ::std::collections::HashMap<u32, bool>,
    #[prost(uint32, tag = "6")]
    pub jifkhckpnfm: u32,
    #[prost(message, optional, tag = "8")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Igilogohejp {
    #[prost(int32, tag = "12")]
    pub dmmamjgngnn: i32,
    #[prost(message, optional, tag = "2")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "4")]
    pub jifkhckpnfm: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Coahgflonan {
    #[prost(message, optional, tag = "15")]
    pub jlfddmekljk: ::core::option::Option<Inpinnpihob>,
    #[prost(message, optional, tag = "10")]
    pub hbpblgllien: ::core::option::Option<ItemCostList>,
    #[prost(message, optional, tag = "2")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(bool, tag = "14")]
    pub ngkjpcehmba: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Khcbgnlnpel {
    #[prost(message, repeated, tag = "10")]
    pub picfhpkdnel: ::prost::alloc::vec::Vec<Coahgflonan>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aogiimkcjdj {
    #[prost(message, optional, tag = "1")]
    pub hbpblgllien: ::core::option::Option<ItemCostList>,
    #[prost(bool, tag = "4")]
    pub ngkjpcehmba: bool,
    #[prost(uint32, tag = "11")]
    pub unit_id: u32,
    #[prost(uint32, tag = "7")]
    pub ppmiogcfooc: u32,
    #[prost(message, optional, tag = "2")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kmhibngafeo {
    #[prost(message, repeated, tag = "4")]
    pub magic_list: ::prost::alloc::vec::Vec<Aogiimkcjdj>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmkpfgebilh {
    #[prost(message, optional, tag = "8")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "1")]
    pub jifkhckpnfm: u32,
    #[prost(int32, tag = "11")]
    pub dmmamjgngnn: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lfggpngkbch {
    #[prost(map = "uint32, message", tag = "3")]
    pub iakhmmelmfd: ::std::collections::HashMap<u32, ItemCostList>,
    #[prost(message, optional, tag = "11")]
    pub faidibodmch: ::core::option::Option<ItemCostList>,
    #[prost(int32, tag = "2")]
    pub dmmamjgngnn: i32,
    #[prost(uint32, tag = "12")]
    pub jifkhckpnfm: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kifilcjolch {
    #[prost(message, optional, tag = "9")]
    pub item_cost_list: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "6")]
    pub scepter_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dhmfcidjbfd {
    #[prost(message, repeated, tag = "3")]
    pub eldolkcakae: ::prost::alloc::vec::Vec<Kifilcjolch>,
}
/// Obf: BCMDOEOIAGB
#[derive(proto_derive::CmdID)]
#[cmdid(5634)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueWorkbenchHandleFuncCsReq {
    #[prost(uint32, tag = "3")]
    pub prop_entity_id: u32,
    #[prost(uint32, tag = "7")]
    pub hobjminnbop: u32,
    #[prost(message, optional, tag = "15")]
    pub lbobpbhelgj: ::core::option::Option<Akmbehgcbhe>,
}
/// Obf: LMPBJLIBHCA
#[derive(proto_derive::CmdID)]
#[cmdid(5627)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueWorkbenchHandleFuncScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub mlkioodnllf: ::core::option::Option<Mhccpddkkda>,
    #[prost(uint32, tag = "15")]
    pub hobjminnbop: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Akmbehgcbhe {
    #[prost(oneof = "akmbehgcbhe::Item", tags = "4, 11, 9, 13, 5, 2, 10, 1, 3, 7")]
    pub item: ::core::option::Option<akmbehgcbhe::Item>,
}
/// Nested message and enum types in `AKMBEHGCBHE`.
pub mod akmbehgcbhe {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Item {
        #[prost(message, tag = "4")]
        Cggnfjcbbkm(super::Akkcdlmlkdf),
        #[prost(message, tag = "11")]
        Piclegggncf(super::Alnigmcjfdm),
        #[prost(message, tag = "9")]
        Eapmicbgoio(super::Neoccicfned),
        #[prost(message, tag = "13")]
        Nnchmgdgdfi(super::Kojkplcegen),
        #[prost(message, tag = "5")]
        Ndkhogemkja(super::Bhjhapdlpno),
        #[prost(message, tag = "2")]
        Jlfddmekljk(super::Jdooidbkcim),
        #[prost(message, tag = "10")]
        Lcbecpoogcl(super::Gjbblcipbhd),
        #[prost(message, tag = "1")]
        Ceajnliofhf(super::Lehglceljmf),
        #[prost(message, tag = "3")]
        Pgpaapopdoc(super::Fhjglopmfnc),
        #[prost(message, tag = "7")]
        Pmkehgbpcng(super::Jbncdffpdop),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Akkcdlmlkdf {
    #[prost(uint32, tag = "7")]
    pub hifgeekagla: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Alnigmcjfdm {
    #[prost(uint32, tag = "3")]
    pub pfmgabppdfl: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Neoccicfned {
    #[prost(uint32, tag = "2")]
    pub amohedgmlee: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kojkplcegen {
    #[prost(uint32, repeated, tag = "5")]
    pub nlklhflbjfm: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bhjhapdlpno {
    #[prost(uint32, tag = "9")]
    pub icaeccokajp: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jdooidbkcim {
    #[prost(uint32, tag = "6")]
    pub fpljoaacdgd: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gjbblcipbhd {
    #[prost(uint32, repeated, tag = "9")]
    pub clopkobkhma: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lehglceljmf {
    #[prost(uint32, repeated, tag = "15")]
    pub dnkccibpfgk: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fhjglopmfnc {
    #[prost(uint32, tag = "9")]
    pub unit_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbncdffpdop {
    #[prost(uint32, tag = "5")]
    pub scepter_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fkbfooefpae {
    #[prost(uint32, tag = "8")]
    pub infbhpgdlnd: u32,
    #[prost(enumeration = "Hgpokmdgknn", tag = "5")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ajakdcddamo {
    #[prost(uint32, tag = "12")]
    pub infbhpgdlnd: u32,
    #[prost(uint32, tag = "8")]
    pub eonlmdcbnme: u32,
    #[prost(enumeration = "Hhiclpljnco", tag = "10")]
    pub status: i32,
}
/// Obf: CKLNGGBJMHD
#[derive(proto_derive::CmdID)]
#[cmdid(5686)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueCollectionCsReq {}
/// Obf: CHLEKGNDAKJ
#[derive(proto_derive::CmdID)]
#[cmdid(5651)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueCollectionScRsp {
    #[prost(message, repeated, tag = "9")]
    pub pcpedflnbga: ::prost::alloc::vec::Vec<Fkbfooefpae>,
    #[prost(message, repeated, tag = "15")]
    pub pahpdbiacha: ::prost::alloc::vec::Vec<Ajakdcddamo>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: GFIACEHAOFI
#[derive(proto_derive::CmdID)]
#[cmdid(5693)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetRogueCollectionCsReq {
    #[prost(uint32, repeated, tag = "10")]
    pub opkmciffcch: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "2")]
    pub fpipmkcagpd: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Mhkmpgabbpl", repeated, tag = "15")]
    pub lghphfppjen: ::prost::alloc::vec::Vec<i32>,
}
/// Obf: MGEPEKLCAPM
#[derive(proto_derive::CmdID)]
#[cmdid(5672)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetRogueCollectionScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "11")]
    pub pcpedflnbga: ::prost::alloc::vec::Vec<Fkbfooefpae>,
    #[prost(message, repeated, tag = "4")]
    pub pahpdbiacha: ::prost::alloc::vec::Vec<Ajakdcddamo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbpflagfaij {
    #[prost(enumeration = "Ehcobodeeje", tag = "6")]
    pub status: i32,
    #[prost(uint32, tag = "14")]
    pub kbdfbginnbj: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmodinlgccb {
    #[prost(uint32, tag = "10")]
    pub eonlmdcbnme: u32,
    #[prost(enumeration = "Hhiclpljnco", tag = "6")]
    pub status: i32,
    #[prost(uint32, tag = "14")]
    pub kbdfbginnbj: u32,
}
/// Obf: GAFKHGLMDKJ
#[derive(proto_derive::CmdID)]
#[cmdid(5633)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueExhibitionCsReq {}
/// Obf: AKKEABKJKMK
#[derive(proto_derive::CmdID)]
#[cmdid(5602)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueExhibitionScRsp {
    #[prost(message, repeated, tag = "11")]
    pub mkcefancaig: ::prost::alloc::vec::Vec<Gbpflagfaij>,
    #[prost(message, repeated, tag = "1")]
    pub pjpjokkfnim: ::prost::alloc::vec::Vec<Dmodinlgccb>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: FGHCIEOMINE
#[derive(proto_derive::CmdID)]
#[cmdid(5631)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetRogueExhibitionCsReq {
    #[prost(uint32, repeated, tag = "15")]
    pub ldifbjdgffe: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Mhkmpgabbpl", repeated, tag = "4")]
    pub anekpinlkfj: ::prost::alloc::vec::Vec<i32>,
    #[prost(uint32, repeated, tag = "3")]
    pub heepoeolilo: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MBDACGMFDBA
#[derive(proto_derive::CmdID)]
#[cmdid(5698)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetRogueExhibitionScRsp {
    #[prost(message, repeated, tag = "11")]
    pub mkcefancaig: ::prost::alloc::vec::Vec<Gbpflagfaij>,
    #[prost(message, repeated, tag = "3")]
    pub pjpjokkfnim: ::prost::alloc::vec::Vec<Dmodinlgccb>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ehkegmcgcmh {
    #[prost(uint32, tag = "6")]
    pub deidchamdba: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pndnjbbdhdp {
    #[prost(uint32, tag = "12")]
    pub bimbfjgnpfb: u32,
    #[prost(uint32, tag = "2")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dopjlbmmphb {
    #[prost(uint32, tag = "12")]
    pub bimbfjgnpfb: u32,
    #[prost(bool, tag = "2")]
    pub kdgbjgopehi: bool,
    #[prost(oneof = "dopjlbmmphb::Oonijkkdllp", tags = "6, 13")]
    pub oonijkkdllp: ::core::option::Option<dopjlbmmphb::Oonijkkdllp>,
}
/// Nested message and enum types in `DOPJLBMMPHB`.
pub mod dopjlbmmphb {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Oonijkkdllp {
        #[prost(message, tag = "6")]
        Djnabioeenf(super::Ehkegmcgcmh),
        #[prost(message, tag = "13")]
        Imcajaogclg(super::Pndnjbbdhdp),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lopjejmofbg {
    #[prost(message, repeated, tag = "1")]
    pub bbpapddenhb: ::prost::alloc::vec::Vec<Dopjlbmmphb>,
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
    #[prost(bool, tag = "10")]
    pub enbijbfbnec: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eomodelgnhe {
    #[prost(uint32, tag = "7")]
    pub akkonobbjnk: u32,
    #[prost(uint32, tag = "5")]
    pub cur_times: u32,
    #[prost(message, repeated, tag = "13")]
    pub maze_group_list: ::prost::alloc::vec::Vec<Lopjejmofbg>,
    #[prost(message, optional, tag = "12")]
    pub kedcohkknak: ::core::option::Option<ItemCostList>,
    #[prost(bool, tag = "10")]
    pub loffeohfpfl: bool,
    #[prost(uint32, tag = "6")]
    pub ddjddbknpff: u32,
    #[prost(uint32, tag = "11")]
    pub hfbkbhjiegd: u32,
}
/// Obf: JLEMAPHNDDK
#[derive(proto_derive::CmdID)]
#[cmdid(5683)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueGetGambleInfoCsReq {
    #[prost(uint32, tag = "2")]
    pub prop_entity_id: u32,
}
/// Obf: KGMFOEAIEJA
#[derive(proto_derive::CmdID)]
#[cmdid(5632)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueGetGambleInfoScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub ffmifpfibdd: ::core::option::Option<Eomodelgnhe>,
}
/// Obf: PLNFKHDHDBP
#[derive(proto_derive::CmdID)]
#[cmdid(5635)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueDoGambleCsReq {
    #[prost(uint32, tag = "11")]
    pub prop_entity_id: u32,
}
/// Obf: CGDANCPMJAE
#[derive(proto_derive::CmdID)]
#[cmdid(5699)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueDoGambleScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub ffmifpfibdd: ::core::option::Option<Eomodelgnhe>,
    #[prost(uint32, tag = "8")]
    pub cfbglfojoda: u32,
    #[prost(uint32, tag = "6")]
    pub jpklmppogdh: u32,
}
/// Obf: KPPAPMOGFGI
#[derive(proto_derive::CmdID)]
#[cmdid(5643)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueDebugMessageScNotify {
    #[prost(enumeration = "Kcoalennljb", tag = "2")]
    pub slot: i32,
    #[prost(string, tag = "4")]
    pub lcpllgnjnaj: ::prost::alloc::string::String,
    #[prost(string, tag = "9")]
    pub hkligchhieg: ::prost::alloc::string::String,
}
/// Obf: NOLOILJJAKG
#[derive(proto_derive::CmdID)]
#[cmdid(5694)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueDebugReplaySaveScNotify {
    #[prost(string, tag = "12")]
    pub ijppknknlnl: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub jdedckkacgo: ::prost::alloc::string::String,
    #[prost(string, tag = "7")]
    pub nepgeejclah: ::prost::alloc::string::String,
    #[prost(string, tag = "11")]
    pub kfamackfhpm: ::prost::alloc::string::String,
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    #[prost(string, tag = "9")]
    pub jhjgfdmkihg: ::prost::alloc::string::String,
    #[prost(string, tag = "10")]
    pub dfpfalbjhjh: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jnfelckiocm {
    #[prost(enumeration = "Egpimdadfdi", tag = "15")]
    pub status: i32,
    #[prost(message, optional, tag = "7")]
    pub jlnilijomem: ::core::option::Option<Ajpfphkklpg>,
    #[prost(uint32, repeated, tag = "2")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub map_id: u32,
    #[prost(message, optional, tag = "8")]
    pub lchkkhngbgj: ::core::option::Option<Gckblhadlgn>,
    #[prost(uint32, tag = "14")]
    pub kjgimhfkgbn: u32,
    #[prost(uint32, tag = "11")]
    pub ffkpegnbhod: u32,
    #[prost(uint32, tag = "10")]
    pub gmpiiaeggek: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oendafiaecg {
    #[prost(uint32, tag = "2")]
    pub kkpkaljmamf: u32,
    #[prost(uint32, tag = "14")]
    pub jpkjkimnigg: u32,
    #[prost(uint32, tag = "8")]
    pub bpekcejpofe: u32,
    #[prost(bool, tag = "3")]
    pub ighlhohcckc: bool,
    #[prost(uint32, tag = "6")]
    pub aeieojgcmmo: u32,
    #[prost(uint32, tag = "12")]
    pub hdjcjbbknaf: u32,
    #[prost(uint32, tag = "10")]
    pub hdllmdnlokp: u32,
    #[prost(uint32, tag = "15")]
    pub battle_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Peodocnclnp {
    #[prost(message, optional, tag = "2")]
    pub bopaangkogh: ::core::option::Option<Oendafiaecg>,
    #[prost(message, optional, tag = "6")]
    pub aeloipgfodb: ::core::option::Option<Jnfelckiocm>,
    #[prost(uint32, tag = "3")]
    pub area_id: u32,
    #[prost(uint32, tag = "7")]
    pub module_id: u32,
}
/// Obf: JGHNPPCKJOE
#[derive(proto_derive::CmdID)]
#[cmdid(6009)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueEndlessActivityDataCsReq {}
/// Obf: ELKMJMAANCM
#[derive(proto_derive::CmdID)]
#[cmdid(6008)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueEndlessActivityDataScRsp {
    #[prost(uint32, repeated, tag = "4")]
    pub eahbikfallf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "8")]
    pub data: ::prost::alloc::vec::Vec<Peodocnclnp>,
    #[prost(uint32, tag = "5")]
    pub jchchlmdpen: u32,
    #[prost(uint32, tag = "13")]
    pub anameobfkgn: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bbnhemckdin {
    #[prost(uint32, tag = "10")]
    pub avatar_id: u32,
    #[prost(enumeration = "AvatarType", tag = "9")]
    pub avatar_type: i32,
}
/// Obf: MKCPGOPOHNH
#[derive(proto_derive::CmdID)]
#[cmdid(6001)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterRogueEndlessActivityStageCsReq {
    #[prost(message, repeated, tag = "15")]
    pub avatar_list: ::prost::alloc::vec::Vec<Bbnhemckdin>,
    #[prost(uint32, tag = "6")]
    pub mgigdcmleog: u32,
}
/// Obf: BNBIAMBDALL
#[derive(proto_derive::CmdID)]
#[cmdid(6006)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterRogueEndlessActivityStageScRsp {
    #[prost(message, optional, tag = "4")]
    pub bopaangkogh: ::core::option::Option<Oendafiaecg>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: CKKLIEMDEOF
#[derive(proto_derive::CmdID)]
#[cmdid(6005)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueEndlessActivityBattleEndScNotify {
    #[prost(message, optional, tag = "2")]
    pub bopaangkogh: ::core::option::Option<Oendafiaecg>,
}
/// Obf: BCNDKNLJOEP
#[derive(proto_derive::CmdID)]
#[cmdid(6007)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueEndlessActivityPointRewardCsReq {
    #[prost(bool, tag = "8")]
    pub mdhjkkbnmcf: bool,
    #[prost(uint32, tag = "5")]
    pub level: u32,
}
/// Obf: FMCEDJKIHNP
#[derive(proto_derive::CmdID)]
#[cmdid(6003)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueEndlessActivityPointRewardScRsp {
    #[prost(uint32, tag = "4")]
    pub jchchlmdpen: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub eahbikfallf: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "14")]
    pub level: u32,
    #[prost(message, optional, tag = "2")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(bool, tag = "11")]
    pub mdhjkkbnmcf: bool,
}
/// Obf: HLEKECOCGJI
#[derive(proto_derive::CmdID)]
#[cmdid(6002)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueEndlessActivityAllBonusRewardCsReq {}
/// Obf: JJPPDHEHFIM
#[derive(proto_derive::CmdID)]
#[cmdid(6010)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueEndlessActivityAllBonusRewardScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub jchchlmdpen: u32,
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, repeated, tag = "11")]
    pub eahbikfallf: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hfippdggjol {
    #[prost(message, optional, tag = "10")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(message, optional, tag = "13")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(message, optional, tag = "11")]
    pub map_rotation_data: ::core::option::Option<MapRotationData>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bpaifngedgh {
    #[prost(uint32, tag = "7")]
    pub ppjbgnbmkpm: u32,
    #[prost(enumeration = "Jlcbbkkgoej", tag = "1")]
    pub status: i32,
    #[prost(message, repeated, tag = "9")]
    pub mnfjeiininl: ::prost::alloc::vec::Vec<Oiikgfipmfg>,
    #[prost(uint32, tag = "8")]
    pub ogldnefkndo: u32,
    #[prost(uint32, tag = "4")]
    pub bhpgjcicmjm: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oiikgfipmfg {
    #[prost(enumeration = "Jiokhlhgeod", tag = "12")]
    pub status: i32,
    #[prost(uint32, tag = "1")]
    pub akdleblpbmd: u32,
    #[prost(uint32, tag = "2")]
    pub room_id: u32,
    #[prost(uint32, tag = "11")]
    pub eipnnejnnkj: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mjkkoneiobo {
    #[prost(uint32, tag = "10")]
    pub acgbelaigbo: u32,
    #[prost(uint32, tag = "14")]
    pub lfcdodfmhhn: u32,
    #[prost(enumeration = "Jmpphgigffi", tag = "13")]
    pub reason: i32,
    #[prost(enumeration = "Behfnmkdomk", tag = "5")]
    pub status: i32,
    #[prost(message, repeated, tag = "1")]
    pub ahooafgdehf: ::prost::alloc::vec::Vec<Bpaifngedgh>,
    #[prost(uint32, tag = "15")]
    pub bgokheibnkl: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jchcgfmgbak {
    #[prost(bool, tag = "12")]
    pub jfcnajmihci: bool,
    #[prost(message, repeated, tag = "7")]
    pub magic_list: ::prost::alloc::vec::Vec<Jfgflgblcaj>,
    #[prost(uint32, tag = "4")]
    pub nmjaibbldoc: u32,
    #[prost(message, repeated, tag = "15")]
    pub eldolkcakae: ::prost::alloc::vec::Vec<Jbihocioanh>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Llnhfmgmcmn {
    #[prost(uint32, repeated, tag = "3")]
    pub dimhpbcpnlc: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Klohnfgbnph {
    #[prost(uint32, tag = "12")]
    pub laeejiikmpi: u32,
}
/// Obf: ODFPBAAGAPO
#[derive(proto_derive::CmdID)]
#[cmdid(7701)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicStartCsReq {
    #[prost(uint32, tag = "8")]
    pub jeafpigjdol: u32,
    #[prost(uint32, tag = "2")]
    pub area_id: u32,
    #[prost(uint32, repeated, tag = "13")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "15")]
    pub ahiibhkdfjb: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aapkbpeggbh {
    #[prost(message, optional, tag = "6")]
    pub jibdgcfcdio: ::core::option::Option<Nkidddpflje>,
    #[prost(message, optional, tag = "10")]
    pub lineup: ::core::option::Option<Omdefbabnnb>,
    #[prost(message, optional, tag = "2")]
    pub jlfddmekljk: ::core::option::Option<Jchcgfmgbak>,
    #[prost(message, optional, tag = "7")]
    pub cacgekaankl: ::core::option::Option<Klohnfgbnph>,
    #[prost(message, optional, tag = "13")]
    pub kkobbenpfph: ::core::option::Option<Llnhfmgmcmn>,
    #[prost(message, optional, tag = "12")]
    pub item_value: ::core::option::Option<Findafkpoof>,
    #[prost(message, optional, tag = "14")]
    pub level: ::core::option::Option<Mjkkoneiobo>,
    #[prost(message, optional, tag = "5")]
    pub basic_info: ::core::option::Option<Mikfnbbopip>,
}
/// Obf: BEACKFEHJIJ
#[derive(proto_derive::CmdID)]
#[cmdid(7768)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicStartScRsp {
    #[prost(message, optional, tag = "2")]
    pub lcoclenjjai: ::core::option::Option<Hfippdggjol>,
    #[prost(message, optional, tag = "9")]
    pub bhmhlpchklg: ::core::option::Option<Aapkbpeggbh>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: NMAEBMBEGOL
#[derive(proto_derive::CmdID)]
#[cmdid(7758)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicEnterCsReq {}
/// Obf: FOJGIIBDBPJ
#[derive(proto_derive::CmdID)]
#[cmdid(7724)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicEnterScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub bhmhlpchklg: ::core::option::Option<Aapkbpeggbh>,
    #[prost(message, optional, tag = "6")]
    pub lcoclenjjai: ::core::option::Option<Hfippdggjol>,
}
/// Obf: JPNGLDLLJCP
#[derive(proto_derive::CmdID)]
#[cmdid(7730)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicLeaveCsReq {}
/// Obf: JOEGNNIECCN
#[derive(proto_derive::CmdID)]
#[cmdid(7756)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicLeaveScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub lcoclenjjai: ::core::option::Option<Hfippdggjol>,
}
/// Obf: BKFDIABHNDA
#[derive(proto_derive::CmdID)]
#[cmdid(7728)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicEnterRoomCsReq {
    #[prost(uint32, tag = "11")]
    pub fllablfbeik: u32,
    #[prost(uint32, tag = "12")]
    pub bhpgjcicmjm: u32,
}
/// Obf: ELMOIGEFFGB
#[derive(proto_derive::CmdID)]
#[cmdid(7711)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicEnterRoomScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub lcoclenjjai: ::core::option::Option<Hfippdggjol>,
}
/// Obf: OIOHPPMCMHE
#[derive(proto_derive::CmdID)]
#[cmdid(7705)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicEnterLayerCsReq {
    #[prost(uint32, tag = "8")]
    pub fllablfbeik: u32,
    #[prost(uint32, tag = "14")]
    pub lfcdodfmhhn: u32,
}
/// Obf: LDALHBMJLPD
#[derive(proto_derive::CmdID)]
#[cmdid(7714)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicEnterLayerScRsp {
    #[prost(message, optional, tag = "12")]
    pub lcoclenjjai: ::core::option::Option<Hfippdggjol>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: NMAAKGGGDDE
#[derive(proto_derive::CmdID)]
#[cmdid(7749)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicLevelInfoUpdateScNotify {
    #[prost(uint32, tag = "8")]
    pub acgbelaigbo: u32,
    #[prost(enumeration = "Jmpphgigffi", tag = "12")]
    pub reason: i32,
    #[prost(uint32, tag = "15")]
    pub lfcdodfmhhn: u32,
    #[prost(enumeration = "Behfnmkdomk", tag = "2")]
    pub status: i32,
    #[prost(message, repeated, tag = "4")]
    pub ahooafgdehf: ::prost::alloc::vec::Vec<Bpaifngedgh>,
    #[prost(uint32, tag = "1")]
    pub bgokheibnkl: u32,
}
/// Obf: BJMDBIIDBPH
#[derive(proto_derive::CmdID)]
#[cmdid(7722)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicAreaUpdateScNotify {
    #[prost(message, repeated, tag = "4")]
    pub jidjeamdkde: ::prost::alloc::vec::Vec<Pjebcbnpdic>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Caclanloolk {
    #[prost(bool, tag = "11")]
    pub fbjhgpdkbgm: bool,
    #[prost(uint32, tag = "14")]
    pub efkegdoajbh: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fjjdkdndfdj {
    #[prost(uint32, tag = "8")]
    pub kknghgbhcgg: u32,
    #[prost(bool, tag = "3")]
    pub fbjhgpdkbgm: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ognbigkhhbm {
    #[prost(message, optional, tag = "5")]
    pub gcglnkfdkkn: ::core::option::Option<Caclanloolk>,
    #[prost(message, optional, tag = "15")]
    pub bjlemfmcodd: ::core::option::Option<Fjjdkdndfdj>,
    #[prost(message, optional, tag = "7")]
    pub bhmhlpchklg: ::core::option::Option<Aapkbpeggbh>,
    #[prost(message, optional, tag = "3")]
    pub embagmmhipa: ::core::option::Option<LineupInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hcjgpmdgbjo {
    #[prost(message, repeated, tag = "9")]
    pub klmgaebeagk: ::prost::alloc::vec::Vec<Inpinnpihob>,
    #[prost(message, repeated, tag = "4")]
    pub epckcookclj: ::prost::alloc::vec::Vec<Obipoolidal>,
    #[prost(uint32, repeated, tag = "8")]
    pub blbfdcgceda: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "10")]
    pub mnkcjfelcng: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LPHOAKOKCGL
#[derive(proto_derive::CmdID)]
#[cmdid(7796)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicBattleFailSettleInfoScNotify {
    #[prost(message, optional, tag = "8")]
    pub njnjebodmnl: ::core::option::Option<Ognbigkhhbm>,
    #[prost(message, optional, tag = "1")]
    pub lcoclenjjai: ::core::option::Option<Hfippdggjol>,
}
/// Obf: PICMLKBCPGJ
#[derive(proto_derive::CmdID)]
#[cmdid(7797)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicSettleCsReq {}
/// Obf: MMFBKKPAIAK
#[derive(proto_derive::CmdID)]
#[cmdid(7776)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicSettleScRsp {
    #[prost(message, optional, tag = "12")]
    pub lcoclenjjai: ::core::option::Option<Hfippdggjol>,
    #[prost(message, optional, tag = "9")]
    pub gfonfdbfbna: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "5")]
    pub njnjebodmnl: ::core::option::Option<Ognbigkhhbm>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub mgcfoglkmch: ::core::option::Option<Hcjgpmdgbjo>,
}
/// Obf: MHPBBOBPBDK
#[derive(proto_derive::CmdID)]
#[cmdid(7723)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicReviveCostUpdateScNotify {
    #[prost(message, optional, tag = "5")]
    pub gficflciejj: ::core::option::Option<ItemCostList>,
}
/// Obf: PHCBEONFBHA
#[derive(proto_derive::CmdID)]
#[cmdid(7712)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicReviveAvatarCsReq {
    #[prost(uint32, repeated, tag = "8")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: CPMJBEHCKNB
#[derive(proto_derive::CmdID)]
#[cmdid(7717)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicReviveAvatarScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub gficflciejj: ::core::option::Option<ItemCostList>,
}
/// Obf: JCNFFMKKAKM
#[derive(proto_derive::CmdID)]
#[cmdid(7791)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicQueryCsReq {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Olfgbamefji {
    #[prost(message, repeated, tag = "332")]
    pub magic_list: ::prost::alloc::vec::Vec<Jfgflgblcaj>,
    #[prost(uint32, tag = "9")]
    pub nnnkjkclblo: u32,
    #[prost(uint32, tag = "8")]
    pub fonnghlgjfa: u32,
    #[prost(uint32, tag = "11")]
    pub njiempgeeog: u32,
    #[prost(uint32, repeated, tag = "1092")]
    pub jlhfojodokg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "14")]
    pub nmjaibbldoc: u32,
    #[prost(uint32, tag = "7")]
    pub blfdfmcffim: u32,
    #[prost(uint32, tag = "15")]
    pub hmkgbmidgop: u32,
    #[prost(uint32, tag = "2")]
    pub bgokheibnkl: u32,
    #[prost(uint32, repeated, tag = "127")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub ofbiahgopcm: u32,
    #[prost(uint32, tag = "10")]
    pub ipodnbljpol: u32,
    #[prost(message, repeated, tag = "622")]
    pub eldolkcakae: ::prost::alloc::vec::Vec<Jbihocioanh>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Koiicmieaef {
    #[prost(uint32, repeated, tag = "242")]
    pub dpplcddhbge: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pjebcbnpdic {
    #[prost(message, optional, tag = "10")]
    pub record_info: ::core::option::Option<Olfgbamefji>,
    #[prost(bool, tag = "3")]
    pub knbdpfeidnm: bool,
    #[prost(uint32, repeated, tag = "12")]
    pub npbnmmkhkop: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub area_id: u32,
    #[prost(bool, tag = "9")]
    pub is_taken_reward: bool,
    #[prost(uint32, tag = "14")]
    pub ifpoilopfag: u32,
    #[prost(message, optional, tag = "11")]
    pub cgaijcclkbh: ::core::option::Option<Koiicmieaef>,
    #[prost(bool, tag = "15")]
    pub biifelfegnk: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cchiedibofm {
    #[prost(bool, tag = "3")]
    pub knbdpfeidnm: bool,
    #[prost(uint32, tag = "6")]
    pub handcdpibld: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bgapfbpijhp {
    #[prost(uint32, repeated, tag = "11")]
    pub eacemapdndh: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pbbedpiipek {
    #[prost(message, repeated, tag = "8")]
    pub dimgdinccji: ::prost::alloc::vec::Vec<Cchiedibofm>,
    #[prost(message, repeated, tag = "11")]
    pub picfhpkdnel: ::prost::alloc::vec::Vec<Ooceoilkcfi>,
    #[prost(message, repeated, tag = "14")]
    pub magic_list: ::prost::alloc::vec::Vec<Eoejhkjllpk>,
    #[prost(message, optional, tag = "4")]
    pub story_buff_info: ::core::option::Option<Bgapfbpijhp>,
    #[prost(message, optional, tag = "15")]
    pub okakamonpfl: ::core::option::Option<Iejppfjfjlj>,
    #[prost(message, repeated, tag = "13")]
    pub jidjeamdkde: ::prost::alloc::vec::Vec<Pjebcbnpdic>,
    #[prost(uint32, repeated, tag = "6")]
    pub kglbndeaphf: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: JAFOJENLDJP
#[derive(proto_derive::CmdID)]
#[cmdid(7718)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicQueryScRsp {
    #[prost(message, optional, tag = "10")]
    pub bhmhlpchklg: ::core::option::Option<Aapkbpeggbh>,
    #[prost(message, optional, tag = "3")]
    pub lagbgldlgcb: ::core::option::Option<Pbbedpiipek>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: MDLNPIMICMD
#[derive(proto_derive::CmdID)]
#[cmdid(7750)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicScepterDressInUnitCsReq {
    #[prost(uint32, tag = "12")]
    pub elpinnnalbd: u32,
    #[prost(uint32, tag = "15")]
    pub scepter_id: u32,
    #[prost(uint32, tag = "6")]
    pub slot_id: u32,
}
/// Obf: AAGDKJFNAKG
#[derive(proto_derive::CmdID)]
#[cmdid(7748)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicScepterDressInUnitScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: CHJNEKCPADA
#[derive(proto_derive::CmdID)]
#[cmdid(7713)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicAutoDressInUnitCsReq {
    #[prost(uint32, repeated, tag = "6")]
    pub bhkankfpdcp: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DMKCMBHADOL
#[derive(proto_derive::CmdID)]
#[cmdid(7708)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicAutoDressInUnitScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: LIAJHMCJDLO
#[derive(proto_derive::CmdID)]
#[cmdid(7773)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicSetAutoDressInMagicUnitCsReq {
    #[prost(bool, tag = "4")]
    pub khdhahnnalm: bool,
}
/// Obf: NNJADFLFHEB
#[derive(proto_derive::CmdID)]
#[cmdid(7740)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicSetAutoDressInMagicUnitScRsp {
    #[prost(bool, tag = "1")]
    pub khdhahnnalm: bool,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: AMBAEBKGJIB
#[derive(proto_derive::CmdID)]
#[cmdid(7767)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicAutoDressInMagicUnitChangeScNotify {
    #[prost(bool, tag = "3")]
    pub khdhahnnalm: bool,
}
/// Obf: LLCCLFEGKHD
#[derive(proto_derive::CmdID)]
#[cmdid(7769)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicScepterTakeOffUnitCsReq {
    #[prost(uint32, tag = "4")]
    pub scepter_id: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub bhkankfpdcp: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FJKAPMKLJAE
#[derive(proto_derive::CmdID)]
#[cmdid(7720)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicScepterTakeOffUnitScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: IHBDBADPBEH
#[derive(proto_derive::CmdID)]
#[cmdid(7792)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicUnitComposeCsReq {
    #[prost(uint32, repeated, tag = "6")]
    pub bhkankfpdcp: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GPLNECHOOCF
#[derive(proto_derive::CmdID)]
#[cmdid(7770)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicUnitComposeScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: DDIECBDNCIJ
#[derive(proto_derive::CmdID)]
#[cmdid(7781)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicUnitReforgeCsReq {
    #[prost(uint32, repeated, tag = "13")]
    pub bhkankfpdcp: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: AJMPFOIJAML
#[derive(proto_derive::CmdID)]
#[cmdid(7738)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicUnitReforgeScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iejppfjfjlj {
    #[prost(message, optional, tag = "9")]
    pub talent_info: ::core::option::Option<RogueTalentInfoList>,
    #[prost(uint32, tag = "6")]
    pub cmadmlialjl: u32,
}
/// Obf: MKFONFJNKDB
#[derive(proto_derive::CmdID)]
#[cmdid(7719)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicGetTalentInfoCsReq {}
/// Obf: CMFPLABIBCD
#[derive(proto_derive::CmdID)]
#[cmdid(7782)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicGetTalentInfoScRsp {
    #[prost(message, optional, tag = "10")]
    pub okakamonpfl: ::core::option::Option<Iejppfjfjlj>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: HHMFEHGPHIL
#[derive(proto_derive::CmdID)]
#[cmdid(7759)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicEnableTalentCsReq {
    #[prost(uint32, tag = "15")]
    pub talent_id: u32,
}
/// Obf: BLCHCIIGNDB
#[derive(proto_derive::CmdID)]
#[cmdid(7741)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicEnableTalentScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub okakamonpfl: ::core::option::Option<Iejppfjfjlj>,
}
/// Obf: ECEGEHKCEBB
#[derive(proto_derive::CmdID)]
#[cmdid(7703)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicGetMiscRealTimeDataCsReq {}
/// Obf: FANODLFGDEG
#[derive(proto_derive::CmdID)]
#[cmdid(7757)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicGetMiscRealTimeDataScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub bjlemfmcodd: ::core::option::Option<Fjjdkdndfdj>,
    #[prost(message, optional, tag = "12")]
    pub gcglnkfdkkn: ::core::option::Option<Caclanloolk>,
}
/// Obf: GCIONHDOOCC
#[derive(proto_derive::CmdID)]
#[cmdid(7778)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicStoryInfoUpdateScNotify {
    #[prost(uint32, tag = "11")]
    pub mnbccbabcha: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eddhmigfdji {
    #[prost(bool, tag = "5")]
    pub pipmgacmjnn: bool,
    #[prost(uint32, tag = "11")]
    pub inbjppapcag: u32,
    #[prost(uint32, tag = "7")]
    pub mbgkckldhib: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Foiacpfkdhk {
    #[prost(bool, tag = "14")]
    pub pipmgacmjnn: bool,
    #[prost(uint32, tag = "12")]
    pub inbjppapcag: u32,
    #[prost(uint32, tag = "3")]
    pub mbgkckldhib: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub onnjgdjnflg: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pogcnjmngpi {
    #[prost(uint32, repeated, tag = "3")]
    pub onnjgdjnflg: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub inbjppapcag: u32,
    #[prost(bool, tag = "1")]
    pub pipmgacmjnn: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ainblbbfdbj {
    #[prost(uint32, tag = "3")]
    pub inbjppapcag: u32,
    #[prost(uint32, tag = "5")]
    pub nijagoajpem: u32,
    #[prost(bool, tag = "8")]
    pub pipmgacmjnn: bool,
    #[prost(uint32, repeated, tag = "2")]
    pub nhgojdodgma: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ajeeiakemip {
    #[prost(uint32, tag = "4")]
    pub cehfiilmjkm: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Khmjbjlobpg {
    #[prost(uint32, tag = "3")]
    pub cpocngekiib: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gfgdodhmbpk {
    #[prost(uint32, tag = "6")]
    pub kokpceamabc: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Npdipkhdcnf {
    #[prost(uint32, tag = "11")]
    pub inbjppapcag: u32,
    #[prost(uint32, tag = "4")]
    pub iigoemfhgll: u32,
    #[prost(bool, tag = "14")]
    pub pipmgacmjnn: bool,
    #[prost(uint32, repeated, tag = "10")]
    pub nhgojdodgma: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Egalagnaefb {
    #[prost(uint32, tag = "8")]
    pub gpdeiiioipn: u32,
    #[prost(uint32, tag = "7")]
    pub olgljhecdof: u32,
    #[prost(uint32, tag = "10")]
    pub gclebgddiip: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ndgljknkefk {
    #[prost(uint32, tag = "12")]
    pub ojeblmkkmgo: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Egfdajdihnj {
    #[prost(uint32, tag = "2")]
    pub item_id: u32,
    #[prost(uint32, tag = "7")]
    pub mbejblfhcbh: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pnikofbimjl {
    #[prost(uint32, tag = "1")]
    pub eoaefbknffe: u32,
    #[prost(uint32, tag = "7")]
    pub nejdmegnfgk: u32,
    #[prost(uint32, tag = "11")]
    pub num: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jjdkoeehbjo {
    #[prost(uint32, tag = "8")]
    pub ooofgdbldce: u32,
    #[prost(uint32, tag = "6")]
    pub num: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Okgmdmjhcmk {
    #[prost(uint32, tag = "5")]
    pub cehfiilmjkm: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cfkbhpnbcnb {
    #[prost(uint32, tag = "15")]
    pub mbgkckldhib: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bbbeoeoifjk {
    #[prost(uint32, repeated, tag = "3")]
    pub onnjgdjnflg: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "7")]
    pub pipmgacmjnn: bool,
    #[prost(uint32, tag = "15")]
    pub inbjppapcag: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ahpnapgpjeg {
    #[prost(uint32, tag = "13")]
    pub ojeblmkkmgo: u32,
    #[prost(uint32, tag = "1")]
    pub amojfmfeoge: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fpchmkkcgfa {
    #[prost(uint32, tag = "1")]
    pub affjhmjdibn: u32,
    #[prost(uint32, tag = "11")]
    pub bnckfbfmgmi: u32,
    #[prost(enumeration = "Njchljfiodm", tag = "7")]
    pub lghokgabgck: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ndfookghhop {
    #[prost(bool, tag = "7")]
    pub pipmgacmjnn: bool,
    #[prost(uint32, tag = "1")]
    pub inbjppapcag: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub cegckbndalf: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mdbjbiekkee {
    #[prost(uint32, tag = "8")]
    pub lipapomhmce: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Blcpnbikclp {
    #[prost(uint32, tag = "1")]
    pub count: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aekpjeldapd {
    #[prost(message, optional, tag = "12")]
    pub scepter: ::core::option::Option<Fpchmkkcgfa>,
    #[prost(enumeration = "Lgmdbcffjof", tag = "4")]
    pub hhmabjdimgm: i32,
    #[prost(uint64, tag = "6")]
    pub pkfcldincal: u64,
    #[prost(oneof = "aekpjeldapd::Buff", tags = "1642")]
    pub buff: ::core::option::Option<aekpjeldapd::Buff>,
}
/// Nested message and enum types in `AEKPJELDAPD`.
pub mod aekpjeldapd {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "1642")]
        Kbobeemcndd(super::Ndfookghhop),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eendhpkpflp {
    #[prost(message, repeated, tag = "5")]
    pub mebjclenpio: ::prost::alloc::vec::Vec<Aekpjeldapd>,
}
/// Obf: BMPIBDIIFBE
#[derive(proto_derive::CmdID)]
#[cmdid(5358)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueModifierAddNotify {
    #[prost(message, optional, tag = "1")]
    pub pdaampcelaa: ::core::option::Option<Aekpjeldapd>,
}
/// Obf: ICHALPIPMMJ
#[derive(proto_derive::CmdID)]
#[cmdid(5324)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueModifierSelectCellCsReq {
    #[prost(uint32, tag = "1")]
    pub hhcbjghkcpc: u32,
}
/// Obf: DEMFLHNIOGF
#[derive(proto_derive::CmdID)]
#[cmdid(5330)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueModifierSelectCellScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub hhcbjghkcpc: u32,
    #[prost(message, optional, tag = "9")]
    pub jdijkegcibp: ::core::option::Option<ItemList>,
}
/// Obf: JGDGHGEKGPG
#[derive(proto_derive::CmdID)]
#[cmdid(5376)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueModifierUpdateNotify {
    #[prost(message, optional, tag = "10")]
    pub pdaampcelaa: ::core::option::Option<Aekpjeldapd>,
}
/// Obf: HOCIFOBCEOM
#[derive(proto_derive::CmdID)]
#[cmdid(5328)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueModifierDelNotify {
    #[prost(uint64, tag = "13")]
    pub pkfcldincal: u64,
}
/// Obf: HCGBFLPOCPI
#[derive(proto_derive::CmdID)]
#[cmdid(5311)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueModifierStageStartNotify {
    #[prost(enumeration = "Lgmdbcffjof", tag = "10")]
    pub hhmabjdimgm: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fjemjbnajfj {
    #[prost(message, optional, tag = "2")]
    pub map_rotation_data: ::core::option::Option<MapRotationData>,
    #[prost(message, optional, tag = "7")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(message, optional, tag = "5")]
    pub scene: ::core::option::Option<SceneInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cfcdhlpoogc {
    #[prost(message, optional, tag = "12")]
    pub ikobkinkhcf: ::core::option::Option<Mikfnbbopip>,
    #[prost(oneof = "cfcdhlpoogc::Buff", tags = "298")]
    pub buff: ::core::option::Option<cfcdhlpoogc::Buff>,
}
/// Nested message and enum types in `CFCDHLPOOGC`.
pub mod cfcdhlpoogc {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "298")]
        Icffjlicimb(super::Lhadmkcgcko),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nkpkiaamodg {
    #[prost(uint32, tag = "13")]
    pub ldfehkdcnel: u32,
    #[prost(uint32, tag = "9")]
    pub jdbahpebfjc: u32,
    #[prost(bool, tag = "6")]
    pub fbjhgpdkbgm: bool,
    #[prost(uint32, tag = "7")]
    pub mnnkjpliilj: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nnijcdkhpkl {
    #[prost(bool, tag = "9")]
    pub fbjhgpdkbgm: bool,
    #[prost(uint32, tag = "10")]
    pub aiplflibpkj: u32,
    #[prost(uint32, tag = "5")]
    pub cdinhfhbmog: u32,
    #[prost(uint32, tag = "7")]
    pub jedjbedkcji: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gpnjmehndmn {
    #[prost(bool, tag = "9")]
    pub fbjhgpdkbgm: bool,
    #[prost(uint32, tag = "14")]
    pub hipjhpjolbe: u32,
    #[prost(uint32, tag = "1")]
    pub japdcmjpiej: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fbhnfjcnhml {
    #[prost(uint32, tag = "10")]
    pub japdcmjpiej: u32,
    #[prost(bool, tag = "1")]
    pub fbjhgpdkbgm: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bmnmbpnbbhm {
    #[prost(bool, tag = "14")]
    pub pgcbeoleioo: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhadmkcgcko {
    #[prost(message, optional, tag = "11")]
    pub jmidlldkjbi: ::core::option::Option<Cgjnhnmamdh>,
    #[prost(message, optional, tag = "5")]
    pub jibdgcfcdio: ::core::option::Option<Nkidddpflje>,
    #[prost(message, optional, tag = "14")]
    pub ijbphigkmhf: ::core::option::Option<Aggmhdjgfdi>,
    #[prost(message, optional, tag = "7")]
    pub lmpgbonbhgn: ::core::option::Option<Bmnmbpnbbhm>,
    #[prost(message, optional, tag = "6")]
    pub bdjebpnjelp: ::core::option::Option<Fbnjofcemil>,
    #[prost(message, optional, tag = "4")]
    pub lineup: ::core::option::Option<Omdefbabnnb>,
    #[prost(message, optional, tag = "3")]
    pub kkobbenpfph: ::core::option::Option<Fnijjhaenbl>,
    #[prost(message, optional, tag = "12")]
    pub hpdbjalemmo: ::core::option::Option<Kaajbaoakbo>,
    #[prost(message, optional, tag = "2")]
    pub level: ::core::option::Option<Gekleellcbf>,
    #[prost(message, optional, tag = "8")]
    pub lkkfhfdpfke: ::core::option::Option<Kcacnhcadec>,
    #[prost(message, optional, tag = "15")]
    pub item_value: ::core::option::Option<Findafkpoof>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gekleellcbf {
    #[prost(bool, tag = "2")]
    pub ejoijgclcjo: bool,
    #[prost(bool, tag = "12")]
    pub lgbohdicfpk: bool,
    #[prost(message, repeated, tag = "1")]
    pub ahooafgdehf: ::prost::alloc::vec::Vec<Babhbomomdf>,
    #[prost(enumeration = "Akkhkmecafl", tag = "7")]
    pub reason: i32,
    #[prost(uint32, tag = "15")]
    pub lfcdodfmhhn: u32,
    #[prost(enumeration = "Ogadimmljhn", tag = "3")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aggmhdjgfdi {
    #[prost(uint32, tag = "1")]
    pub klgmnchbicp: u32,
    #[prost(uint32, tag = "10")]
    pub ognhpkojhjp: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fnijjhaenbl {
    #[prost(uint32, repeated, tag = "9")]
    pub dimhpbcpnlc: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Babhbomomdf {
    #[prost(uint32, tag = "2")]
    pub ogldnefkndo: u32,
    #[prost(enumeration = "Odbnigdlncf", tag = "11")]
    pub status: i32,
    #[prost(uint32, tag = "15")]
    pub bhpgjcicmjm: u32,
    #[prost(uint32, tag = "7")]
    pub ppjbgnbmkpm: u32,
    #[prost(message, repeated, tag = "6")]
    pub mnfjeiininl: ::prost::alloc::vec::Vec<Lhomiedaoid>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhomiedaoid {
    #[prost(enumeration = "Lmiknfdlffo", tag = "8")]
    pub status: i32,
    #[prost(uint32, tag = "3")]
    pub akdleblpbmd: u32,
    #[prost(uint32, tag = "11")]
    pub room_id: u32,
    #[prost(uint32, tag = "7")]
    pub eipnnejnnkj: u32,
}
/// Obf: BENEIABJKJJ
#[derive(proto_derive::CmdID)]
#[cmdid(6011)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournStartCsReq {
    #[prost(bool, tag = "13")]
    pub ejoijgclcjo: bool,
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub area_id: u32,
    #[prost(bool, tag = "9")]
    pub lgbohdicfpk: bool,
}
/// Obf: JHDPEKDNLJA
#[derive(proto_derive::CmdID)]
#[cmdid(6068)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournStartScRsp {
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub bhmhlpchklg: ::core::option::Option<Cfcdhlpoogc>,
    #[prost(uint32, tag = "1")]
    pub khjcgnllfoh: u32,
    #[prost(message, optional, tag = "8")]
    pub lcoclenjjai: ::core::option::Option<Fjemjbnajfj>,
}
/// Obf: BGHMEOBMOLD
#[derive(proto_derive::CmdID)]
#[cmdid(6021)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnterCsReq {}
/// Obf: LIHHHJPDFJP
#[derive(proto_derive::CmdID)]
#[cmdid(6022)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnterScRsp {
    #[prost(message, optional, tag = "13")]
    pub lcoclenjjai: ::core::option::Option<Fjemjbnajfj>,
    #[prost(message, optional, tag = "7")]
    pub bhmhlpchklg: ::core::option::Option<Cfcdhlpoogc>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: EAKFLBEGFOC
#[derive(proto_derive::CmdID)]
#[cmdid(6083)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournLeaveCsReq {}
/// Obf: KLBFIAEDCKA
#[derive(proto_derive::CmdID)]
#[cmdid(6064)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournLeaveScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "12")]
    pub lcoclenjjai: ::core::option::Option<Fjemjbnajfj>,
}
/// Obf: PGAJDCGCLDK
#[derive(proto_derive::CmdID)]
#[cmdid(6070)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournSettleCsReq {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jhllljajkep {
    #[prost(message, optional, tag = "8")]
    pub embagmmhipa: ::core::option::Option<LineupInfo>,
    #[prost(message, optional, tag = "4")]
    pub clkhpondddo: ::core::option::Option<Kclchjmnpgl>,
    #[prost(message, optional, tag = "10")]
    pub bhmhlpchklg: ::core::option::Option<Cfcdhlpoogc>,
    #[prost(message, optional, tag = "15")]
    pub pfoepfphfnj: ::core::option::Option<Fbhnfjcnhml>,
    #[prost(message, optional, tag = "2")]
    pub cjcojamleel: ::core::option::Option<Nkpkiaamodg>,
    #[prost(message, optional, tag = "1")]
    pub gcglnkfdkkn: ::core::option::Option<Nnijcdkhpkl>,
    #[prost(message, optional, tag = "13")]
    pub kgciaiafibe: ::core::option::Option<Gpnjmehndmn>,
}
/// Obf: FOKBKLIAFOL
#[derive(proto_derive::CmdID)]
#[cmdid(6092)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournSettleScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub lcoclenjjai: ::core::option::Option<Fjemjbnajfj>,
    #[prost(message, optional, tag = "14")]
    pub njnjebodmnl: ::core::option::Option<Jhllljajkep>,
}
/// Obf: HCBPGMHLBPN
#[derive(proto_derive::CmdID)]
#[cmdid(6059)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnterRoomCsReq {
    #[prost(uint32, tag = "3")]
    pub fllablfbeik: u32,
    #[prost(uint32, tag = "10")]
    pub bhpgjcicmjm: u32,
}
/// Obf: CDGLINBMGNK
#[derive(proto_derive::CmdID)]
#[cmdid(6044)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnterRoomScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub lcoclenjjai: ::core::option::Option<Fjemjbnajfj>,
}
/// Obf: EHOIEFKOAGF
#[derive(proto_derive::CmdID)]
#[cmdid(6030)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnterLayerCsReq {
    #[prost(uint32, tag = "8")]
    pub lfcdodfmhhn: u32,
    #[prost(uint32, tag = "15")]
    pub fllablfbeik: u32,
}
/// Obf: JPAGIJLIDLH
#[derive(proto_derive::CmdID)]
#[cmdid(6090)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnterLayerScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "9")]
    pub lcoclenjjai: ::core::option::Option<Fjemjbnajfj>,
}
/// Obf: EDLKHKLMEFN
#[derive(proto_derive::CmdID)]
#[cmdid(6061)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournLevelInfoUpdateScNotify {
    #[prost(uint32, tag = "7")]
    pub lfcdodfmhhn: u32,
    #[prost(message, repeated, tag = "5")]
    pub ahooafgdehf: ::prost::alloc::vec::Vec<Babhbomomdf>,
    #[prost(enumeration = "Ogadimmljhn", tag = "12")]
    pub status: i32,
    #[prost(enumeration = "Akkhkmecafl", tag = "6")]
    pub reason: i32,
}
/// Obf: DHMMALPJOEO
#[derive(proto_derive::CmdID)]
#[cmdid(6034)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournTakeExpRewardCsReq {
    #[prost(uint32, tag = "5")]
    pub acgkfedndfh: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub lopmhjfbhim: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CMJJOJDPFCE
#[derive(proto_derive::CmdID)]
#[cmdid(6071)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournTakeExpRewardScRsp {
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub exp: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub ckbmgabeego: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PNDLKBFADJJ
#[derive(proto_derive::CmdID)]
#[cmdid(6078)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournExpNotify {
    #[prost(uint32, tag = "14")]
    pub exp: u32,
}
/// Obf: AHAAMLBKFHF
#[derive(proto_derive::CmdID)]
#[cmdid(6069)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournQueryCsReq {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Olkfphpbpdl {
    #[prost(uint32, repeated, tag = "1")]
    pub hdmdaodjacb: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "8")]
    pub knbdpfeidnm: bool,
    #[prost(uint32, tag = "7")]
    pub area_id: u32,
    #[prost(bool, tag = "2")]
    pub gmopljjgbpo: bool,
    #[prost(bool, tag = "14")]
    pub biifelfegnk: bool,
    #[prost(bool, tag = "13")]
    pub is_taken_reward: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhaeabojgop {
    #[prost(bool, tag = "14")]
    pub gpodhhaohnp: bool,
    #[prost(uint32, tag = "8")]
    pub lfpccpoljpc: u32,
    #[prost(uint32, tag = "5")]
    pub khjcgnllfoh: u32,
    #[prost(int64, tag = "12")]
    pub end_time: i64,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ndnkbaggdhd {
    #[prost(uint32, tag = "2")]
    pub exp: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub ckbmgabeego: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Boicekfmcic {
    #[prost(uint32, tag = "7")]
    pub bjceklknlcd: u32,
    #[prost(message, optional, tag = "5")]
    pub talent_info: ::core::option::Option<RogueTalentInfoList>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jigdnfdnojd {
    #[prost(uint32, tag = "5")]
    pub handcdpibld: u32,
    #[prost(bool, tag = "11")]
    pub knbdpfeidnm: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pmbnjoonhpa {
    #[prost(uint32, tag = "8")]
    pub kaeojcobihc: u32,
    #[prost(uint32, tag = "15")]
    pub acgkfedndfh: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kgdofadndaj {
    #[prost(uint32, repeated, tag = "4")]
    pub kcdlmnincge: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub boflhofkacn: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub bkgjpcclidn: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "15")]
    pub ppconkkpipm: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "6")]
    pub idoecnpkgce: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "13")]
    pub fajcnmekknn: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "7")]
    pub nffbjbbcdmg: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kclchjmnpgl {
    #[prost(uint32, tag = "15")]
    pub ngiambeihpi: u32,
    #[prost(uint32, tag = "9")]
    pub ofgbjcccike: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Chgggegamdi {
    #[prost(message, optional, tag = "9")]
    pub jdbmbikpbjb: ::core::option::Option<Lhaeabojgop>,
    #[prost(message, repeated, tag = "6")]
    pub gmopekcolbe: ::prost::alloc::vec::Vec<Cjpkpjfjkdg>,
    #[prost(message, optional, tag = "13")]
    pub hndbkklomlc: ::core::option::Option<Ndnkbaggdhd>,
    #[prost(message, optional, tag = "1")]
    pub ehobbjmedee: ::core::option::Option<Boicekfmcic>,
    #[prost(message, optional, tag = "11")]
    pub lkcefcljcbm: ::core::option::Option<Kclchjmnpgl>,
    #[prost(message, repeated, tag = "5")]
    pub dimgdinccji: ::prost::alloc::vec::Vec<Jigdnfdnojd>,
    #[prost(message, repeated, tag = "4")]
    pub jidjeamdkde: ::prost::alloc::vec::Vec<Olkfphpbpdl>,
    #[prost(message, optional, tag = "12")]
    pub llaoogchhdk: ::core::option::Option<Gigpoffbieo>,
    #[prost(message, optional, tag = "2")]
    pub iakcmplpoee: ::core::option::Option<Kgdofadndaj>,
    #[prost(message, optional, tag = "15")]
    pub fejgmnnfflg: ::core::option::Option<Pmbnjoonhpa>,
}
/// Obf: EKMABILMFGP
#[derive(proto_derive::CmdID)]
#[cmdid(6082)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournQueryScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub bhmhlpchklg: ::core::option::Option<Cfcdhlpoogc>,
    #[prost(message, optional, tag = "10")]
    pub lagbgldlgcb: ::core::option::Option<Chgggegamdi>,
}
/// Obf: IGGANJCLBGC
#[derive(proto_derive::CmdID)]
#[cmdid(6051)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournAreaUpdateScNotify {
    #[prost(message, repeated, tag = "2")]
    pub jidjeamdkde: ::prost::alloc::vec::Vec<Olkfphpbpdl>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjpkpjfjkdg {
    #[prost(message, optional, tag = "15")]
    pub fejgmnnfflg: ::core::option::Option<Pmbnjoonhpa>,
    #[prost(string, tag = "2")]
    pub name: ::prost::alloc::string::String,
    #[prost(int64, tag = "5")]
    pub end_time: i64,
    #[prost(uint32, tag = "6")]
    pub khncedgfpgl: u32,
    #[prost(int64, tag = "13")]
    pub time: i64,
    #[prost(message, optional, tag = "14")]
    pub bhmhlpchklg: ::core::option::Option<Cfcdhlpoogc>,
    #[prost(message, optional, tag = "12")]
    pub data: ::core::option::Option<Bkffnnaiodc>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bkffnnaiodc {
    #[prost(message, repeated, tag = "8")]
    pub ckgfonmaeko: ::prost::alloc::vec::Vec<Gjoibmfanhl>,
    #[prost(message, repeated, tag = "15")]
    pub buff_list: ::prost::alloc::vec::Vec<Ffamnkoaihf>,
    #[prost(uint32, tag = "14")]
    pub item_value: u32,
}
/// Obf: JAIKOKAHCLG
#[derive(proto_derive::CmdID)]
#[cmdid(6029)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetAllArchiveCsReq {}
/// Obf: ILMJEOBPDLK
#[derive(proto_derive::CmdID)]
#[cmdid(6040)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetAllArchiveScRsp {
    #[prost(message, repeated, tag = "2")]
    pub edjpodpnmed: ::prost::alloc::vec::Vec<Cjpkpjfjkdg>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: JHENEDOMODK
#[derive(proto_derive::CmdID)]
#[cmdid(6032)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournDeleteArchiveCsReq {
    #[prost(uint32, tag = "14")]
    pub khncedgfpgl: u32,
}
/// Obf: EABBDEIEDCB
#[derive(proto_derive::CmdID)]
#[cmdid(6033)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournDeleteArchiveScRsp {
    #[prost(uint32, tag = "8")]
    pub khncedgfpgl: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: ODHIICJDKOL
#[derive(proto_derive::CmdID)]
#[cmdid(6077)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournRenameArchiveCsReq {
    #[prost(uint32, tag = "14")]
    pub khncedgfpgl: u32,
    #[prost(string, tag = "13")]
    pub name: ::prost::alloc::string::String,
}
/// Obf: KLCPHCOMDPF
#[derive(proto_derive::CmdID)]
#[cmdid(6013)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournRenameArchiveScRsp {
    #[prost(uint32, tag = "12")]
    pub khncedgfpgl: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(string, tag = "7")]
    pub name: ::prost::alloc::string::String,
}
/// Obf: IOMGAOKICLC
#[derive(proto_derive::CmdID)]
#[cmdid(6080)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournClearArchiveNameScNotify {
    #[prost(uint32, tag = "15")]
    pub khncedgfpgl: u32,
}
/// Obf: OCKCOECJEJG
#[derive(proto_derive::CmdID)]
#[cmdid(6096)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetPermanentTalentInfoCsReq {}
/// Obf: NPEGPLAKNPO
#[derive(proto_derive::CmdID)]
#[cmdid(6057)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetPermanentTalentInfoScRsp {
    #[prost(message, optional, tag = "10")]
    pub ehobbjmedee: ::core::option::Option<Boicekfmcic>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: OPDIFHCIMBE
#[derive(proto_derive::CmdID)]
#[cmdid(6074)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnablePermanentTalentCsReq {
    #[prost(uint32, tag = "4")]
    pub talent_id: u32,
}
/// Obf: IHGOFIKKCCE
#[derive(proto_derive::CmdID)]
#[cmdid(6088)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnablePermanentTalentScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "2")]
    pub ehobbjmedee: ::core::option::Option<Boicekfmcic>,
}
/// Obf: PHGKPBPDDAD
#[derive(proto_derive::CmdID)]
#[cmdid(6065)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournResetPermanentTalentCsReq {}
/// Obf: GCEPBOAKGCI
#[derive(proto_derive::CmdID)]
#[cmdid(6058)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournResetPermanentTalentScRsp {
    #[prost(message, optional, tag = "11")]
    pub ehobbjmedee: ::core::option::Option<Boicekfmcic>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: GFHOMFLLKND
#[derive(proto_derive::CmdID)]
#[cmdid(6048)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnterRogueCocoonSceneCsReq {
    #[prost(message, repeated, tag = "14")]
    pub avatar_list: ::prost::alloc::vec::Vec<Phhkombgppk>,
    #[prost(bool, tag = "1")]
    pub eiddmghlpbp: bool,
    #[prost(uint32, tag = "15")]
    pub pilmkhckmed: u32,
    #[prost(uint32, tag = "6")]
    pub ibgnlboebcg: u32,
    #[prost(uint32, tag = "10")]
    pub pbalfienefo: u32,
}
/// Obf: NDMMGDAGIAI
#[derive(proto_derive::CmdID)]
#[cmdid(6023)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnterRogueCocoonSceneScRsp {
    #[prost(message, optional, tag = "8")]
    pub lcoclenjjai: ::core::option::Option<Fjemjbnajfj>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: DCPEPJDFJGM
#[derive(proto_derive::CmdID)]
#[cmdid(6018)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournLeaveRogueCocoonSceneCsReq {}
/// Obf: MCCGKGLHEJE
#[derive(proto_derive::CmdID)]
#[cmdid(6049)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournLeaveRogueCocoonSceneScRsp {
    #[prost(message, optional, tag = "7")]
    pub lcoclenjjai: ::core::option::Option<Fjemjbnajfj>,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: GOHLBLIADDP
#[derive(proto_derive::CmdID)]
#[cmdid(6020)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournReEnterRogueCocoonStageCsReq {
    #[prost(bool, tag = "2")]
    pub eiddmghlpbp: bool,
}
/// Obf: MAGDGKDOGGF
#[derive(proto_derive::CmdID)]
#[cmdid(6039)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournReEnterRogueCocoonStageScRsp {
    #[prost(message, optional, tag = "7")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: BFIHHAAKHKA
#[derive(proto_derive::CmdID)]
#[cmdid(6016)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetCurRogueCocoonInfoCsReq {}
/// Obf: GJKFFJJHCKF
#[derive(proto_derive::CmdID)]
#[cmdid(6067)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetCurRogueCocoonInfoScRsp {
    #[prost(uint32, tag = "8")]
    pub pbalfienefo: u32,
    #[prost(uint32, tag = "13")]
    pub ibgnlboebcg: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub pilmkhckmed: u32,
}
/// Obf: KDIMMBPEHIP
#[derive(proto_derive::CmdID)]
#[cmdid(6014)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournDifficultyCompNotify {
    #[prost(uint32, repeated, tag = "11")]
    pub gggfigcpklf: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jniaogiiogb {
    #[prost(uint32, tag = "5")]
    pub deidchamdba: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jcccacnfdjg {
    #[prost(uint32, tag = "12")]
    pub deidchamdba: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jfihgdpoiid {
    #[prost(uint32, tag = "3")]
    pub buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ecgochpmcpd {
    #[prost(uint32, tag = "9")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Apfjlofinfj {
    #[prost(uint32, tag = "13")]
    pub formula_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fidfnncjaje {
    #[prost(uint32, tag = "6")]
    pub level: u32,
    #[prost(uint32, tag = "11")]
    pub ijppknknlnl: u32,
    #[prost(uint32, tag = "14")]
    pub dchpogobdko: u32,
    #[prost(uint32, tag = "3")]
    pub iboekjbomog: u32,
}
/// Obf: IDJEPIBJFDF
#[derive(proto_derive::CmdID)]
#[cmdid(6025)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournHandBookNotify {
    #[prost(
        oneof = "rogue_tourn_hand_book_notify::Buff",
        tags = "10, 4, 15, 11, 13, 12"
    )]
    pub buff: ::core::option::Option<rogue_tourn_hand_book_notify::Buff>,
}
/// Nested message and enum types in `RogueTournHandBookNotify`.
pub mod rogue_tourn_hand_book_notify {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "10")]
        Iihopmeeaja(super::Jniaogiiogb),
        #[prost(message, tag = "4")]
        Gpolbdgoood(super::Jcccacnfdjg),
        #[prost(message, tag = "15")]
        Lkkfhfdpfke(super::Jfihgdpoiid),
        #[prost(message, tag = "11")]
        Nfldodiabcl(super::Ecgochpmcpd),
        #[prost(message, tag = "13")]
        Hpdbjalemmo(super::Apfjlofinfj),
        #[prost(message, tag = "12")]
        Jmidlldkjbi(super::Fidfnncjaje),
    }
}
/// Obf: HBBPLJNFJOE
#[derive(proto_derive::CmdID)]
#[cmdid(6060)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetSettleInfoCsReq {
    #[prost(uint32, tag = "15")]
    pub area_id: u32,
}
/// Obf: MBKBNHIHPHH
#[derive(proto_derive::CmdID)]
#[cmdid(6091)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetSettleInfoScRsp {
    #[prost(message, optional, tag = "10")]
    pub njnjebodmnl: ::core::option::Option<Jhllljajkep>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: LFEGHEBNLID
#[derive(proto_derive::CmdID)]
#[cmdid(6086)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournConfirmSettleCsReq {
    #[prost(uint32, tag = "15")]
    pub khncedgfpgl: u32,
    #[prost(string, tag = "14")]
    pub name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "10")]
    pub area_id: u32,
}
/// Obf: KNFNPCHJNEA
#[derive(proto_derive::CmdID)]
#[cmdid(6073)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournConfirmSettleScRsp {
    #[prost(message, optional, tag = "9")]
    pub ohhjkgfofhb: ::core::option::Option<Cjpkpjfjkdg>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "2")]
    pub gfonfdbfbna: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "10")]
    pub lcoclenjjai: ::core::option::Option<Fjemjbnajfj>,
    #[prost(message, optional, tag = "12")]
    pub jplaapjccbh: ::core::option::Option<ItemList>,
}
/// Obf: AAHKKCDIDDL
#[derive(proto_derive::CmdID)]
#[cmdid(6017)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournWeekChallengeUpdateScNotify {
    #[prost(message, optional, tag = "11")]
    pub jdbmbikpbjb: ::core::option::Option<Lhaeabojgop>,
}
/// Obf: MKGHIJOGPEJ
#[derive(proto_derive::CmdID)]
#[cmdid(6089)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetMiscRealTimeDataCsReq {}
/// Obf: FGPHEAEKDFK
#[derive(proto_derive::CmdID)]
#[cmdid(6095)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetMiscRealTimeDataScRsp {
    #[prost(message, optional, tag = "5")]
    pub kgciaiafibe: ::core::option::Option<Gpnjmehndmn>,
    #[prost(message, optional, tag = "15")]
    pub pfoepfphfnj: ::core::option::Option<Fbhnfjcnhml>,
    #[prost(message, optional, tag = "4")]
    pub cjcojamleel: ::core::option::Option<Nkpkiaamodg>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "12")]
    pub gcglnkfdkkn: ::core::option::Option<Nnijcdkhpkl>,
    #[prost(message, optional, tag = "2")]
    pub clkhpondddo: ::core::option::Option<Kclchjmnpgl>,
}
/// Obf: DANDBOKPCOD
#[derive(proto_derive::CmdID)]
#[cmdid(6075)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetArchiveRepositoryCsReq {}
/// Obf: KHCPHANCILB
#[derive(proto_derive::CmdID)]
#[cmdid(6062)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetArchiveRepositoryScRsp {
    #[prost(uint32, repeated, tag = "3")]
    pub lnejmjbfllh: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "15")]
    pub hkdoclopkoh: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: NOGKPEIBCGP
#[derive(proto_derive::CmdID)]
#[cmdid(6066)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournReviveCostUpdateScNotify {
    #[prost(message, optional, tag = "11")]
    pub gficflciejj: ::core::option::Option<ItemCostList>,
}
/// Obf: KGNIIBGNPNC
#[derive(proto_derive::CmdID)]
#[cmdid(6050)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournReviveAvatarCsReq {
    #[prost(uint32, repeated, tag = "13")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: LHPBCLDIOCF
#[derive(proto_derive::CmdID)]
#[cmdid(6038)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournReviveAvatarScRsp {
    #[prost(message, optional, tag = "8")]
    pub gficflciejj: ::core::option::Option<ItemCostList>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: FHOCCHFLAFE
#[derive(proto_derive::CmdID)]
#[cmdid(6087)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournBattleFailSettleInfoScNotify {
    #[prost(message, optional, tag = "2")]
    pub lcoclenjjai: ::core::option::Option<Fjemjbnajfj>,
    #[prost(message, optional, tag = "6")]
    pub njnjebodmnl: ::core::option::Option<Jhllljajkep>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gigpoffbieo {
    #[prost(message, optional, tag = "8")]
    pub talent_info: ::core::option::Option<RogueTalentInfoList>,
    #[prost(uint32, tag = "9")]
    pub cmoghiandfl: u32,
}
/// Obf: NKNJFCGHEIF
#[derive(proto_derive::CmdID)]
#[cmdid(6028)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetSeasonTalentInfoCsReq {}
/// Obf: ACNOIBHNLCD
#[derive(proto_derive::CmdID)]
#[cmdid(6079)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetSeasonTalentInfoScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub llaoogchhdk: ::core::option::Option<Gigpoffbieo>,
}
/// Obf: LBCCBGPPNND
#[derive(proto_derive::CmdID)]
#[cmdid(6015)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnableSeasonTalentCsReq {
    #[prost(uint32, tag = "4")]
    pub talent_id: u32,
}
/// Obf: CAAKGIBCGJF
#[derive(proto_derive::CmdID)]
#[cmdid(6027)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnableSeasonTalentScRsp {
    #[prost(message, optional, tag = "14")]
    pub llaoogchhdk: ::core::option::Option<Gigpoffbieo>,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: PALMBOJAJCE
#[derive(proto_derive::CmdID)]
#[cmdid(6024)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournTitanUpdateTitanBlessProgressScNotify {
    #[prost(uint32, tag = "5")]
    pub ldfgifdfpcf: u32,
}
/// Obf: AOMFJFLCDON
#[derive(proto_derive::CmdID)]
#[cmdid(6917)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRollShopInfoCsReq {
    #[prost(uint32, tag = "9")]
    pub roll_shop_id: u32,
}
/// Obf: PGAFADIAONA
#[derive(proto_derive::CmdID)]
#[cmdid(6908)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRollShopInfoScRsp {
    #[prost(uint32, tag = "9")]
    pub roll_shop_id: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub bchaohddila: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub gacha_random: u32,
}
/// Obf: DFAGJNNKKDM
#[derive(proto_derive::CmdID)]
#[cmdid(6912)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DoGachaInRollShopCsReq {
    #[prost(uint32, tag = "9")]
    pub gacha_random: u32,
    #[prost(uint32, tag = "11")]
    pub roll_shop_id: u32,
    #[prost(uint32, tag = "7")]
    pub ifngnhhcngl: u32,
}
/// Obf: AHBFBJKMOCO
#[derive(proto_derive::CmdID)]
#[cmdid(6902)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DoGachaInRollShopScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "13")]
    pub ordering_index: u32,
    #[prost(uint32, tag = "8")]
    pub penilhglhhm: u32,
    #[prost(uint32, tag = "3")]
    pub roll_shop_id: u32,
}
/// Obf: KJOEHGLJEPA
#[derive(proto_derive::CmdID)]
#[cmdid(6904)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRollShopRewardCsReq {
    #[prost(uint32, tag = "4")]
    pub roll_shop_id: u32,
}
/// Obf: TakeRollShopRewardScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(6901)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRollShopRewardScRsp {
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "14")]
    pub group_type: u32,
    #[prost(uint32, tag = "1")]
    pub roll_shop_id: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneActorInfo {
    #[prost(uint32, tag = "6")]
    pub uid: u32,
    #[prost(enumeration = "AvatarType", tag = "2")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "13")]
    pub map_layer: u32,
    #[prost(uint32, tag = "5")]
    pub base_avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eehijpmfiin {
    #[prost(uint32, tag = "4")]
    pub level: u32,
    #[prost(uint32, tag = "2")]
    pub ehieoodecmi: u32,
    #[prost(uint32, tag = "14")]
    pub kpieaikhchd: u32,
    #[prost(uint32, tag = "9")]
    pub edcnkkmgpco: u32,
    #[prost(uint32, tag = "10")]
    pub dneampllfme: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Edbjjknjpfm {
    #[prost(oneof = "edbjjknjpfm::Buff", tags = "10")]
    pub buff: ::core::option::Option<edbjjknjpfm::Buff>,
}
/// Nested message and enum types in `EDBJJKNJPFM`.
pub mod edbjjknjpfm {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "10")]
        RogueInfo(super::Eehijpmfiin),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneNpcMonsterInfo {
    #[prost(uint32, tag = "6")]
    pub monster_id: u32,
    #[prost(message, optional, tag = "1")]
    pub extra_info: ::core::option::Option<Edbjjknjpfm>,
    #[prost(uint32, tag = "15")]
    pub event_id: u32,
    #[prost(bool, tag = "13")]
    pub idpjidnlehh: bool,
    #[prost(bool, tag = "2")]
    pub mpfedfbkkdf: bool,
    #[prost(uint32, tag = "9")]
    pub world_level: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NpcDialogueEventParam {
    #[prost(uint32, tag = "11")]
    pub rogue_dialogue_event_id: u32,
    #[prost(uint32, tag = "14")]
    pub arg_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NpcRogueGameInfo {
    #[prost(message, repeated, tag = "9")]
    pub dialogue_event_param_list: ::prost::alloc::vec::Vec<NpcDialogueEventParam>,
    #[prost(bool, tag = "5")]
    pub eccdglbkeje: bool,
    #[prost(bool, tag = "2")]
    pub lomilomcaom: bool,
    #[prost(uint32, tag = "8")]
    pub event_unique_id: u32,
    #[prost(uint32, tag = "12")]
    pub kapmkjghiei: u32,
    #[prost(uint32, tag = "7")]
    pub onlhfcoglal: u32,
    #[prost(uint32, tag = "14")]
    pub cdjecokfiof: u32,
    #[prost(bool, tag = "15")]
    pub jenfhombkke: bool,
    #[prost(map = "uint32, uint32", tag = "10")]
    pub kjcbneindhl: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Clfacbcgifl {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kkfkkppldai {
    #[prost(uint32, tag = "5")]
    pub visitor_id: u32,
    #[prost(uint32, tag = "9")]
    pub amlkpohdeln: u32,
    #[prost(bool, tag = "15")]
    pub iagodfdjaik: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NpcExtraInfo {
    #[prost(oneof = "npc_extra_info::Buff", tags = "14, 12, 6")]
    pub buff: ::core::option::Option<npc_extra_info::Buff>,
}
/// Nested message and enum types in `NpcExtraInfo`.
pub mod npc_extra_info {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "14")]
        RogueInfo(super::NpcRogueGameInfo),
        #[prost(message, tag = "12")]
        Jkjopmefcbo(super::Kkfkkppldai),
        #[prost(message, tag = "6")]
        Pnbjjbjnmgl(super::Clfacbcgifl),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneNpcInfo {
    #[prost(message, optional, tag = "13")]
    pub extra_info: ::core::option::Option<NpcExtraInfo>,
    #[prost(uint32, tag = "3")]
    pub npc_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PropRogueInfo {
    #[prost(uint32, tag = "13")]
    pub bbnfiifmgak: u32,
    #[prost(uint32, tag = "2")]
    pub ccdepapjnko: u32,
    #[prost(uint32, tag = "15")]
    pub site_id: u32,
    #[prost(uint32, tag = "5")]
    pub room_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PropAeonInfo {
    #[prost(uint32, tag = "1")]
    pub dialogue_group_id: u32,
    #[prost(uint32, tag = "12")]
    pub add_exp: u32,
    #[prost(uint32, tag = "6")]
    pub aeon_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aoiheklndid {
    #[prost(bool, tag = "3")]
    pub algafomniia: bool,
    #[prost(bool, tag = "13")]
    pub akcghbfgbcc: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hdocjdhlapd {
    #[prost(uint32, tag = "13")]
    pub eipnnejnnkj: u32,
    #[prost(uint32, tag = "1")]
    pub nbocipljmhi: u32,
    #[prost(bool, tag = "2")]
    pub pjdnhbhddha: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jeghkicdaoo {
    #[prost(bool, tag = "12")]
    pub pjdnhbhddha: bool,
    #[prost(uint32, tag = "11")]
    pub nbocipljmhi: u32,
    #[prost(uint32, tag = "13")]
    pub eipnnejnnkj: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Akmciglbjad {
    #[prost(uint32, tag = "10")]
    pub hobjminnbop: u32,
    #[prost(bool, tag = "15")]
    pub gldjnhiggje: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eekihhefaic {
    #[prost(uint32, tag = "7")]
    pub pmjaippjfkc: u32,
    #[prost(message, repeated, tag = "15")]
    pub gnoncmjmcbf: ::prost::alloc::vec::Vec<Akmciglbjad>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eigoiecdmna {
    #[prost(message, optional, tag = "7")]
    pub ffmifpfibdd: ::core::option::Option<Eomodelgnhe>,
    #[prost(uint32, tag = "4")]
    pub mgdmhlgjhoc: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ojckhbbbfef {
    #[prost(uint32, tag = "10")]
    pub kigaehdgklm: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lnojkicccme {
    #[prost(bytes = "vec", tag = "11")]
    pub ddcjbfloame: ::prost::alloc::vec::Vec<u8>,
    #[prost(bool, tag = "15")]
    pub mbankgmdfmj: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PropExtraInfo {
    #[prost(message, optional, tag = "1")]
    pub timeline_info: ::core::option::Option<Lnojkicccme>,
    #[prost(oneof = "prop_extra_info::InfoCase", tags = "4, 13, 8, 2, 3, 14, 12, 10")]
    pub info_case: ::core::option::Option<prop_extra_info::InfoCase>,
}
/// Nested message and enum types in `PropExtraInfo`.
pub mod prop_extra_info {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum InfoCase {
        #[prost(message, tag = "4")]
        RogueInfo(super::PropRogueInfo),
        #[prost(message, tag = "13")]
        AeonInfo(super::PropAeonInfo),
        #[prost(message, tag = "8")]
        ChessRogueInfo(super::Aoiheklndid),
        #[prost(message, tag = "2")]
        RogueTournDoorInfo(super::Hdocjdhlapd),
        #[prost(message, tag = "3")]
        RogueTournWorkbenchInfo(super::Eekihhefaic),
        #[prost(message, tag = "14")]
        RogueGambleMachineInfo(super::Eigoiecdmna),
        #[prost(message, tag = "12")]
        RogueCurseChestInfo(super::Ojckhbbbfef),
        #[prost(message, tag = "10")]
        RogueMagicDoorInfo(super::Jeghkicdaoo),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScenePropInfo {
    #[prost(uint64, tag = "14")]
    pub create_time_ms: u64,
    #[prost(uint32, tag = "7")]
    pub prop_id: u32,
    #[prost(message, optional, tag = "1")]
    pub extra_info: ::core::option::Option<PropExtraInfo>,
    /// TODO?
    #[prost(uint32, tag = "2")]
    pub prop_state: u32,
    #[prost(uint32, tag = "9")]
    pub life_time_ms: u32,
    #[prost(string, repeated, tag = "15")]
    pub trigger_name_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneSummonUnitInfo {
    #[prost(int32, tag = "15")]
    pub life_time_ms: i32,
    #[prost(string, repeated, tag = "11")]
    pub trigger_name_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    /// TODO
    #[prost(uint32, tag = "4")]
    pub attach_entity_id: u32,
    #[prost(uint64, tag = "7")]
    pub create_time_ms: u64,
    #[prost(uint32, tag = "13")]
    pub summon_unit_id: u32,
    /// TODO
    #[prost(uint32, tag = "5")]
    pub caster_entity_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityInfo {
    #[prost(uint32, tag = "14")]
    pub group_id: u32,
    #[prost(uint32, tag = "3")]
    pub inst_id: u32,
    #[prost(uint32, tag = "1")]
    pub entity_id: u32,
    #[prost(message, optional, tag = "13")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(oneof = "scene_entity_info::Entity", tags = "11, 4, 7, 12, 5")]
    pub entity: ::core::option::Option<scene_entity_info::Entity>,
}
/// Nested message and enum types in `SceneEntityInfo`.
pub mod scene_entity_info {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Entity {
        #[prost(message, tag = "11")]
        Actor(super::SceneActorInfo),
        #[prost(message, tag = "4")]
        NpcMonster(super::SceneNpcMonsterInfo),
        #[prost(message, tag = "7")]
        Npc(super::SceneNpcInfo),
        #[prost(message, tag = "12")]
        Prop(super::ScenePropInfo),
        #[prost(message, tag = "5")]
        SummonUnit(super::SceneSummonUnitInfo),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuffInfo {
    #[prost(uint32, tag = "6")]
    pub count: u32,
    #[prost(uint32, tag = "1")]
    pub level: u32,
    #[prost(map = "string, float", tag = "14")]
    pub dynamic_values: ::std::collections::HashMap<::prost::alloc::string::String, f32>,
    #[prost(uint64, tag = "5")]
    pub add_time_ms: u64,
    #[prost(uint32, tag = "8")]
    pub buff_id: u32,
    #[prost(uint32, tag = "10")]
    pub base_avatar_id: u32,
    #[prost(float, tag = "7")]
    pub life_time: f32,
    /// TODO? why
    #[prost(uint32, tag = "12")]
    pub target_entity_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityBuffInfo {
    #[prost(message, repeated, tag = "6")]
    pub buff_list: ::prost::alloc::vec::Vec<BuffInfo>,
    #[prost(uint32, tag = "5")]
    pub entity_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nomfjhmoeah {
    #[prost(uint32, tag = "2")]
    pub mbmdocjimej: u32,
    #[prost(uint32, tag = "14")]
    pub ohdeoighiem: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomSaveData {
    #[prost(string, tag = "9")]
    pub save_data: ::prost::alloc::string::String,
    #[prost(uint32, tag = "12")]
    pub group_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kegmihdfpmm {
    #[prost(uint32, tag = "6")]
    pub blogjdckahm: u32,
    #[prost(uint32, tag = "2")]
    pub cppdjfkiihk: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityGroupInfo {
    #[prost(uint32, tag = "5")]
    pub group_id: u32,
    #[prost(map = "string, int32", tag = "2")]
    pub hejamoojbcj: ::std::collections::HashMap<::prost::alloc::string::String, i32>,
    #[prost(uint32, tag = "1")]
    pub state: u32,
    #[prost(message, repeated, tag = "10")]
    pub entity_list: ::prost::alloc::vec::Vec<SceneEntityInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneGroupState {
    #[prost(uint32, tag = "12")]
    pub group_id: u32,
    #[prost(uint32, tag = "5")]
    pub state: u32,
    #[prost(bool, tag = "10")]
    pub is_default: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionStatusBySceneInfo {
    #[prost(message, repeated, tag = "9")]
    pub dgkjillcfla: ::prost::alloc::vec::Vec<Mission>,
    #[prost(uint32, repeated, tag = "10")]
    pub ndnonhfimfi: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "14")]
    pub icbikgmghik: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "4")]
    pub bigehkdpgpn: ::prost::alloc::vec::Vec<Feahpjpkgoa>,
    #[prost(uint32, repeated, tag = "2")]
    pub finished_mission_id: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneInfo {
    #[prost(map = "uint32, message", tag = "9")]
    pub mpehibkeobe: ::std::collections::HashMap<u32, Kegmihdfpmm>,
    #[prost(message, repeated, tag = "944")]
    pub group_state_list: ::prost::alloc::vec::Vec<SceneGroupState>,
    #[prost(uint32, repeated, tag = "3")]
    pub lighten_section_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub plane_id: u32,
    #[prost(map = "string, int32", tag = "997")]
    pub floor_saved_data: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        i32,
    >,
    #[prost(message, repeated, tag = "5")]
    pub mhknnlmping: ::prost::alloc::vec::Vec<EntityBuffInfo>,
    #[prost(uint32, tag = "61")]
    pub gfhglffhfbd: u32,
    #[prost(uint32, tag = "14")]
    pub floor_id: u32,
    #[prost(uint32, tag = "1467")]
    pub emdhekkocmd: u32,
    #[prost(message, repeated, tag = "10")]
    pub entity_list: ::prost::alloc::vec::Vec<SceneEntityInfo>,
    #[prost(message, optional, tag = "713")]
    pub scene_mission_info: ::core::option::Option<MissionStatusBySceneInfo>,
    #[prost(uint32, repeated, tag = "1496")]
    pub djbibijmebh: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub client_pos_version: u32,
    #[prost(message, repeated, tag = "2")]
    pub gkpnkmeeibm: ::prost::alloc::vec::Vec<CustomSaveData>,
    #[prost(message, repeated, tag = "328")]
    pub entity_group_list: ::prost::alloc::vec::Vec<SceneEntityGroupInfo>,
    #[prost(message, repeated, tag = "1")]
    pub icclnhkdbbm: ::prost::alloc::vec::Vec<BuffInfo>,
    #[prost(uint32, tag = "1356")]
    pub content_id: u32,
    #[prost(uint32, tag = "12")]
    pub entry_id: u32,
    /// TODO
    #[prost(uint32, tag = "6")]
    pub world_id: u32,
    /// TODO
    #[prost(uint32, tag = "7")]
    pub leader_entity_id: u32,
    #[prost(uint32, tag = "15")]
    pub game_mode_type: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityMotion {
    #[prost(message, optional, tag = "9")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(uint32, tag = "8")]
    pub map_layer: u32,
    #[prost(uint32, tag = "5")]
    pub entity_id: u32,
    #[prost(bool, tag = "7")]
    pub nfopikdkpgg: bool,
}
/// Obf: CIPDBAAAPCE
#[derive(proto_derive::CmdID)]
#[cmdid(1401)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityMoveCsReq {
    #[prost(uint32, tag = "2")]
    pub entry_id: u32,
    #[prost(uint64, tag = "13")]
    pub pemlejjbaje: u64,
    #[prost(message, repeated, tag = "4")]
    pub entity_motion_list: ::prost::alloc::vec::Vec<EntityMotion>,
}
/// Obf: LNIOMOHNMCA
#[derive(proto_derive::CmdID)]
#[cmdid(1468)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityMoveScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub download_data: ::core::option::Option<ClientDownloadData>,
    #[prost(message, repeated, tag = "2")]
    pub entity_motion_list: ::prost::alloc::vec::Vec<EntityMotion>,
}
/// Obf: CGGEMOEPGHF
#[derive(proto_derive::CmdID)]
#[cmdid(1405)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityMoveScNotify {
    #[prost(message, optional, tag = "8")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(uint32, tag = "6")]
    pub entity_id: u32,
    #[prost(uint32, tag = "14")]
    pub client_pos_version: u32,
    #[prost(uint32, tag = "1")]
    pub entry_id: u32,
}
/// Obf: BGJHILOCEOG
#[derive(proto_derive::CmdID)]
#[cmdid(1414)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneUpdatePositionVersionNotify {
    #[prost(uint32, tag = "3")]
    pub djjbkeiaobd: u32,
}
/// Obf: HLEFIDCMBJA
#[derive(proto_derive::CmdID)]
#[cmdid(1458)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InteractPropCsReq {
    #[prost(uint32, tag = "7")]
    pub prop_entity_id: u32,
    #[prost(uint32, tag = "12")]
    pub interact_id: u32,
}
/// Obf: GEPAMEPINIH
#[derive(proto_derive::CmdID)]
#[cmdid(1424)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InteractPropScRsp {
    /// TODO? why
    #[prost(uint32, tag = "2")]
    pub prop_state: u32,
    #[prost(uint32, tag = "14")]
    pub prop_entity_id: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: DAEHNKJJIDI
#[derive(proto_derive::CmdID)]
#[cmdid(1428)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangePropTimelineInfoCsReq {
    #[prost(uint64, tag = "15")]
    pub miilnlhddjm: u64,
    #[prost(bool, tag = "13")]
    pub dlbedaonnkh: bool,
    #[prost(message, optional, tag = "7")]
    pub djnfcmfddoa: ::core::option::Option<Lnojkicccme>,
    #[prost(uint32, tag = "8")]
    pub prop_entity_id: u32,
}
/// Obf: LAHIOIBKPGO
#[derive(proto_derive::CmdID)]
#[cmdid(1411)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangePropTimelineInfoScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "12")]
    pub prop_entity_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dkijloakkbo {
    #[prost(uint32, tag = "4")]
    pub gbllcemjjfi: u32,
    #[prost(enumeration = "MonsterBattleType", tag = "10")]
    pub endjgmlkpbp: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jnhlelnabbd {
    #[prost(float, tag = "7")]
    pub mbmdocjimej: f32,
    #[prost(string, tag = "3")]
    pub key: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AssistMonsterWave {
    #[prost(uint32, repeated, tag = "3")]
    pub entity_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MJHLIMKLNOD
#[derive(proto_derive::CmdID)]
#[cmdid(1430)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneCastSkillCsReq {
    #[prost(uint32, tag = "1")]
    pub hchdhljcije: u32,
    /// TODO: Manually swapped
    #[prost(uint32, repeated, tag = "4")]
    pub assist_monster_entity_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "14")]
    pub attacked_group_id: u32,
    #[prost(message, repeated, tag = "10")]
    pub assist_monster_wave_list: ::prost::alloc::vec::Vec<AssistMonsterWave>,
    #[prost(enumeration = "SceneCastSkillType", repeated, tag = "11")]
    pub casted_skill_type_list: ::prost::alloc::vec::Vec<i32>,
    #[prost(uint32, tag = "12")]
    pub skill_index: u32,
    #[prost(uint32, tag = "8")]
    pub caster_id: u32,
    #[prost(message, optional, tag = "9")]
    pub target_motion: ::core::option::Option<MotionInfo>,
    #[prost(message, repeated, tag = "3")]
    pub dynamic_values: ::prost::alloc::vec::Vec<Jnhlelnabbd>,
    #[prost(uint32, repeated, tag = "2")]
    pub hit_target_entity_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(string, tag = "15")]
    pub kegdfimpnkh: ::prost::alloc::string::String,
}
/// Obf: KPNOOJMCCCI
#[derive(proto_derive::CmdID)]
#[cmdid(1456)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneCastSkillScRsp {
    #[prost(uint32, tag = "15")]
    pub attacked_group_id: u32,
    #[prost(message, repeated, tag = "13")]
    pub kgnglgmiebg: ::prost::alloc::vec::Vec<Dkijloakkbo>,
    #[prost(message, optional, tag = "9")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: HIKCPJGJEHH
#[derive(proto_derive::CmdID)]
#[cmdid(1422)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneCastSkillCostMpCsReq {
    #[prost(uint32, tag = "3")]
    pub skill_index: u32,
    #[prost(uint32, tag = "8")]
    pub attacked_group_id: u32,
    #[prost(uint32, tag = "1")]
    pub caster_id: u32,
}
/// Obf: FBBHCGOLMLF
#[derive(proto_derive::CmdID)]
#[cmdid(1447)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneCastSkillCostMpScRsp {
    #[prost(uint32, tag = "7")]
    pub attacked_group_id: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: CFBDAOAGFII
#[derive(proto_derive::CmdID)]
#[cmdid(1480)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneCastSkillMpUpdateScNotify {
    #[prost(uint32, tag = "13")]
    pub mp: u32,
    #[prost(uint32, tag = "3")]
    pub attacked_group_id: u32,
}
/// Obf: BJCADMHJOFB
#[derive(proto_derive::CmdID)]
#[cmdid(1418)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEnterStageCsReq {
    #[prost(bool, tag = "15")]
    pub pmjahilblfl: bool,
    #[prost(uint32, tag = "1")]
    pub event_id: u32,
    #[prost(enumeration = "Lipekjfjmnm", tag = "3")]
    pub nikhbkchhjg: i32,
}
/// Obf: OHOOIMFNPIO
#[derive(proto_derive::CmdID)]
#[cmdid(1495)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEnterStageScRsp {
    #[prost(message, optional, tag = "8")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: ABPCFHDBFGO
#[derive(proto_derive::CmdID)]
#[cmdid(1450)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneReviveAfterRebattleCsReq {
    #[prost(enumeration = "Lipekjfjmnm", tag = "10")]
    pub nikhbkchhjg: i32,
}
/// Obf: JEBJCABFJNA
#[derive(proto_derive::CmdID)]
#[cmdid(1448)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneReviveAfterRebattleScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: GBAONLFLKMJ
#[derive(proto_derive::CmdID)]
#[cmdid(1497)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurSceneInfoCsReq {}
/// Obf: DDNODHNOKHH
#[derive(proto_derive::CmdID)]
#[cmdid(1476)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurSceneInfoScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "8")]
    pub scene: ::core::option::Option<SceneInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityBuffChangeInfo {
    #[prost(uint32, tag = "5")]
    pub attacked_group_id: u32,
    #[prost(enumeration = "EntityBuffChangeType", tag = "15")]
    pub reason: i32,
    #[prost(uint32, tag = "2")]
    pub entity_id: u32,
    #[prost(oneof = "entity_buff_change_info::Buff", tags = "14, 8")]
    pub buff: ::core::option::Option<entity_buff_change_info::Buff>,
}
/// Nested message and enum types in `EntityBuffChangeInfo`.
pub mod entity_buff_change_info {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "14")]
        AddBuffInfo(super::BuffInfo),
        #[prost(uint32, tag = "8")]
        RemoveBuffId(u32),
    }
}
/// Obf: IMNJNKPICAF
#[derive(proto_derive::CmdID)]
#[cmdid(1449)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncEntityBuffChangeListScNotify {
    #[prost(message, repeated, tag = "6")]
    pub entity_buff_info_list: ::prost::alloc::vec::Vec<EntityBuffChangeInfo>,
}
/// Obf: BIPGPKHCJNG
#[derive(proto_derive::CmdID)]
#[cmdid(1496)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpringRefreshCsReq {
    #[prost(uint32, tag = "1")]
    pub floor_id: u32,
    #[prost(uint32, tag = "13")]
    pub prop_entity_id: u32,
    #[prost(uint32, tag = "3")]
    pub plane_id: u32,
}
/// Obf: KBEOJIAJBHO
#[derive(proto_derive::CmdID)]
#[cmdid(1423)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpringRefreshScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: GPOPGOFKHFJ
#[derive(proto_derive::CmdID)]
#[cmdid(1412)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LastSpringRefreshTimeNotify {
    #[prost(int64, tag = "9")]
    pub jbicindpigm: i64,
}
/// Obf: NKFBPFNHCDL
#[derive(proto_derive::CmdID)]
#[cmdid(1417)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReturnLastTownCsReq {}
/// Obf: EBKDCIDEFEG
#[derive(proto_derive::CmdID)]
#[cmdid(1491)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReturnLastTownScRsp {
    #[prost(message, optional, tag = "5")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: FHFLJPFCOOJ
#[derive(proto_derive::CmdID)]
#[cmdid(1469)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSectionCsReq {
    #[prost(uint32, tag = "3")]
    pub lbmncagokif: u32,
}
/// Obf: LEJKNHNDIBO
#[derive(proto_derive::CmdID)]
#[cmdid(1420)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSectionScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: BBNOINDEFKD
#[derive(proto_derive::CmdID)]
#[cmdid(1481)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetCurInteractEntityCsReq {
    #[prost(uint32, tag = "11")]
    pub entity_id: u32,
}
/// Obf: BGMHIBGBJMJ
#[derive(proto_derive::CmdID)]
#[cmdid(1438)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetCurInteractEntityScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: HCHMJOHLMDA
#[derive(proto_derive::CmdID)]
#[cmdid(1419)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RecoverAllLineupCsReq {}
/// Obf: CMLNFHPNDEG
#[derive(proto_derive::CmdID)]
#[cmdid(1482)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RecoverAllLineupScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: SavePointsInfoNotify
#[derive(proto_derive::CmdID)]
#[cmdid(1459)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SavePointsInfoNotify {
    #[prost(int64, tag = "2")]
    pub refresh_time: i64,
    #[prost(uint32, tag = "12")]
    pub valid_times: u32,
}
/// Obf: JKIMJCCFMPI
#[derive(proto_derive::CmdID)]
#[cmdid(1441)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartCocoonStageCsReq {
    #[prost(uint32, tag = "3")]
    pub world_level: u32,
    #[prost(uint32, tag = "12")]
    pub wave: u32,
    #[prost(uint32, tag = "5")]
    pub prop_entity_id: u32,
    #[prost(uint32, tag = "4")]
    pub cocoon_id: u32,
}
/// Obf: StartCocoonStageScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1473)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartCocoonStageScRsp {
    #[prost(message, optional, tag = "6")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "1")]
    pub prop_entity_id: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub wave: u32,
    #[prost(uint32, tag = "11")]
    pub cocoon_id: u32,
}
/// Obf: FFIHDGGAEKN
#[derive(proto_derive::CmdID)]
#[cmdid(1440)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityBindPropCsReq {
    #[prost(bool, tag = "7")]
    pub mjjmpiflmkf: bool,
    #[prost(message, optional, tag = "13")]
    pub motion: ::core::option::Option<MotionInfo>,
}
/// Obf: MNILDBFIHNM
#[derive(proto_derive::CmdID)]
#[cmdid(1403)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityBindPropScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: FINBEHEFKPL
#[derive(proto_derive::CmdID)]
#[cmdid(1457)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetClientPausedCsReq {
    #[prost(bool, tag = "11")]
    pub paused: bool,
}
/// Obf: MLDMMOMNJPF
#[derive(proto_derive::CmdID)]
#[cmdid(1413)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetClientPausedScRsp {
    #[prost(bool, tag = "11")]
    pub paused: bool,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: PLFDILGNLLH
#[derive(proto_derive::CmdID)]
#[cmdid(1478)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeactivateFarmElementCsReq {
    #[prost(uint32, tag = "12")]
    pub entity_id: u32,
}
/// Obf: JBEDHCJJDGC
#[derive(proto_derive::CmdID)]
#[cmdid(1467)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeactivateFarmElementScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "3")]
    pub entity_id: u32,
}
/// Obf: JPFHHINHOHI
#[derive(proto_derive::CmdID)]
#[cmdid(1429)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ActivateFarmElementCsReq {
    #[prost(uint32, tag = "1")]
    pub world_level: u32,
    #[prost(uint32, tag = "4")]
    pub entity_id: u32,
}
/// Obf: LNPHFEBJKAA
#[derive(proto_derive::CmdID)]
#[cmdid(1464)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ActivateFarmElementScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, tag = "9")]
    pub world_level: u32,
    #[prost(uint32, tag = "13")]
    pub entity_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Heejkkagimo {
    #[prost(uint32, tag = "1")]
    pub jlafldchdgj: u32,
    #[prost(uint32, tag = "13")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fpdakbkbjkf {
    #[prost(uint32, tag = "2")]
    pub eidnigifnaa: u32,
    #[prost(message, repeated, tag = "11")]
    pub bcglmlabogf: ::prost::alloc::vec::Vec<Heejkkagimo>,
    #[prost(bool, tag = "7")]
    pub ghdepancgpf: bool,
}
/// Obf: NIIKLJIBJEP
#[derive(proto_derive::CmdID)]
#[cmdid(1426)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateMechanismBarScNotify {
    #[prost(message, optional, tag = "1")]
    pub gigkdapgnme: ::core::option::Option<Nomfjhmoeah>,
    #[prost(uint32, tag = "11")]
    pub floor_id: u32,
    #[prost(uint32, tag = "9")]
    pub plane_id: u32,
}
/// Obf: OKLENHLIIGG
#[derive(proto_derive::CmdID)]
#[cmdid(1463)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetGroupCustomSaveDataCsReq {
    #[prost(string, tag = "15")]
    pub save_data: ::prost::alloc::string::String,
    #[prost(uint32, tag = "1")]
    pub entry_id: u32,
    #[prost(uint32, tag = "8")]
    pub group_id: u32,
}
/// Obf: AIAFOJMJHKK
#[derive(proto_derive::CmdID)]
#[cmdid(1407)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetGroupCustomSaveDataScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub group_id: u32,
    #[prost(uint32, tag = "8")]
    pub entry_id: u32,
}
/// Obf: IGPOPOJDLOH
#[derive(proto_derive::CmdID)]
#[cmdid(1465)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReEnterLastElementStageCsReq {
    #[prost(uint32, tag = "3")]
    pub stage_id: u32,
}
/// Obf: HAKNDGDAEOF
#[derive(proto_derive::CmdID)]
#[cmdid(1474)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReEnterLastElementStageScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(uint32, tag = "8")]
    pub stage_id: u32,
    #[prost(message, optional, tag = "3")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: MFKPBBGBIAO
#[derive(proto_derive::CmdID)]
#[cmdid(1452)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityTeleportCsReq {
    #[prost(uint32, tag = "5")]
    pub entry_id: u32,
    #[prost(message, optional, tag = "9")]
    pub entity_motion: ::core::option::Option<EntityMotion>,
}
/// Obf: MBJFPBAHEGB
#[derive(proto_derive::CmdID)]
#[cmdid(1404)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityTeleportScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub entity_motion: ::core::option::Option<EntityMotion>,
    #[prost(uint32, tag = "10")]
    pub client_pos_version: u32,
}
/// Obf: KFJJHAIMMHG
#[derive(proto_derive::CmdID)]
#[cmdid(1479)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSceneCsReq {
    #[prost(bool, tag = "7")]
    pub dlbedaonnkh: bool,
    #[prost(uint32, tag = "1")]
    pub emdhekkocmd: u32,
    #[prost(uint32, tag = "6")]
    pub entry_id: u32,
    #[prost(uint32, tag = "4")]
    pub content_id: u32,
    #[prost(uint32, tag = "12")]
    pub teleport_id: u32,
}
/// Obf: OPBPKAAGIBE
#[derive(proto_derive::CmdID)]
#[cmdid(1484)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSceneScRsp {
    #[prost(uint32, tag = "5")]
    pub content_id: u32,
    #[prost(bool, tag = "14")]
    pub dlbedaonnkh: bool,
    #[prost(bool, tag = "15")]
    pub iiaafopfcbn: bool,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(uint32, tag = "2")]
    pub emdhekkocmd: u32,
}
/// Obf: OLLMMKGBDGO
#[derive(proto_derive::CmdID)]
#[cmdid(1410)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSceneByServerScNotify {
    #[prost(message, optional, tag = "5")]
    pub lineup: ::core::option::Option<LineupInfo>,
    #[prost(message, optional, tag = "11")]
    pub scene: ::core::option::Option<SceneInfo>,
    #[prost(enumeration = "EnterSceneReason", tag = "13")]
    pub reason: i32,
}
/// Obf: KIFHBHNPCOC
#[derive(proto_derive::CmdID)]
#[cmdid(1434)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScenePlaneEventScNotify {
    /// TODO
    #[prost(message, optional, tag = "11")]
    pub get_item_list: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "12")]
    pub mhdjadhndkd: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "1")]
    pub acfcjiomjnf: ::core::option::Option<ItemList>,
    #[prost(message, optional, tag = "7")]
    pub meekfpcobai: ::core::option::Option<ItemList>,
}
/// Obf: MBLCANFKHCP
#[derive(proto_derive::CmdID)]
#[cmdid(1427)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSceneMapInfoCsReq {
    #[prost(uint32, tag = "8")]
    pub cur_map_entry_id: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub floor_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "6")]
    pub igfikghllno: bool,
    #[prost(uint32, repeated, tag = "5")]
    pub entry_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "11")]
    pub content_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MazeProp {
    #[prost(uint32, tag = "13")]
    pub config_id: u32,
    #[prost(uint32, tag = "4")]
    pub group_id: u32,
    #[prost(uint32, tag = "15")]
    pub state: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MazeGroup {
    #[prost(uint32, repeated, tag = "10")]
    pub nobkeonakle: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub group_id: u32,
    #[prost(bool, tag = "11")]
    pub ilbeaaoojjp: bool,
    #[prost(int64, tag = "4")]
    pub modify_time: i64,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MazeChest {
    #[prost(enumeration = "MapInfoChestType", tag = "6")]
    pub map_info_chest_type: i32,
    /// TODO
    #[prost(uint32, tag = "11")]
    pub unlocked_amount_list: u32,
    /// TODO
    #[prost(uint32, tag = "1")]
    pub total_amount_list: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Npaogkfkaae {
    #[prost(uint32, tag = "10")]
    pub fljindnjphl: u32,
    #[prost(uint32, tag = "9")]
    pub fokcifjmjgl: u32,
    #[prost(uint32, tag = "6")]
    pub slot: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MazeMapData {
    #[prost(message, repeated, tag = "5")]
    pub maze_prop_list: ::prost::alloc::vec::Vec<MazeProp>,
    #[prost(uint32, tag = "3")]
    pub floor_id: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub unlocked_teleport_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "10")]
    pub lmeefkjbpec: u32,
    #[prost(message, repeated, tag = "11")]
    pub maze_group_list: ::prost::alloc::vec::Vec<MazeGroup>,
    #[prost(message, repeated, tag = "8")]
    pub jmldmocnmhm: ::prost::alloc::vec::Vec<Npaogkfkaae>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub lighten_section_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "15")]
    pub unlocked_chest_list: ::prost::alloc::vec::Vec<MazeChest>,
    #[prost(uint32, tag = "7")]
    pub entry_id: u32,
    #[prost(uint32, tag = "9")]
    pub gfhglffhfbd: u32,
    #[prost(map = "string, int32", tag = "6")]
    pub floor_saved_data: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        i32,
    >,
}
/// Obf: PGMDNIBOJIK
#[derive(proto_derive::CmdID)]
#[cmdid(1486)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSceneMapInfoScRsp {
    #[prost(uint32, tag = "10")]
    pub cur_map_entry_id: u32,
    #[prost(bool, tag = "7")]
    pub igfikghllno: bool,
    #[prost(message, repeated, tag = "12")]
    pub map_list: ::prost::alloc::vec::Vec<MazeMapData>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "14")]
    pub content_id: u32,
}
/// Obf: FGDBIJGOBEA
#[derive(proto_derive::CmdID)]
#[cmdid(1451)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncServerSceneChangeNotify {}
/// Obf: HKIJFKJGMCM
#[derive(proto_derive::CmdID)]
#[cmdid(1431)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GameplayCounterCountDownCsReq {
    #[prost(uint32, tag = "9")]
    pub cur_times: u32,
    #[prost(uint32, tag = "4")]
    pub nmglnhpanah: u32,
}
/// Obf: JDHNNOHMMEF
#[derive(proto_derive::CmdID)]
#[cmdid(1498)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GameplayCounterCountDownScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: MDBDLPEODKD
#[derive(proto_derive::CmdID)]
#[cmdid(1446)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GameplayCounterUpdateScNotify {
    #[prost(enumeration = "Cnppaammffd", tag = "11")]
    pub reason: i32,
    #[prost(uint32, tag = "4")]
    pub blogjdckahm: u32,
    #[prost(uint32, tag = "8")]
    pub nmglnhpanah: u32,
}
/// Obf: MFKPBCIAKCM
#[derive(proto_derive::CmdID)]
#[cmdid(1442)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GameplayCounterRecoverCsReq {
    #[prost(uint32, tag = "5")]
    pub nmglnhpanah: u32,
    #[prost(uint32, tag = "2")]
    pub labooddaloe: u32,
}
/// Obf: LLBMDKIPMHM
#[derive(proto_derive::CmdID)]
#[cmdid(1462)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GameplayCounterRecoverScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: FBJOCFCINKO
#[derive(proto_derive::CmdID)]
#[cmdid(1402)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateFloorSavedValueNotify {
    #[prost(uint32, tag = "3")]
    pub floor_id: u32,
    #[prost(map = "string, int32", tag = "6")]
    pub oaifmglieep: ::std::collections::HashMap<::prost::alloc::string::String, i32>,
    #[prost(uint32, tag = "13")]
    pub gfhglffhfbd: u32,
    #[prost(uint32, tag = "4")]
    pub plane_id: u32,
}
/// Obf: PCFOFDPKLHJ
#[derive(proto_derive::CmdID)]
#[cmdid(1493)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetUnlockTeleportCsReq {
    #[prost(uint32, repeated, tag = "2")]
    pub entry_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CGOLBMHDACA
#[derive(proto_derive::CmdID)]
#[cmdid(1472)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetUnlockTeleportScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "7")]
    pub unlocked_teleport_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MKMAMJECDAH
#[derive(proto_derive::CmdID)]
#[cmdid(1433)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpenChestScNotify {
    #[prost(uint32, tag = "12")]
    pub kigaehdgklm: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityRefreshInfo {
    #[prost(oneof = "scene_entity_refresh_info::RefreshType", tags = "15, 6, 13")]
    pub refresh_type: ::core::option::Option<scene_entity_refresh_info::RefreshType>,
}
/// Nested message and enum types in `SceneEntityRefreshInfo`.
pub mod scene_entity_refresh_info {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum RefreshType {
        #[prost(message, tag = "15")]
        AddEntity(super::SceneEntityInfo),
        #[prost(uint32, tag = "6")]
        DelEntity(u32),
        #[prost(uint32, tag = "13")]
        Mhhoaahdgao(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cmgfhbhaffb {
    #[prost(int32, tag = "3")]
    pub agfijniebkf: i32,
    #[prost(string, tag = "9")]
    pub jaibieekheg: ::prost::alloc::string::String,
    #[prost(int32, tag = "4")]
    pub dlmamkinnco: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneGroupRefreshInfo {
    #[prost(message, repeated, tag = "14")]
    pub bccgjihncdn: ::prost::alloc::vec::Vec<Cmgfhbhaffb>,
    #[prost(enumeration = "SceneGroupRefreshType", tag = "15")]
    pub group_refresh_type: i32,
    #[prost(message, repeated, tag = "8")]
    pub refresh_entity: ::prost::alloc::vec::Vec<SceneEntityRefreshInfo>,
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
    #[prost(uint32, tag = "2")]
    pub state: u32,
}
/// Obf: DNIDLPMBJGI
#[derive(proto_derive::CmdID)]
#[cmdid(1466)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneGroupRefreshScNotify {
    #[prost(uint32, tag = "5")]
    pub floor_id: u32,
    #[prost(message, repeated, tag = "14")]
    pub group_refresh_info: ::prost::alloc::vec::Vec<SceneGroupRefreshInfo>,
    #[prost(uint32, tag = "11")]
    pub gfhglffhfbd: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroupStateInfo {
    #[prost(uint32, tag = "15")]
    pub entry_id: u32,
    #[prost(uint32, tag = "5")]
    pub group_id: u32,
    /// TODO
    #[prost(uint32, tag = "2")]
    pub group_state: u32,
    /// TODO
    #[prost(uint32, tag = "9")]
    pub player_uid: u32,
}
/// Obf: EPALKAAFOPL
#[derive(proto_derive::CmdID)]
#[cmdid(1483)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroupStateChangeCsReq {
    #[prost(message, optional, tag = "1")]
    pub group_state_info: ::core::option::Option<GroupStateInfo>,
}
/// Obf: HDJPNIADMMH
#[derive(proto_derive::CmdID)]
#[cmdid(1432)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroupStateChangeScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "2")]
    pub group_state_info: ::core::option::Option<GroupStateInfo>,
}
/// Obf: NEEPAILHCAD
#[derive(proto_derive::CmdID)]
#[cmdid(1435)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroupStateChangeScNotify {
    #[prost(message, optional, tag = "13")]
    pub group_state_info: ::core::option::Option<GroupStateInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnteredSceneInfo {
    #[prost(uint32, tag = "3")]
    pub plane_id: u32,
    #[prost(uint32, tag = "2")]
    pub floor_id: u32,
}
/// Obf: IKCIBNFGIGD
#[derive(proto_derive::CmdID)]
#[cmdid(1499)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEnteredSceneCsReq {}
/// Obf: FFKICDPOBHE
#[derive(proto_derive::CmdID)]
#[cmdid(1453)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEnteredSceneScRsp {
    #[prost(message, repeated, tag = "11")]
    pub entered_scene_info: ::prost::alloc::vec::Vec<EnteredSceneInfo>,
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: KCMGLHOAMMA
#[derive(proto_derive::CmdID)]
#[cmdid(1416)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnteredSceneChangeScNotify {
    #[prost(message, repeated, tag = "7")]
    pub entered_scene_info: ::prost::alloc::vec::Vec<EnteredSceneInfo>,
}
/// Obf: KIOMIEGGBEN
#[derive(proto_derive::CmdID)]
#[cmdid(1443)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RefreshTriggerByClientCsReq {
    #[prost(message, optional, tag = "8")]
    pub trigger_motion: ::core::option::Option<MotionInfo>,
    #[prost(uint32, repeated, tag = "13")]
    pub trigger_target_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(string, tag = "3")]
    pub trigger_name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "2")]
    pub trigger_entity_id: u32,
}
/// Obf: JGDKAEIDJND
#[derive(proto_derive::CmdID)]
#[cmdid(1494)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RefreshTriggerByClientScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(string, tag = "11")]
    pub trigger_name: ::prost::alloc::string::String,
    #[prost(uint32, tag = "9")]
    pub trigger_entity_id: u32,
    #[prost(bool, tag = "12")]
    pub refresh_trigger: bool,
}
/// Obf: AHMJLGKLLKF
#[derive(proto_derive::CmdID)]
#[cmdid(1445)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RefreshTriggerByClientScNotify {
    #[prost(uint32, tag = "8")]
    pub trigger_entity_id: u32,
    #[prost(string, tag = "14")]
    pub trigger_name: ::prost::alloc::string::String,
    #[prost(uint32, repeated, tag = "4")]
    pub trigger_target_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PPKGLDLFMHB
#[derive(proto_derive::CmdID)]
#[cmdid(1487)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteSummonUnitCsReq {
    #[prost(uint32, repeated, tag = "10")]
    pub entity_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: AMHALMPHADG
#[derive(proto_derive::CmdID)]
#[cmdid(1421)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteSummonUnitScRsp {
    #[prost(uint32, repeated, tag = "8")]
    pub entity_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: NDJAIEFKJDC
#[derive(proto_derive::CmdID)]
#[cmdid(1437)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockedAreaMapScNotify {
    #[prost(uint32, repeated, tag = "12")]
    pub entry_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MECGPLPPPLF
#[derive(proto_derive::CmdID)]
#[cmdid(1409)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockTeleportNotify {
    #[prost(uint32, tag = "4")]
    pub entry_id: u32,
    #[prost(uint32, tag = "6")]
    pub teleport_id: u32,
}
/// Obf: PFGIGAKAMGI
#[derive(proto_derive::CmdID)]
#[cmdid(1500)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateGroupPropertyCsReq {
    #[prost(uint32, tag = "15")]
    pub floor_id: u32,
    #[prost(string, tag = "11")]
    pub jaibieekheg: ::prost::alloc::string::String,
    #[prost(uint32, tag = "9")]
    pub gfhglffhfbd: u32,
    #[prost(int32, tag = "14")]
    pub mojohjebcnj: i32,
    #[prost(uint32, tag = "4")]
    pub group_id: u32,
}
/// Obf: FKPHAPJNAED
#[derive(proto_derive::CmdID)]
#[cmdid(1425)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateGroupPropertyScRsp {
    #[prost(string, tag = "5")]
    pub jaibieekheg: ::prost::alloc::string::String,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub group_id: u32,
    #[prost(uint32, tag = "12")]
    pub gfhglffhfbd: u32,
    #[prost(int32, tag = "6")]
    pub agfijniebkf: i32,
    #[prost(uint32, tag = "13")]
    pub floor_id: u32,
    #[prost(int32, tag = "2")]
    pub dlmamkinnco: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServerPrefs {
    #[prost(uint32, tag = "15")]
    pub server_prefs_id: u32,
    #[prost(bytes = "vec", tag = "14")]
    pub data: ::prost::alloc::vec::Vec<u8>,
}
/// Obf: ODFDCOFIFNE
#[derive(proto_derive::CmdID)]
#[cmdid(6101)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAllServerPrefsDataCsReq {}
/// Obf: ANIEMJCBMEH
#[derive(proto_derive::CmdID)]
#[cmdid(6168)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAllServerPrefsDataScRsp {
    #[prost(message, repeated, tag = "7")]
    pub lfbeohkkdoi: ::prost::alloc::vec::Vec<ServerPrefs>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: FLGFMAOEILG
#[derive(proto_derive::CmdID)]
#[cmdid(6158)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetServerPrefsDataCsReq {
    #[prost(uint32, tag = "10")]
    pub server_prefs_id: u32,
}
/// Obf: DMLKMBPBNDF
#[derive(proto_derive::CmdID)]
#[cmdid(6124)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetServerPrefsDataScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "4")]
    pub server_prefs: ::core::option::Option<ServerPrefs>,
}
/// Obf: HEPBIHIMJAC
#[derive(proto_derive::CmdID)]
#[cmdid(6130)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateServerPrefsDataCsReq {
    #[prost(message, optional, tag = "11")]
    pub server_prefs: ::core::option::Option<ServerPrefs>,
}
/// Obf: LOIEDLCJAED
#[derive(proto_derive::CmdID)]
#[cmdid(6156)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateServerPrefsDataScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "4")]
    pub server_prefs_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Shop {
    #[prost(uint32, tag = "1")]
    pub city_level: u32,
    #[prost(uint32, tag = "13")]
    pub shop_id: u32,
    #[prost(uint32, tag = "5")]
    pub city_exp: u32,
    #[prost(int64, tag = "2")]
    pub begin_time: i64,
    #[prost(message, repeated, tag = "3")]
    pub goods_list: ::prost::alloc::vec::Vec<Goods>,
    #[prost(int64, tag = "15")]
    pub end_time: i64,
    #[prost(uint64, tag = "11")]
    pub city_taken_level_reward: u64,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Goods {
    #[prost(uint32, tag = "8")]
    pub item_id: u32,
    #[prost(uint32, tag = "13")]
    pub buy_times: u32,
    #[prost(uint32, tag = "11")]
    pub goods_id: u32,
    #[prost(int64, tag = "9")]
    pub begin_time: i64,
    #[prost(int64, tag = "2")]
    pub end_time: i64,
}
/// Obf: FCKAFIDILMG
#[derive(proto_derive::CmdID)]
#[cmdid(1501)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetShopListCsReq {
    #[prost(uint32, tag = "9")]
    pub shop_type: u32,
}
/// Obf: GetShopListScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1568)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetShopListScRsp {
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "12")]
    pub shop_list: ::prost::alloc::vec::Vec<Shop>,
    #[prost(uint32, tag = "11")]
    pub shop_type: u32,
}
/// Obf: CMOBCAPIPLL
#[derive(proto_derive::CmdID)]
#[cmdid(1558)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyGoodsCsReq {
    #[prost(uint32, tag = "10")]
    pub item_id: u32,
    #[prost(uint32, tag = "7")]
    pub interacted_prop_entity_id: u32,
    #[prost(uint32, tag = "5")]
    pub goods_id: u32,
    #[prost(uint32, repeated, tag = "14")]
    pub fmpnheaimdn: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub shop_id: u32,
    #[prost(uint32, tag = "2")]
    pub goods_num: u32,
}
/// Obf: BuyGoodsScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1524)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyGoodsScRsp {
    #[prost(uint32, tag = "13")]
    pub goods_buy_times: u32,
    #[prost(uint32, tag = "15")]
    pub shop_id: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "11")]
    pub return_item_list: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "1")]
    pub goods_id: u32,
}
/// Obf: GLKECELEPCE
#[derive(proto_derive::CmdID)]
#[cmdid(1530)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeCityShopRewardCsReq {
    #[prost(uint32, tag = "6")]
    pub shop_id: u32,
    #[prost(uint32, tag = "13")]
    pub level: u32,
}
/// Obf: TakeCityShopRewardScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1556)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeCityShopRewardScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub shop_id: u32,
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "10")]
    pub level: u32,
}
/// Obf: CityShopInfoScNotify
#[derive(proto_derive::CmdID)]
#[cmdid(1597)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CityShopInfoScNotify {
    #[prost(uint32, tag = "3")]
    pub exp: u32,
    #[prost(uint32, tag = "10")]
    pub shop_id: u32,
    #[prost(uint32, tag = "8")]
    pub level: u32,
    #[prost(uint64, tag = "14")]
    pub taken_level_reward: u64,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fafgmlpadmi {
    #[prost(bool, tag = "10")]
    pub halbhknpikh: bool,
    #[prost(uint32, tag = "4")]
    pub bejeedaebbe: u32,
    #[prost(uint32, tag = "8")]
    pub unique_id: u32,
    #[prost(uint32, tag = "9")]
    pub fclnoogehmc: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub igjcppkaibi: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "12")]
    pub item_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ipjaiinegel {
    #[prost(uint32, tag = "12")]
    pub ecbalmaebjc: u32,
    #[prost(uint32, tag = "10")]
    pub bejeedaebbe: u32,
}
/// Obf: HINEAHNNJOL
#[derive(proto_derive::CmdID)]
#[cmdid(6701)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooDataCsReq {}
/// Obf: AMIJINMJHPI
#[derive(proto_derive::CmdID)]
#[cmdid(6768)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooDataScRsp {
    #[prost(uint32, repeated, tag = "6")]
    pub dplkbeehplb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "11")]
    pub bnhndbnabfn: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "4")]
    pub aagihkbfmfi: ::prost::alloc::vec::Vec<Fafgmlpadmi>,
    #[prost(uint32, repeated, tag = "15")]
    pub kmoadeogapa: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "7")]
    pub pblcahnmfjg: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "2")]
    pub inihlancnfi: ::prost::alloc::vec::Vec<Ipjaiinegel>,
    #[prost(uint32, repeated, tag = "13")]
    pub pmcmecdlemc: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "8")]
    pub kjfhkicggde: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: ACOPFJAGDAN
#[derive(proto_derive::CmdID)]
#[cmdid(6758)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooBornCsReq {
    #[prost(uint32, tag = "4")]
    pub lheonphgbnb: u32,
    #[prost(uint32, repeated, tag = "10")]
    pub hdcbacooind: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GMDMLBNDCAD
#[derive(proto_derive::CmdID)]
#[cmdid(6724)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooBornScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "14")]
    pub goeaofnfjod: ::prost::alloc::vec::Vec<Ipjaiinegel>,
    #[prost(bool, tag = "2")]
    pub iklpncgbppc: bool,
    #[prost(message, optional, tag = "10")]
    pub kpkdhghdgnb: ::core::option::Option<Fafgmlpadmi>,
}
/// Obf: CLGEJEGDOHO
#[derive(proto_derive::CmdID)]
#[cmdid(6730)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooMutateCsReq {
    #[prost(uint32, tag = "4")]
    pub unique_id: u32,
    #[prost(uint32, tag = "9")]
    pub item_id: u32,
}
/// Obf: CCFOFENAHCA
#[derive(proto_derive::CmdID)]
#[cmdid(6756)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooMutateScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "11")]
    pub goeaofnfjod: ::prost::alloc::vec::Vec<Ipjaiinegel>,
    #[prost(message, optional, tag = "4")]
    pub eflcmhmajal: ::core::option::Option<Fafgmlpadmi>,
    #[prost(bool, tag = "10")]
    pub iklpncgbppc: bool,
}
/// Obf: KFIBELFOHCF
#[derive(proto_derive::CmdID)]
#[cmdid(6797)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooOpCatteryCsReq {
    #[prost(uint32, tag = "7")]
    pub nileedjlgin: u32,
    #[prost(uint32, tag = "11")]
    pub mgdjdoljilj: u32,
    #[prost(uint32, tag = "9")]
    pub algeienioan: u32,
}
/// Obf: HHPGBIFODOJ
#[derive(proto_derive::CmdID)]
#[cmdid(6776)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooOpCatteryScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub kjfhkicggde: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KHBDFDGDLLK
#[derive(proto_derive::CmdID)]
#[cmdid(6728)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooDeleteCatCsReq {
    #[prost(uint32, repeated, tag = "4")]
    pub dejaooebbha: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CAINCJCDALE
#[derive(proto_derive::CmdID)]
#[cmdid(6711)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooDeleteCatScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub nfheagelici: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: JPAKGAEBCFG
#[derive(proto_derive::CmdID)]
#[cmdid(6705)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooCatUpdateNotify {
    #[prost(bool, tag = "9")]
    pub fpmncagjebg: bool,
    #[prost(message, repeated, tag = "6")]
    pub aikmbppnokd: ::prost::alloc::vec::Vec<Fafgmlpadmi>,
    #[prost(bool, tag = "4")]
    pub iklpncgbppc: bool,
}
/// Obf: LCLIHAJNNDF
#[derive(proto_derive::CmdID)]
#[cmdid(6714)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooExchangeItemCsReq {
    #[prost(uint32, tag = "7")]
    pub item_id: u32,
}
/// Obf: EHMCHGFLGGO
#[derive(proto_derive::CmdID)]
#[cmdid(6749)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooExchangeItemScRsp {
    #[prost(uint32, tag = "14")]
    pub item_id: u32,
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: HBFKBBBEHGJ
#[derive(proto_derive::CmdID)]
#[cmdid(6722)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooTakeCsReq {
    #[prost(uint32, tag = "1")]
    pub hlnmajidifd: u32,
}
/// Obf: JJNKPICGLPG
#[derive(proto_derive::CmdID)]
#[cmdid(6747)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooTakeScRsp {
    #[prost(uint32, tag = "5")]
    pub hlnmajidifd: u32,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mjcjaikpllm {
    #[prost(bool, tag = "5")]
    pub acelagjphma: bool,
    #[prost(uint32, tag = "3")]
    pub mpaecapoheo: u32,
    #[prost(uint32, tag = "6")]
    pub group_id: u32,
    #[prost(uint32, tag = "13")]
    pub cbindiaamjg: u32,
    #[prost(uint32, tag = "4")]
    pub ifangmhnkbb: u32,
}
/// Obf: HECAEIHOCCE
#[derive(proto_derive::CmdID)]
#[cmdid(7169)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetStarFightDataCsReq {}
/// Obf: HOLCFKIOBGN
#[derive(proto_derive::CmdID)]
#[cmdid(7168)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetStarFightDataScRsp {
    #[prost(message, repeated, tag = "3")]
    pub bdiimmhjlcn: ::prost::alloc::vec::Vec<Mjcjaikpllm>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aedaoiffign {
    #[prost(enumeration = "AvatarType", tag = "9")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "5")]
    pub avatar_id: u32,
}
/// Obf: JDOLCCABFOH
#[derive(proto_derive::CmdID)]
#[cmdid(7161)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartStarFightLevelCsReq {
    #[prost(uint32, tag = "1")]
    pub nedfibonlkb: u32,
    #[prost(message, repeated, tag = "10")]
    pub avatar_list: ::prost::alloc::vec::Vec<Aedaoiffign>,
    #[prost(uint32, tag = "15")]
    pub group_id: u32,
}
/// Obf: BCOKPHCMNOH
#[derive(proto_derive::CmdID)]
#[cmdid(7166)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartStarFightLevelScRsp {
    #[prost(message, optional, tag = "10")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(uint32, tag = "8")]
    pub nedfibonlkb: u32,
    #[prost(uint32, tag = "12")]
    pub group_id: u32,
}
/// Obf: AHCKMCCDIIJ
#[derive(proto_derive::CmdID)]
#[cmdid(7165)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StarFightDataChangeNotify {
    #[prost(uint32, tag = "14")]
    pub group_id: u32,
    #[prost(message, optional, tag = "2")]
    pub fmcdalalfia: ::core::option::Option<Mjcjaikpllm>,
}
/// Obf: NPHIJIJDPHC
#[derive(proto_derive::CmdID)]
#[cmdid(6201)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetStoryLineInfoCsReq {}
/// Obf: KCBPBDJNPEG
#[derive(proto_derive::CmdID)]
#[cmdid(6268)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetStoryLineInfoScRsp {
    #[prost(uint32, repeated, tag = "8")]
    pub fmihhbhfhoa: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "12")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub glhflieimjk: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: CPDNCFCHAJG
#[derive(proto_derive::CmdID)]
#[cmdid(6258)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StoryLineInfoScNotify {
    #[prost(uint32, tag = "15")]
    pub glhflieimjk: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub fimcejgdagf: u32,
    #[prost(uint32, repeated, tag = "3")]
    pub fmihhbhfhoa: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MDOGEPCPFJO
#[derive(proto_derive::CmdID)]
#[cmdid(6256)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangeStoryLineFinishScNotify {
    #[prost(uint32, tag = "15")]
    pub glhflieimjk: u32,
    #[prost(bool, tag = "7")]
    pub koocceighma: bool,
    #[prost(enumeration = "Amjocdiaphf", tag = "8")]
    pub nfojnohloac: i32,
    #[prost(uint32, tag = "4")]
    pub kidkhjecjlf: u32,
}
/// Obf: POOIBGCAMCD
#[derive(proto_derive::CmdID)]
#[cmdid(6297)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StoryLineTrialAvatarChangeScNotify {
    #[prost(bool, tag = "14")]
    pub cliigmnmhna: bool,
    #[prost(uint32, repeated, tag = "11")]
    pub kfmffggjmne: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "10")]
    pub iblbnianphd: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StrongChallengeAvatar {
    #[prost(enumeration = "AvatarType", tag = "2")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jpfjgfopkhb {
    #[prost(message, repeated, tag = "4")]
    pub avatar_list: ::prost::alloc::vec::Vec<StrongChallengeAvatar>,
    #[prost(uint32, repeated, tag = "6")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Caaakpfoeji {
    #[prost(uint32, tag = "3")]
    pub stage_score: u32,
    #[prost(uint32, tag = "9")]
    pub jgbainfdban: u32,
    #[prost(message, optional, tag = "1")]
    pub ahinpckgkjg: ::core::option::Option<Jpfjgfopkhb>,
    #[prost(uint32, tag = "8")]
    pub stage_id: u32,
    #[prost(uint32, tag = "5")]
    pub module_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hlkgcnfccia {
    #[prost(map = "uint32, message", tag = "3")]
    pub alcedmlhflm: ::std::collections::HashMap<u32, Caaakpfoeji>,
}
/// Obf: DCIGBDPOOCP
#[derive(proto_derive::CmdID)]
#[cmdid(6601)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetStrongChallengeActivityDataCsReq {}
/// Obf: OPFOLDIBJPE
#[derive(proto_derive::CmdID)]
#[cmdid(6668)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetStrongChallengeActivityDataScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub giilgffkhda: ::core::option::Option<Hlkgcnfccia>,
}
/// Obf: AMMBLGICEAI
#[derive(proto_derive::CmdID)]
#[cmdid(6658)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterStrongChallengeActivityStageCsReq {
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<StrongChallengeAvatar>,
    #[prost(uint32, tag = "4")]
    pub stage_id: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PAPOJHEABLF
#[derive(proto_derive::CmdID)]
#[cmdid(6624)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterStrongChallengeActivityStageScRsp {
    #[prost(uint32, tag = "13")]
    pub stage_id: u32,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(message, optional, tag = "12")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: BHOPHDIKNHE
#[derive(proto_derive::CmdID)]
#[cmdid(6630)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StrongChallengeActivityBattleEndScNotify {
    #[prost(uint32, tag = "5")]
    pub total_damage: u32,
    #[prost(uint32, tag = "11")]
    pub ahjfpngdbdo: u32,
    #[prost(enumeration = "BattleEndStatus", tag = "1")]
    pub end_status: i32,
    #[prost(uint32, tag = "13")]
    pub ggbecchphcd: u32,
    #[prost(uint32, tag = "14")]
    pub stage_score: u32,
    #[prost(uint32, tag = "8")]
    pub stage_id: u32,
    #[prost(uint32, tag = "4")]
    pub jamlokncakc: u32,
    #[prost(uint32, tag = "3")]
    pub score: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pgbhmolfbmm {
    #[prost(uint32, tag = "15")]
    pub stars: u32,
    #[prost(uint32, tag = "13")]
    pub group_id: u32,
    #[prost(uint32, tag = "10")]
    pub nedfibonlkb: u32,
}
/// Obf: POPIFPMLMAN
#[derive(proto_derive::CmdID)]
#[cmdid(7569)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSummonActivityDataCsReq {}
/// Obf: LCDFPJKEPCN
#[derive(proto_derive::CmdID)]
#[cmdid(7568)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSummonActivityDataScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "15")]
    pub jhomkemcdmg: ::prost::alloc::vec::Vec<Pgbhmolfbmm>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Onoeplfnell {
    #[prost(enumeration = "AvatarType", tag = "10")]
    pub avatar_type: i32,
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
}
/// Obf: FCLMMIMNEKI
#[derive(proto_derive::CmdID)]
#[cmdid(7561)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSummonActivityStageCsReq {
    #[prost(message, optional, tag = "4")]
    pub mnoedeclhbj: ::core::option::Option<Onoeplfnell>,
    #[prost(uint32, tag = "10")]
    pub group_id: u32,
    #[prost(message, repeated, tag = "11")]
    pub avatar_list: ::prost::alloc::vec::Vec<Onoeplfnell>,
    #[prost(uint32, tag = "15")]
    pub nedfibonlkb: u32,
}
/// Obf: HBHJHHOBNDN
#[derive(proto_derive::CmdID)]
#[cmdid(7566)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSummonActivityStageScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub group_id: u32,
    #[prost(message, optional, tag = "15")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "14")]
    pub nedfibonlkb: u32,
}
/// Obf: FNGLNJJJJGI
#[derive(proto_derive::CmdID)]
#[cmdid(7565)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SummonActivityBattleEndScNotify {
    #[prost(uint32, tag = "6")]
    pub group_id: u32,
    #[prost(uint32, tag = "1")]
    pub nedfibonlkb: u32,
    #[prost(uint32, tag = "3")]
    pub stars: u32,
    #[prost(uint32, tag = "8")]
    pub hmffhgbkogl: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fpppjcpijjf {
    #[prost(uint32, tag = "13")]
    pub mcbiohmimgn: u32,
    #[prost(uint32, tag = "11")]
    pub gfjiiabanlm: u32,
    #[prost(bytes = "vec", tag = "10")]
    pub mjnnblcdcbj: ::prost::alloc::vec::Vec<u8>,
    #[prost(uint32, tag = "1")]
    pub config_id: u32,
    #[prost(message, optional, tag = "12")]
    pub ofolpkmalgi: ::core::option::Option<MotionInfo>,
}
/// Obf: KOENHFBKMIH
#[derive(proto_derive::CmdID)]
#[cmdid(8117)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchHandDataCsReq {
    #[prost(uint32, tag = "15")]
    pub config_id: u32,
}
/// Obf: EGGGCFAPAHG
#[derive(proto_derive::CmdID)]
#[cmdid(8108)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchHandDataScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "11")]
    pub abojjandfno: u32,
    #[prost(message, repeated, tag = "1")]
    pub lbomdfhffcf: ::prost::alloc::vec::Vec<Fpppjcpijjf>,
    #[prost(uint32, tag = "2")]
    pub dlnghhdmjjm: u32,
}
/// Obf: FFCCFLLHHMC
#[derive(proto_derive::CmdID)]
#[cmdid(8112)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchHandStartCsReq {
    #[prost(uint32, tag = "10")]
    pub config_id: u32,
}
/// Obf: POGCIOCHLCF
#[derive(proto_derive::CmdID)]
#[cmdid(8102)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchHandStartScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub config_id: u32,
}
/// Obf: JAMMDOJMEPN
#[derive(proto_derive::CmdID)]
#[cmdid(8104)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchHandFinishCsReq {}
/// Obf: HOHCGKAGLIP
#[derive(proto_derive::CmdID)]
#[cmdid(8101)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchHandFinishScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub cmfmacmipee: ::core::option::Option<Fpppjcpijjf>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pmgecpbkjcj {
    #[prost(enumeration = "Leglgdjopkc", tag = "13")]
    pub mgdjdoljilj: i32,
    #[prost(uint32, tag = "3")]
    pub group_id: u32,
    #[prost(uint32, tag = "7")]
    pub kdlpeighjak: u32,
    #[prost(uint32, tag = "9")]
    pub iefmadjgadb: u32,
}
/// Obf: MAHJCOPDGDM
#[derive(proto_derive::CmdID)]
#[cmdid(8119)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchHandUpdateCsReq {
    #[prost(message, optional, tag = "8")]
    pub opbhjagoagg: ::core::option::Option<Fpppjcpijjf>,
    #[prost(message, optional, tag = "13")]
    pub clbmgbfanlc: ::core::option::Option<Pmgecpbkjcj>,
}
/// Obf: CGAJJADDPCI
#[derive(proto_derive::CmdID)]
#[cmdid(8114)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchHandUpdateScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "10")]
    pub cmfmacmipee: ::core::option::Option<Fpppjcpijjf>,
    #[prost(message, optional, tag = "11")]
    pub clbmgbfanlc: ::core::option::Option<Pmgecpbkjcj>,
}
/// Obf: MMANBFNCBDO
#[derive(proto_derive::CmdID)]
#[cmdid(8115)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchHandCoinUpdateCsReq {
    #[prost(uint32, tag = "1")]
    pub mcbiohmimgn: u32,
}
/// Obf: BBKEFFCLBML
#[derive(proto_derive::CmdID)]
#[cmdid(8106)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchHandCoinUpdateScRsp {
    #[prost(uint32, tag = "4")]
    pub mcbiohmimgn: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Alefdnllklb {
    #[prost(uint32, repeated, tag = "7")]
    pub fdeigepccbp: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "4")]
    pub nncjoeckcka: ::core::option::Option<Bppmeigahgi>,
    #[prost(message, optional, tag = "10")]
    pub afpdjdkneni: ::core::option::Option<Ocbolhfoigi>,
    #[prost(message, optional, tag = "14")]
    pub skill_info: ::core::option::Option<Gjbniiinkfb>,
    #[prost(message, optional, tag = "3")]
    pub ljgcpnogifo: ::core::option::Option<Dmjlkifemmn>,
    #[prost(message, optional, tag = "1")]
    pub gbeabimobic: ::core::option::Option<Pgggcfbkdpk>,
    #[prost(uint32, tag = "2")]
    pub eenjbpmndol: u32,
    #[prost(message, optional, tag = "5")]
    pub kndmeilhkej: ::core::option::Option<Jkmfmmpmnam>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gjbniiinkfb {
    #[prost(uint32, tag = "5")]
    pub bilegelkmcb: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub cckhkbnmapn: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub mcegaibnmgb: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pgggcfbkdpk {
    #[prost(uint32, repeated, tag = "12")]
    pub cnbckefnfge: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "8")]
    pub emdhekkocmd: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmoibacbpka {
    #[prost(enumeration = "Hdijjmdpile", tag = "14")]
    pub pjgbfknjpno: i32,
    #[prost(uint32, tag = "10")]
    pub mbmdocjimej: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bppmeigahgi {
    #[prost(message, repeated, tag = "7")]
    pub migfmpjbelg: ::prost::alloc::vec::Vec<Mmoibacbpka>,
    #[prost(uint32, tag = "6")]
    pub pdmdkapcojm: u32,
    #[prost(uint32, tag = "3")]
    pub iomgdikelia: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Leehjgnbgnk {
    #[prost(uint32, tag = "6")]
    pub level: u32,
    #[prost(uint32, tag = "15")]
    pub hbapccegnme: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ocbolhfoigi {
    #[prost(message, repeated, tag = "2")]
    pub fmdkhadmcoc: ::prost::alloc::vec::Vec<Leehjgnbgnk>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmjlkifemmn {
    #[prost(uint32, tag = "58")]
    pub ighlabggije: u32,
    #[prost(oneof = "dmjlkifemmn::Buff", tags = "3, 9")]
    pub buff: ::core::option::Option<dmjlkifemmn::Buff>,
}
/// Nested message and enum types in `DMJLKIFEMMN`.
pub mod dmjlkifemmn {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "3")]
        Gaibhjhdohb(super::Klinpbnkiia),
        #[prost(message, tag = "9")]
        Kpjafbcpegi(super::Pbmkkicmlda),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Piibojcejjn {
    #[prost(uint32, tag = "3")]
    pub colbgejelgi: u32,
    #[prost(uint32, tag = "6")]
    pub gimlndloffa: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Klinpbnkiia {
    #[prost(uint32, repeated, tag = "3")]
    pub eijdeopofnb: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "15")]
    pub dncbpcenkif: ::prost::alloc::vec::Vec<Piibojcejjn>,
    #[prost(enumeration = "Bjncdefeeji", tag = "8")]
    pub ccljmnckecp: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pbmkkicmlda {
    #[prost(uint32, tag = "15")]
    pub fhbomfblgpd: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jkmfmmpmnam {
    #[prost(oneof = "jkmfmmpmnam::Buff", tags = "4, 9, 11, 2, 15, 1, 3, 14")]
    pub buff: ::core::option::Option<jkmfmmpmnam::Buff>,
}
/// Nested message and enum types in `JKMFMMPMNAM`.
pub mod jkmfmmpmnam {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "4")]
        Kangpcokfne(super::Dpdiegoagbp),
        #[prost(message, tag = "9")]
        Hhcifnfmkla(super::Fpegpjceoei),
        #[prost(message, tag = "11")]
        Ocgplmnkmlk(super::Fkhfonpkdip),
        #[prost(message, tag = "2")]
        Akmnkladolm(super::Aejccmeplgo),
        #[prost(message, tag = "15")]
        Kkddandlfbd(super::Nigcopghamj),
        #[prost(message, tag = "1")]
        Affnconkekp(super::Khphaifnjei),
        #[prost(message, tag = "3")]
        Cnibngjdnjp(super::Plodidcjoka),
        #[prost(message, tag = "14")]
        Oapmklfjkkg(super::Khcakpomgnk),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dpdiegoagbp {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fpegpjceoei {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fkhfonpkdip {
    #[prost(uint32, tag = "12")]
    pub dgaklnofdpp: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aejccmeplgo {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nigcopghamj {
    #[prost(bool, tag = "4")]
    pub hhgapdfindi: bool,
    #[prost(uint32, tag = "7")]
    pub bglehmkmapg: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Khphaifnjei {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plodidcjoka {}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Khcakpomgnk {
    #[prost(bool, tag = "8")]
    pub mmkijaemnbl: bool,
    #[prost(uint32, tag = "12")]
    pub bglehmkmapg: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Omojdeifdam {
    #[prost(enumeration = "Pkhjbpmibba", tag = "8")]
    pub source: i32,
    #[prost(message, optional, tag = "9")]
    pub pbhmgchkjgo: ::core::option::Option<Cghkidbjhfh>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cghkidbjhfh {
    #[prost(
        oneof = "cghkidbjhfh::Buff",
        tags = "9, 13, 12, 7, 8, 11, 1, 14, 1621, 2033, 279, 1686"
    )]
    pub buff: ::core::option::Option<cghkidbjhfh::Buff>,
}
/// Nested message and enum types in `CGHKIDBJHFH`.
pub mod cghkidbjhfh {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Buff {
        #[prost(message, tag = "9")]
        Pjabkifdnnd(super::Nlcalklpgog),
        #[prost(message, tag = "13")]
        Nihifemokam(super::Ojlehppjbbc),
        #[prost(message, tag = "12")]
        Mlcgalihaip(super::Ojlehppjbbc),
        #[prost(message, tag = "7")]
        Bidddnipble(super::Ocjgnpifobm),
        #[prost(message, tag = "8")]
        Dijhpehonok(super::Nmenkignbca),
        #[prost(message, tag = "11")]
        Edhbkecgoli(super::Nigcopghamj),
        #[prost(message, tag = "1")]
        Mfhbhkimdca(super::Hjkdngihmaa),
        #[prost(uint32, tag = "14")]
        Npfpajlclnn(u32),
        #[prost(uint32, tag = "1621")]
        Iomgdikelia(u32),
        #[prost(message, tag = "2033")]
        Gkahdhelild(super::Khcakpomgnk),
        #[prost(message, tag = "279")]
        Gnpeameljdj(super::Khphaifnjei),
        #[prost(uint32, tag = "1686")]
        Cbakihcdenp(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hjkdngihmaa {
    #[prost(uint32, tag = "12")]
    pub dgaklnofdpp: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nlcalklpgog {
    #[prost(uint32, tag = "13")]
    pub bmalpkekbel: u32,
    #[prost(enumeration = "Hdijjmdpile", tag = "11")]
    pub pjgbfknjpno: i32,
    #[prost(uint32, tag = "10")]
    pub ogjofmcmfpg: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ojlehppjbbc {
    #[prost(uint32, tag = "8")]
    pub ogjofmcmfpg: u32,
    #[prost(uint32, tag = "7")]
    pub bmalpkekbel: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ocjgnpifobm {
    #[prost(uint32, tag = "8")]
    pub hbapccegnme: u32,
    #[prost(uint32, tag = "3")]
    pub level: u32,
    #[prost(uint32, tag = "1")]
    pub gffbdandhmk: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nmenkignbca {
    #[prost(uint32, tag = "6")]
    pub eenjbpmndol: u32,
    #[prost(message, optional, tag = "5")]
    pub ifnmbngifph: ::core::option::Option<Dmjlkifemmn>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fgpbibijcoh {
    #[prost(uint32, tag = "6")]
    pub bglehmkmapg: u32,
    #[prost(bool, tag = "15")]
    pub hhgapdfindi: bool,
}
/// Obf: ELFHACGFJLA
#[derive(proto_derive::CmdID)]
#[cmdid(7476)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingGameSyncChangeScNotify {
    #[prost(message, repeated, tag = "3")]
    pub leadmneimdp: ::prost::alloc::vec::Vec<Omojdeifdam>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hdfkpeebgen {
    #[prost(uint32, tag = "1")]
    pub id: u32,
    #[prost(uint32, tag = "8")]
    pub progress: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nokodmnohmn {
    #[prost(message, repeated, tag = "9")]
    pub nckcmgcbehk: ::prost::alloc::vec::Vec<Hdfkpeebgen>,
    #[prost(uint32, repeated, tag = "12")]
    pub onilffenamo: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LHJKEPDFKNE
#[derive(proto_derive::CmdID)]
#[cmdid(7487)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSwordTrainingDataCsReq {}
/// Obf: KKBLLPIMOFE
#[derive(proto_derive::CmdID)]
#[cmdid(7491)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSwordTrainingDataScRsp {
    #[prost(uint32, tag = "6")]
    pub dchgiodeddk: u32,
    #[prost(message, optional, tag = "1")]
    pub kjkbkegighk: ::core::option::Option<Nokodmnohmn>,
    #[prost(uint32, repeated, tag = "7")]
    pub fabkphmjghl: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "9")]
    pub cnbckefnfge: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub gajbfpcpigm: ::core::option::Option<Alefdnllklb>,
    #[prost(uint32, repeated, tag = "10")]
    pub joefnhggago: ::prost::alloc::vec::Vec<u32>,
    #[prost(bool, tag = "5")]
    pub klbpecanfig: bool,
}
/// Obf: JJLBIMDBBFO
#[derive(proto_derive::CmdID)]
#[cmdid(7493)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingTurnActionCsReq {
    #[prost(uint32, repeated, tag = "11")]
    pub bhnfgpehomo: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "10")]
    pub phajehibkfi: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KCEGAODICJI
#[derive(proto_derive::CmdID)]
#[cmdid(7456)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingTurnActionScRsp {
    #[prost(uint32, repeated, tag = "15")]
    pub bhnfgpehomo: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: FGKECAODGEJ
#[derive(proto_derive::CmdID)]
#[cmdid(7483)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingDailyPhaseConfirmCsReq {
    #[prost(enumeration = "Bjncdefeeji", tag = "11")]
    pub ifenlnhlbab: i32,
}
/// Obf: PEGEPJMHJIB
#[derive(proto_derive::CmdID)]
#[cmdid(7457)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingDailyPhaseConfirmScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(bool, tag = "2")]
    pub mllaefjemcf: bool,
}
/// Obf: LPNMKOBGOGP
#[derive(proto_derive::CmdID)]
#[cmdid(7479)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingDialogueSelectOptionCsReq {
    #[prost(uint32, tag = "6")]
    pub kdmlllghjon: u32,
}
/// Obf: AOGGAIFEDNB
#[derive(proto_derive::CmdID)]
#[cmdid(7475)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingDialogueSelectOptionScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: CPECMGMHIDJ
#[derive(proto_derive::CmdID)]
#[cmdid(7499)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingExamResultConfirmCsReq {}
/// Obf: BBOJCPFOMIK
#[derive(proto_derive::CmdID)]
#[cmdid(7477)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingExamResultConfirmScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: PCMEEBKMAHE
#[derive(proto_derive::CmdID)]
#[cmdid(7454)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSwordTrainingExamCsReq {}
/// Obf: DLMIPAJAPDF
#[derive(proto_derive::CmdID)]
#[cmdid(7482)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSwordTrainingExamScRsp {
    #[prost(message, optional, tag = "14")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: EAPONEPJPJP
#[derive(proto_derive::CmdID)]
#[cmdid(7464)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingLearnSkillCsReq {
    #[prost(uint32, tag = "3")]
    pub ooackegemfk: u32,
}
/// Obf: JEADDDHEHND
#[derive(proto_derive::CmdID)]
#[cmdid(7490)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingLearnSkillScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub ooackegemfk: u32,
}
/// Obf: JIKIHMKJIEO
#[derive(proto_derive::CmdID)]
#[cmdid(7460)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingStartGameCsReq {
    #[prost(uint32, tag = "2")]
    pub emdhekkocmd: u32,
}
/// Obf: MFCGPEOMKJE
#[derive(proto_derive::CmdID)]
#[cmdid(7485)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingStartGameScRsp {
    #[prost(message, optional, tag = "14")]
    pub gajbfpcpigm: ::core::option::Option<Alefdnllklb>,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: LOAPBEMIDAM
#[derive(proto_derive::CmdID)]
#[cmdid(7459)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingStoryConfirmCsReq {
    #[prost(uint32, tag = "5")]
    pub bglehmkmapg: u32,
}
/// Obf: JENLLNIJOBE
#[derive(proto_derive::CmdID)]
#[cmdid(7474)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingStoryConfirmScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub bglehmkmapg: u32,
}
/// Obf: JJKIJLKPOKL
#[derive(proto_derive::CmdID)]
#[cmdid(7451)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingGiveUpGameCsReq {}
/// Obf: OEIGKGMBLBG
#[derive(proto_derive::CmdID)]
#[cmdid(7471)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingGiveUpGameScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: DGNDIFJABGO
#[derive(proto_derive::CmdID)]
#[cmdid(7489)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingGameSettleScNotify {
    #[prost(uint32, repeated, tag = "1")]
    pub ccdchkkmgjf: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "11")]
    pub emdhekkocmd: u32,
    #[prost(uint32, tag = "14")]
    pub pigeebckcoo: u32,
    #[prost(uint32, tag = "15")]
    pub ifnmbngifph: u32,
    #[prost(enumeration = "Hdmkphalalg", tag = "13")]
    pub reason: i32,
    #[prost(uint32, repeated, tag = "9")]
    pub ppimfpoookb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "5")]
    pub fpbnipmhanh: u32,
}
/// Obf: ENFADGFGDBJ
#[derive(proto_derive::CmdID)]
#[cmdid(7495)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingUnlockSyncScNotify {
    #[prost(message, repeated, tag = "14")]
    pub nckcmgcbehk: ::prost::alloc::vec::Vec<Hdfkpeebgen>,
    #[prost(uint32, repeated, tag = "7")]
    pub onilffenamo: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MKHLGDKELHO
#[derive(proto_derive::CmdID)]
#[cmdid(7462)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingSelectEndingCsReq {
    #[prost(uint32, tag = "7")]
    pub decjmbhnnhd: u32,
}
/// Obf: KFLBGENLBFF
#[derive(proto_derive::CmdID)]
#[cmdid(7467)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingSelectEndingScRsp {
    #[prost(uint32, tag = "8")]
    pub decjmbhnnhd: u32,
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: CJHKGENFDCH
#[derive(proto_derive::CmdID)]
#[cmdid(7484)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingRestoreGameCsReq {}
/// Obf: FHBBIAGBEJI
#[derive(proto_derive::CmdID)]
#[cmdid(7466)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingRestoreGameScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub gajbfpcpigm: ::core::option::Option<Alefdnllklb>,
}
/// Obf: CCMJFLHNGGI
#[derive(proto_derive::CmdID)]
#[cmdid(7494)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingStoryBattleCsReq {}
/// Obf: HIOHBJOANDD
#[derive(proto_derive::CmdID)]
#[cmdid(7473)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingStoryBattleScRsp {
    #[prost(message, optional, tag = "10")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: OAPHHNLJCHK
#[derive(proto_derive::CmdID)]
#[cmdid(7496)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingActionTurnSettleScNotify {
    #[prost(uint32, tag = "13")]
    pub cgfcmknccdc: u32,
    #[prost(message, repeated, tag = "12")]
    pub mcccnliiibc: ::prost::alloc::vec::Vec<Mmoibacbpka>,
}
/// Obf: NNDFDPAEKJJ
#[derive(proto_derive::CmdID)]
#[cmdid(7461)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingResumeGameCsReq {
    #[prost(uint32, tag = "6")]
    pub emdhekkocmd: u32,
}
/// Obf: EAFLOMBBLJK
#[derive(proto_derive::CmdID)]
#[cmdid(7469)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingResumeGameScRsp {
    #[prost(message, optional, tag = "1")]
    pub gajbfpcpigm: ::core::option::Option<Alefdnllklb>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: OODJIEAHFBF
#[derive(proto_derive::CmdID)]
#[cmdid(7468)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingSetSkillTraceCsReq {
    #[prost(uint32, tag = "4")]
    pub ooackegemfk: u32,
}
/// Obf: EFPCOKHFFLP
#[derive(proto_derive::CmdID)]
#[cmdid(7472)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingSetSkillTraceScRsp {
    #[prost(uint32, tag = "2")]
    pub ooackegemfk: u32,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: KPMHLMPAFHH
#[derive(proto_derive::CmdID)]
#[cmdid(7455)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingMarkEndingViewedCsReq {}
/// Obf: FDMEPFLFBKM
#[derive(proto_derive::CmdID)]
#[cmdid(7500)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingMarkEndingViewedScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Blpmhfgioac {
    #[prost(uint32, tag = "13")]
    pub keneknbjgmg: u32,
    #[prost(uint32, tag = "2")]
    pub stamina: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BoardDataSync {
    #[prost(string, tag = "4")]
    pub signature: ::prost::alloc::string::String,
    #[prost(bool, tag = "9")]
    pub pagjkdjigpi: bool,
    #[prost(message, repeated, tag = "12")]
    pub unlocked_head_icon_list: ::prost::alloc::vec::Vec<HeadIcon>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarSync {
    #[prost(message, repeated, tag = "6")]
    pub avatar_list: ::prost::alloc::vec::Vec<Avatar>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionSync {
    #[prost(message, repeated, tag = "13")]
    pub gaegmbiogoh: ::prost::alloc::vec::Vec<Fhabeikafbo>,
    #[prost(message, repeated, tag = "5")]
    pub mission_list: ::prost::alloc::vec::Vec<Mission>,
    #[prost(uint32, repeated, tag = "10")]
    pub anihpckngbm: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "2")]
    pub hnepoedcidk: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "4")]
    pub ejbggjonbol: ::prost::alloc::vec::Vec<Ikammklboco>,
    #[prost(uint32, repeated, tag = "1")]
    pub finished_mission_id: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "15")]
    pub mcfonopkokd: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmbmpahkhla {
    #[prost(uint32, repeated, tag = "14")]
    pub lkkidnjcfja: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "4")]
    pub dingkfdbcjj: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lpfmhajhdmm {
    #[prost(message, repeated, tag = "4")]
    pub omaalpkjiih: ::prost::alloc::vec::Vec<Lopcjeojhcb>,
    #[prost(uint32, repeated, tag = "8")]
    pub cngldjnpopi: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, repeated, tag = "14")]
    pub lnejlgefple: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "11")]
    pub kmmbeandijh: ::prost::alloc::vec::Vec<Gemjdhnlklc>,
}
/// Obf: DBGAEOOJOJA
#[derive(proto_derive::CmdID)]
#[cmdid(601)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerSyncScNotify {
    /// TODO
    #[prost(uint32, repeated, tag = "645")]
    pub olflkcbbjoh: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "576")]
    pub bkebjfipjeh: ::core::option::Option<Lpfmhajhdmm>,
    /// TODO
    #[prost(uint32, repeated, tag = "7")]
    pub del_equipment_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "632")]
    pub mjoklhfpgad: ::core::option::Option<ItemList>,
    #[prost(message, repeated, tag = "4")]
    pub equipment_list: ::prost::alloc::vec::Vec<Equipment>,
    #[prost(message, repeated, tag = "120")]
    pub multi_path_avatar_type_info_list: ::prost::alloc::vec::Vec<
        MultiPathAvatarTypeInfo,
    >,
    #[prost(message, repeated, tag = "1019")]
    pub fcokffeapmi: ::prost::alloc::vec::Vec<Material>,
    #[prost(message, repeated, tag = "10")]
    pub hlinmkbdknc: ::prost::alloc::vec::Vec<WaitDelResource>,
    #[prost(message, optional, tag = "8")]
    pub avatar_sync: ::core::option::Option<AvatarSync>,
    #[prost(message, repeated, tag = "12")]
    pub relic_list: ::prost::alloc::vec::Vec<Relic>,
    #[prost(uint32, tag = "1356")]
    pub total_achievement_exp: u32,
    #[prost(message, optional, tag = "2")]
    pub gejlekbbfnc: ::core::option::Option<MissionSync>,
    #[prost(message, optional, tag = "1863")]
    pub omjopkgjplg: ::core::option::Option<Dmbmpahkhla>,
    #[prost(message, optional, tag = "5")]
    pub iggogfjfpdj: ::core::option::Option<Blpmhfgioac>,
    /// TODO
    #[prost(uint32, repeated, tag = "1")]
    pub del_relic_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "71")]
    pub board_data_sync: ::core::option::Option<BoardDataSync>,
    #[prost(message, repeated, tag = "6")]
    pub material_list: ::prost::alloc::vec::Vec<Material>,
    #[prost(message, repeated, tag = "15")]
    pub quest_list: ::prost::alloc::vec::Vec<Quest>,
    #[prost(message, optional, tag = "14")]
    pub basic_info: ::core::option::Option<PlayerBasicInfo>,
    #[prost(message, repeated, tag = "2019")]
    pub igipeimgeaa: ::prost::alloc::vec::Vec<Gkdihiffhfd>,
}
/// Obf: NCIPMMDBMFO
#[derive(proto_derive::CmdID)]
#[cmdid(2101)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetNpcTakenRewardCsReq {
    #[prost(uint32, tag = "6")]
    pub npc_id: u32,
}
/// Obf: CGLKMNBLCJE
#[derive(proto_derive::CmdID)]
#[cmdid(2168)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetNpcTakenRewardScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub npc_id: u32,
    #[prost(uint32, repeated, tag = "5")]
    pub iifaoneejck: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KBCCBPPBMAJ
#[derive(proto_derive::CmdID)]
#[cmdid(2158)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeTalkRewardCsReq {
    #[prost(uint32, tag = "14")]
    pub iemoeoimhma: u32,
    #[prost(message, optional, tag = "3")]
    pub olconcnjmmp: ::core::option::Option<Vector>,
}
/// Obf: KDPLIJBIDGG
#[derive(proto_derive::CmdID)]
#[cmdid(2124)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeTalkRewardScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "10")]
    pub iemoeoimhma: u32,
}
/// Obf: ICIAIKMGAHC
#[derive(proto_derive::CmdID)]
#[cmdid(2130)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFirstTalkNpcCsReq {
    #[prost(uint32, repeated, tag = "1")]
    pub npc_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FirstNpcTalkInfo {
    #[prost(bool, tag = "5")]
    pub iagodfdjaik: bool,
    #[prost(uint32, tag = "6")]
    pub npc_id: u32,
}
/// Obf: ALHBIKAJFLD
#[derive(proto_derive::CmdID)]
#[cmdid(2156)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFirstTalkNpcScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "13")]
    pub npc_talk_info_list: ::prost::alloc::vec::Vec<FirstNpcTalkInfo>,
}
/// Obf: ILNJIODJHKG
#[derive(proto_derive::CmdID)]
#[cmdid(2197)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishFirstTalkNpcCsReq {
    #[prost(uint32, tag = "3")]
    pub npc_id: u32,
}
/// Obf: PPEGBECCDPK
#[derive(proto_derive::CmdID)]
#[cmdid(2176)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishFirstTalkNpcScRsp {
    #[prost(uint32, tag = "1")]
    pub npc_id: u32,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: OJJHHHGOMNH
#[derive(proto_derive::CmdID)]
#[cmdid(2128)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelectInclinationTextCsReq {
    #[prost(uint32, tag = "10")]
    pub pkdcpmnagbc: u32,
}
/// Obf: KIHHNLOOGAG
#[derive(proto_derive::CmdID)]
#[cmdid(2111)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelectInclinationTextScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(uint32, tag = "10")]
    pub pkdcpmnagbc: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NpcTalkInfo {
    #[prost(uint32, tag = "8")]
    pub npc_talk_id: u32,
    #[prost(bool, tag = "15")]
    pub iagodfdjaik: bool,
}
/// Obf: JBMHEKHJDPP
#[derive(proto_derive::CmdID)]
#[cmdid(2105)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFirstTalkByPerformanceNpcCsReq {
    #[prost(uint32, repeated, tag = "8")]
    pub npc_talk_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LHKKJHDMOEK
#[derive(proto_derive::CmdID)]
#[cmdid(2114)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFirstTalkByPerformanceNpcScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "10")]
    pub npc_talk_info_list: ::prost::alloc::vec::Vec<NpcTalkInfo>,
}
/// Obf: BCOFMAKPDMJ
#[derive(proto_derive::CmdID)]
#[cmdid(2149)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishFirstTalkByPerformanceNpcCsReq {
    #[prost(uint32, tag = "7")]
    pub npc_talk_id: u32,
}
/// Obf: PCBEHBGJJHO
#[derive(proto_derive::CmdID)]
#[cmdid(2122)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishFirstTalkByPerformanceNpcScRsp {
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "11")]
    pub npc_talk_id: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ejdgknkhkhh {
    #[prost(uint32, tag = "9")]
    pub id: u32,
    #[prost(uint32, tag = "6")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bkmgdphacke {
    #[prost(bool, tag = "9")]
    pub biinncndpcg: bool,
    #[prost(uint32, tag = "15")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Floickmnmll {
    #[prost(message, repeated, tag = "14")]
    pub cnijnmdgedd: ::prost::alloc::vec::Vec<Ejdgknkhkhh>,
    #[prost(message, repeated, tag = "2")]
    pub dgpejfljnoj: ::prost::alloc::vec::Vec<Bkmgdphacke>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ofdgogdbhac {
    #[prost(uint32, repeated, tag = "3")]
    pub libllkbldch: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: AGOOPHCEBGA
#[derive(proto_derive::CmdID)]
#[cmdid(8157)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookGetDataCsReq {}
/// Obf: FEAOPDEBLKH
#[derive(proto_derive::CmdID)]
#[cmdid(8148)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookGetDataScRsp {
    #[prost(uint32, tag = "3")]
    pub fdckfkfkhlo: u32,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(map = "uint32, uint32", tag = "6")]
    pub ndcjjpgnfln: ::std::collections::HashMap<u32, u32>,
    #[prost(message, optional, tag = "11")]
    pub ipninopekbp: ::core::option::Option<Ofdgogdbhac>,
    #[prost(message, optional, tag = "13")]
    pub hefjejhojea: ::core::option::Option<Floickmnmll>,
    #[prost(map = "uint32, uint32", tag = "4")]
    pub jkemdjiamhi: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "1")]
    pub energy_info: u32,
}
/// Obf: JKKNJEBJOAE
#[derive(proto_derive::CmdID)]
#[cmdid(8152)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookOpenPackCsReq {}
/// Obf: CEJEJDMNDMC
#[derive(proto_derive::CmdID)]
#[cmdid(8142)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookOpenPackScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(uint32, tag = "5")]
    pub fdckfkfkhlo: u32,
    #[prost(map = "uint32, uint32", tag = "14")]
    pub cjencdiflcf: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "10")]
    pub energy_info: u32,
    #[prost(map = "uint32, uint32", tag = "9")]
    pub iikbcnbjkki: ::std::collections::HashMap<u32, u32>,
}
/// Obf: IANILBPCLKD
#[derive(proto_derive::CmdID)]
#[cmdid(8144)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookUnlockStoryCsReq {
    #[prost(uint32, repeated, tag = "15")]
    pub ppimfpoookb: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: OPPAPMHJMPI
#[derive(proto_derive::CmdID)]
#[cmdid(8141)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookUnlockStoryScRsp {
    #[prost(uint32, repeated, tag = "11")]
    pub ppimfpoookb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(map = "uint32, uint32", tag = "4")]
    pub ndcjjpgnfln: ::std::collections::HashMap<u32, u32>,
    #[prost(map = "uint32, uint32", tag = "15")]
    pub jkemdjiamhi: ::std::collections::HashMap<u32, u32>,
    #[prost(message, optional, tag = "2")]
    pub ppdggociede: ::core::option::Option<Ejdgknkhkhh>,
}
/// Obf: KPDNPGFDOBI
#[derive(proto_derive::CmdID)]
#[cmdid(8159)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookFinishStoryCsReq {
    #[prost(uint32, tag = "6")]
    pub bglehmkmapg: u32,
}
/// Obf: PMGLNLDDNJE
#[derive(proto_derive::CmdID)]
#[cmdid(8154)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookFinishStoryScRsp {
    #[prost(uint32, tag = "9")]
    pub bglehmkmapg: u32,
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "2")]
    pub hefjejhojea: ::core::option::Option<Floickmnmll>,
}
/// Obf: HDMJLGMDIFG
#[derive(proto_derive::CmdID)]
#[cmdid(8155)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookModifyEnergyScNotify {
    #[prost(uint32, tag = "15")]
    pub energy_info: u32,
    #[prost(uint32, tag = "5")]
    pub lplhiabdbbg: u32,
}
/// Obf: LDDNFMIHEEH
#[derive(proto_derive::CmdID)]
#[cmdid(8146)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookFinishInteractionCsReq {
    #[prost(uint32, tag = "12")]
    pub nblhjjjegno: u32,
}
/// Obf: EKPJDGCKGMN
#[derive(proto_derive::CmdID)]
#[cmdid(8158)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookFinishInteractionScRsp {
    #[prost(uint32, tag = "1")]
    pub nblhjjjegno: u32,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ogjdnlijkfb {
    #[prost(uint32, tag = "3")]
    pub stage_score: u32,
    #[prost(uint32, tag = "9")]
    pub kegcjppokbk: u32,
    #[prost(uint32, tag = "13")]
    pub ninlfbglbll: u32,
}
/// Obf: KPKGBOGHIJN
#[derive(proto_derive::CmdID)]
#[cmdid(6977)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTelevisionActivityDataCsReq {}
/// Obf: PHNAEIKGJHB
#[derive(proto_derive::CmdID)]
#[cmdid(6968)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTelevisionActivityDataScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "7")]
    pub kadgmhhgkmp: ::prost::alloc::vec::Vec<Ogjdnlijkfb>,
}
/// Obf: LFJAAEAPBJE
#[derive(proto_derive::CmdID)]
#[cmdid(6972)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TelevisionActivityDataChangeScNotify {
    #[prost(message, repeated, tag = "13")]
    pub kadgmhhgkmp: ::prost::alloc::vec::Vec<Ogjdnlijkfb>,
}
/// Obf: JPADDPIGGCK
#[derive(proto_derive::CmdID)]
#[cmdid(6961)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TelevisionActivityBattleEndScNotify {
    #[prost(uint32, tag = "2")]
    pub hoehiobiiej: u32,
    #[prost(uint32, tag = "9")]
    pub npjeecedpok: u32,
    #[prost(uint32, tag = "5")]
    pub fcepipccomn: u32,
    #[prost(uint32, tag = "13")]
    pub fidioihllga: u32,
    #[prost(message, optional, tag = "6")]
    pub dfccbdpnlea: ::core::option::Option<Ogjdnlijkfb>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Depeahjnkgj {
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
}
/// Obf: NDNCAPJMPEG
#[derive(proto_derive::CmdID)]
#[cmdid(6962)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterTelevisionActivityStageCsReq {
    #[prost(uint32, tag = "9")]
    pub ninlfbglbll: u32,
    #[prost(uint32, repeated, tag = "1")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "5")]
    pub avatar_list: ::prost::alloc::vec::Vec<Depeahjnkgj>,
}
/// Obf: AHGENONAOFK
#[derive(proto_derive::CmdID)]
#[cmdid(6964)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterTelevisionActivityStageScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, tag = "8")]
    pub ninlfbglbll: u32,
    #[prost(message, optional, tag = "9")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextJoinInfo {
    #[prost(uint32, tag = "10")]
    pub fanokembmpb: u32,
    #[prost(string, tag = "8")]
    pub nkioiioiaog: ::prost::alloc::string::String,
    #[prost(uint32, tag = "13")]
    pub nlfnjpmacpm: u32,
    #[prost(string, tag = "5")]
    pub hbjkeebdjml: ::prost::alloc::string::String,
    #[prost(uint32, tag = "6")]
    pub adinnbpinak: u32,
}
/// Obf: AKOIBDEGONH
#[derive(proto_derive::CmdID)]
#[cmdid(3801)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextJoinSaveCsReq {
    #[prost(uint32, tag = "14")]
    pub adinnbpinak: u32,
    #[prost(uint32, tag = "2")]
    pub fanokembmpb: u32,
    #[prost(string, tag = "10")]
    pub hbjkeebdjml: ::prost::alloc::string::String,
}
/// Obf: ILLGPCDIGCM
#[derive(proto_derive::CmdID)]
#[cmdid(3868)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextJoinSaveScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(string, tag = "8")]
    pub hbjkeebdjml: ::prost::alloc::string::String,
    #[prost(uint32, tag = "3")]
    pub fanokembmpb: u32,
    #[prost(uint32, tag = "10")]
    pub adinnbpinak: u32,
}
/// Obf: CIMBHJDHAFO
#[derive(proto_derive::CmdID)]
#[cmdid(3858)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextJoinQueryCsReq {
    #[prost(uint32, repeated, tag = "7")]
    pub text_join_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: EEELMIPKGIJ
#[derive(proto_derive::CmdID)]
#[cmdid(3824)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextJoinQueryScRsp {
    #[prost(message, repeated, tag = "8")]
    pub text_join_list: ::prost::alloc::vec::Vec<TextJoinInfo>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: EIGPGMEMLAJ
#[derive(proto_derive::CmdID)]
#[cmdid(3830)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextJoinBatchSaveCsReq {
    #[prost(message, repeated, tag = "11")]
    pub text_join_list: ::prost::alloc::vec::Vec<TextJoinInfo>,
}
/// Obf: MCCFKFOMIBA
#[derive(proto_derive::CmdID)]
#[cmdid(3856)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextJoinBatchSaveScRsp {
    #[prost(message, repeated, tag = "12")]
    pub text_join_list: ::prost::alloc::vec::Vec<TextJoinInfo>,
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cgligecgakn {
    #[prost(uint32, tag = "14")]
    pub stage_id: u32,
    #[prost(uint32, tag = "12")]
    pub stage_score: u32,
}
/// Obf: EMFNMIFOFMH
#[derive(proto_derive::CmdID)]
#[cmdid(7559)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTrackPhotoActivityDataCsReq {}
/// Obf: OINMKCHEDBO
#[derive(proto_derive::CmdID)]
#[cmdid(7558)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTrackPhotoActivityDataScRsp {
    #[prost(message, repeated, tag = "15")]
    pub emgfldopkgl: ::prost::alloc::vec::Vec<Cgligecgakn>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Geoaeofjogc {
    #[prost(uint32, tag = "5")]
    pub entity_id: u32,
    #[prost(bool, tag = "7")]
    pub kfboaonldem: bool,
}
/// Obf: GBHMOCOJBGB
#[derive(proto_derive::CmdID)]
#[cmdid(7551)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SettleTrackPhotoStageCsReq {
    #[prost(uint32, tag = "15")]
    pub stage_id: u32,
    #[prost(uint32, tag = "13")]
    pub bclnmidffoh: u32,
    #[prost(message, repeated, tag = "10")]
    pub lpihaniojfi: ::prost::alloc::vec::Vec<Geoaeofjogc>,
}
/// Obf: FPHPGHHMODG
#[derive(proto_derive::CmdID)]
#[cmdid(7556)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SettleTrackPhotoStageScRsp {
    #[prost(uint32, tag = "7")]
    pub stage_id: u32,
    #[prost(message, repeated, tag = "15")]
    pub lpihaniojfi: ::prost::alloc::vec::Vec<Geoaeofjogc>,
    #[prost(uint32, tag = "9")]
    pub score: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: DLGOPBGKGGL
#[derive(proto_derive::CmdID)]
#[cmdid(7555)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartTrackPhotoStageCsReq {
    #[prost(uint32, tag = "4")]
    pub stage_id: u32,
    #[prost(bool, tag = "14")]
    pub djfcmlipdab: bool,
}
/// Obf: LDKCMMDKEGJ
#[derive(proto_derive::CmdID)]
#[cmdid(7557)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartTrackPhotoStageScRsp {
    #[prost(uint32, tag = "3")]
    pub mdlndgijnml: u32,
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: LGKCKIKGNEN
#[derive(proto_derive::CmdID)]
#[cmdid(7553)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuitTrackPhotoStageCsReq {
    #[prost(uint32, tag = "8")]
    pub stage_id: u32,
}
/// Obf: IHLJCHKAJPG
#[derive(proto_derive::CmdID)]
#[cmdid(7552)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuitTrackPhotoStageScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyCardData {
    #[prost(uint32, repeated, tag = "5")]
    pub hcpgealodme: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub upgrade_level: u32,
    #[prost(uint32, tag = "9")]
    pub card_id: u32,
    #[prost(uint32, tag = "13")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyCards {
    #[prost(message, repeated, tag = "15")]
    pub card_data_list: ::prost::alloc::vec::Vec<TrainPartyCardData>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyCard {
    #[prost(message, optional, tag = "3")]
    pub card_data_list: ::core::option::Option<TrainPartyCards>,
    #[prost(bool, tag = "10")]
    pub has_modify_all_passenger_stat_effect: bool,
    #[prost(uint32, tag = "9")]
    pub extra_ratio: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyGridData {
    #[prost(uint32, tag = "8")]
    pub display_value: u32,
    #[prost(uint32, tag = "6")]
    pub unique_id: u32,
    #[prost(uint32, tag = "13")]
    pub hfnhlcfnhkd: u32,
    #[prost(uint32, tag = "4")]
    pub ghfaihlceln: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyMeetingCountInfo {
    #[prost(uint32, tag = "1")]
    pub blhpiciofai: u32,
    #[prost(uint32, tag = "5")]
    pub hcfocpkfobg: u32,
    #[prost(uint32, tag = "9")]
    pub papkgjojpii: u32,
    #[prost(uint32, tag = "11")]
    pub jodnmdoamkc: u32,
    #[prost(uint32, repeated, tag = "10")]
    pub kddppgocomb: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "15")]
    pub ncdcgfkoloe: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyGrids {
    #[prost(message, optional, tag = "4")]
    pub gdghcbghlnd: ::core::option::Option<TrainPartyMeetingCountInfo>,
    #[prost(uint32, tag = "7")]
    pub lljefmpdjkh: u32,
    #[prost(uint32, tag = "8")]
    pub bihmelmjhpo: u32,
    #[prost(message, repeated, tag = "15")]
    pub mkoambmkdid: ::prost::alloc::vec::Vec<TrainPartyGridData>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyPassengerStatusInfo {
    #[prost(uint32, tag = "15")]
    pub khhlnggecpb: u32,
    #[prost(uint32, tag = "2")]
    pub kpakapnhnnd: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyPassengerSkillInfo {
    #[prost(uint32, tag = "2")]
    pub jgmipmdppij: u32,
    #[prost(uint32, tag = "14")]
    pub bfnlpbiehlh: u32,
    #[prost(uint32, tag = "7")]
    pub ooackegemfk: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyPassengerData {
    #[prost(uint32, tag = "1")]
    pub mihlfgcgkno: u32,
    #[prost(uint32, tag = "14")]
    pub passenger_id: u32,
    #[prost(message, optional, tag = "12")]
    pub status_info: ::core::option::Option<TrainPartyPassengerStatusInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyPassengerPersistentData {
    #[prost(uint32, tag = "4")]
    pub passenger_id: u32,
    #[prost(uint32, tag = "9")]
    pub attempts: u32,
    #[prost(bool, tag = "3")]
    pub cinmlckbhim: bool,
    #[prost(uint32, repeated, tag = "1")]
    pub diary_data_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyPassenger {
    #[prost(uint32, tag = "13")]
    pub pkidbdgpilo: u32,
    #[prost(message, repeated, tag = "5")]
    pub skill_info_list: ::prost::alloc::vec::Vec<TrainPartyPassengerSkillInfo>,
    #[prost(uint32, tag = "11")]
    pub upgrade_level: u32,
    #[prost(uint32, repeated, tag = "15")]
    pub cfkpaicdjpj: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub oafaaeemnfb: u32,
    #[prost(message, repeated, tag = "9")]
    pub kbgdcehiffj: ::prost::alloc::vec::Vec<TrainPartyPassengerData>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oibmnpclnjj {
    #[prost(uint32, repeated, tag = "4")]
    pub diary_data_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "8")]
    pub mebofhokepi: ::prost::alloc::vec::Vec<TrainPartyPassengerPersistentData>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyAreaInfo {
    #[prost(uint32, repeated, tag = "15")]
    pub hbccbgbfplo: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "10")]
    pub opdipfbcfdp: ::prost::alloc::vec::Vec<Mcnckbnoejg>,
    #[prost(uint32, repeated, tag = "5")]
    pub elfphfpkbfi: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "9")]
    pub area_id: u32,
    #[prost(uint32, tag = "3")]
    pub progress: u32,
    #[prost(message, optional, tag = "7")]
    pub mlhdkjmfdai: ::core::option::Option<Daipphmlpcb>,
    #[prost(uint32, repeated, tag = "1")]
    pub knojnbjiokb: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Indffnnhohc {
    #[prost(uint32, repeated, tag = "2")]
    pub elfphfpkbfi: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "3")]
    pub area_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ppkdpajpagf {
    #[prost(enumeration = "TrainPartyBuildStatus", tag = "3")]
    pub status: i32,
    #[prost(uint32, tag = "2")]
    pub gjfhpcieboj: u32,
    #[prost(uint32, tag = "4")]
    pub jlhdkolmeda: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Daipphmlpcb {
    #[prost(message, repeated, tag = "13")]
    pub imekhgciedn: ::prost::alloc::vec::Vec<Ppkdpajpagf>,
    #[prost(uint32, tag = "8")]
    pub heidcikedpd: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mcnckbnoejg {
    #[prost(uint32, tag = "14")]
    pub cigajenpmkh: u32,
    #[prost(uint32, tag = "3")]
    pub slot_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hhallekojia {
    #[prost(uint32, tag = "9")]
    pub dbjhemippim: u32,
    #[prost(uint32, tag = "6")]
    pub cnajoignmlj: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub cigacghpdgk: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "2")]
    pub flbnekgidbo: u32,
    #[prost(uint32, tag = "15")]
    pub ppffkfgollj: u32,
    #[prost(uint32, repeated, tag = "12")]
    pub mcfmaepokbk: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "5")]
    pub eohbbeakodf: ::prost::alloc::vec::Vec<Indffnnhohc>,
    #[prost(message, repeated, tag = "13")]
    pub llephoelgda: ::prost::alloc::vec::Vec<TrainPartyAreaInfo>,
    #[prost(uint32, tag = "10")]
    pub eebnaapbkcn: u32,
    #[prost(uint32, tag = "1")]
    pub obokglcmkke: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lpkdpmlbejo {
    #[prost(uint32, tag = "14")]
    pub klgbflnjkbl: u32,
    #[prost(uint32, tag = "11")]
    pub attempts: u32,
    #[prost(message, optional, tag = "12")]
    pub nhjjbkokldb: ::core::option::Option<Hhallekojia>,
    #[prost(message, optional, tag = "1")]
    pub ijmekpadhjj: ::core::option::Option<Oibmnpclnjj>,
    #[prost(message, optional, tag = "10")]
    pub cefmbafcnpk: ::core::option::Option<Cdngndnlnaj>,
    #[prost(uint32, tag = "8")]
    pub aianofknlhg: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cdngndnlnaj {
    #[prost(message, optional, tag = "8")]
    pub aakhcnedbcd: ::core::option::Option<TrainPartyPassenger>,
    #[prost(message, optional, tag = "4")]
    pub hbheajijegf: ::core::option::Option<TrainPartyCard>,
    #[prost(message, optional, tag = "3")]
    pub eeihdcpolef: ::core::option::Option<TrainPartyGrids>,
    #[prost(uint32, tag = "14")]
    pub goneakbdgek: u32,
    #[prost(message, optional, tag = "2")]
    pub gbfclmlimhc: ::core::option::Option<Gcfehmenonm>,
}
/// Obf: DBOEHMHGICC
#[derive(proto_derive::CmdID)]
#[cmdid(8001)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyGetDataCsReq {}
/// Obf: CFNECNJGENN
#[derive(proto_derive::CmdID)]
#[cmdid(8068)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyGetDataScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "7")]
    pub behnkmghghd: ::core::option::Option<Lpkdpmlbejo>,
}
/// Obf: IAGDGOEBLAL
#[derive(proto_derive::CmdID)]
#[cmdid(8058)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyUseCardCsReq {
    #[prost(uint32, tag = "14")]
    pub eeghhhkcghb: u32,
}
/// Obf: KNBKOEDFCBE
#[derive(proto_derive::CmdID)]
#[cmdid(8024)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyUseCardScRsp {
    #[prost(uint32, tag = "9")]
    pub eeghhhkcghb: u32,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: OOGNJJIPCNK
#[derive(proto_derive::CmdID)]
#[cmdid(8030)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyMoveScNotify {
    #[prost(message, repeated, tag = "1")]
    pub peadiocnimf: ::prost::alloc::vec::Vec<TrainPartyGridData>,
    #[prost(uint32, tag = "6")]
    pub gheeoeohmfi: u32,
}
/// Obf: JGPGPFCLEAI
#[derive(proto_derive::CmdID)]
#[cmdid(8097)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartySettleNotify {
    #[prost(message, optional, tag = "13")]
    pub hilomekafbp: ::core::option::Option<Fkmbflmegeb>,
    #[prost(uint32, tag = "2")]
    pub eeghhhkcghb: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fkmbflmegeb {
    #[prost(message, repeated, tag = "4")]
    pub foaplialhdi: ::prost::alloc::vec::Vec<Baepnhdciem>,
    #[prost(message, repeated, tag = "6")]
    pub kbgdcehiffj: ::prost::alloc::vec::Vec<TrainPartyPassengerData>,
    #[prost(uint32, tag = "3")]
    pub heijcnlnhhi: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Baepnhdciem {
    #[prost(uint32, repeated, tag = "13")]
    pub param_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub ijfihgcknhg: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nclcbopcejg {
    #[prost(message, optional, tag = "1")]
    pub hmffhbhalge: ::core::option::Option<TrainPartyCardData>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Idbeommckik {
    #[prost(message, optional, tag = "12")]
    pub status_info: ::core::option::Option<TrainPartyPassengerStatusInfo>,
    #[prost(uint32, tag = "9")]
    pub passenger_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibomhkhbaao {
    #[prost(message, repeated, tag = "1")]
    pub nfeolnaogdk: ::prost::alloc::vec::Vec<Idbeommckik>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Enjhdlhkino {
    #[prost(message, optional, tag = "10")]
    pub kndmeilhkej: ::core::option::Option<Gcfehmenonm>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fnoghghpjpd {
    #[prost(uint32, tag = "12")]
    pub upgrade_level: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jldhcfggeao {
    #[prost(message, optional, tag = "13")]
    pub mhmeddehbhi: ::core::option::Option<TrainPartyPassengerSkillInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pfgiahaidlm {
    #[prost(message, repeated, tag = "7")]
    pub skill_info_list: ::prost::alloc::vec::Vec<TrainPartyPassengerSkillInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jhmnlcobjcj {
    #[prost(message, optional, tag = "1")]
    pub abbnhmggpil: ::core::option::Option<TrainPartyPassengerPersistentData>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fkjlbfniggm {
    #[prost(uint32, repeated, tag = "2")]
    pub diary_data_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hakmebiajcf {
    #[prost(message, repeated, tag = "5")]
    pub mkoambmkdid: ::prost::alloc::vec::Vec<TrainPartyGridData>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hmopiblfcln {
    #[prost(message, optional, tag = "13")]
    pub lnmmkfmeajm: ::core::option::Option<TrainPartyCards>,
    #[prost(uint32, tag = "7")]
    pub extra_ratio: u32,
    #[prost(message, optional, tag = "10")]
    pub gdghcbghlnd: ::core::option::Option<TrainPartyMeetingCountInfo>,
    #[prost(bool, tag = "8")]
    pub has_modify_all_passenger_stat_effect: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plkcmgdedck {
    #[prost(enumeration = "TrainPartyUpdateSrc", tag = "2")]
    pub src: i32,
    #[prost(
        oneof = "plkcmgdedck::Lgnaklfmhff",
        tags = "1409, 1137, 1942, 636, 1789, 1413, 1416, 55, 1290, 769"
    )]
    pub lgnaklfmhff: ::core::option::Option<plkcmgdedck::Lgnaklfmhff>,
}
/// Nested message and enum types in `PLKCMGDEDCK`.
pub mod plkcmgdedck {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Lgnaklfmhff {
        #[prost(message, tag = "1409")]
        Lnmmkfmeajm(super::TrainPartyCards),
        #[prost(message, tag = "1137")]
        Fpfdjndnpim(super::Ibomhkhbaao),
        #[prost(message, tag = "1942")]
        Njkjnbdboca(super::Enjhdlhkino),
        #[prost(message, tag = "636")]
        Lgjgbighonp(super::Fnoghghpjpd),
        #[prost(message, tag = "1789")]
        Dgnkbngipki(super::Hakmebiajcf),
        #[prost(message, tag = "1413")]
        Mkkpchhnhcj(super::Jldhcfggeao),
        #[prost(message, tag = "1416")]
        Pkpjefggboo(super::Hmopiblfcln),
        #[prost(message, tag = "55")]
        Nhacnnjpalp(super::Pfgiahaidlm),
        #[prost(message, tag = "1290")]
        Ahpdpooljle(super::Jhmnlcobjcj),
        #[prost(message, tag = "769")]
        Afmieicdnea(super::Fkjlbfniggm),
    }
}
/// Obf: JFJKLHGFDKP
#[derive(proto_derive::CmdID)]
#[cmdid(8028)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartySyncUpdateScNotify {
    #[prost(message, repeated, tag = "5")]
    pub fflpklldhlm: ::prost::alloc::vec::Vec<Plkcmgdedck>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gcfehmenonm {
    #[prost(uint32, tag = "11")]
    pub hbapccegnme: u32,
    #[prost(oneof = "gcfehmenonm::Ajobhbklmji", tags = "1030, 740, 1451, 478")]
    pub ajobhbklmji: ::core::option::Option<gcfehmenonm::Ajobhbklmji>,
}
/// Nested message and enum types in `GCFEHMENONM`.
pub mod gcfehmenonm {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ajobhbklmji {
        #[prost(message, tag = "1030")]
        Iamkdjcfmib(super::Njkenncjlcf),
        #[prost(message, tag = "740")]
        Leehaeobeba(super::Miiaiodleoa),
        #[prost(message, tag = "1451")]
        Oaoofnjgidh(super::Emmdenjbfpf),
        #[prost(message, tag = "478")]
        Pmmgocjfeej(super::Epbgfbedanm),
    }
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hhpiafbhjcf {
    #[prost(uint32, tag = "12")]
    pub kdmlllghjon: u32,
    #[prost(bool, tag = "7")]
    pub pipmgacmjnn: bool,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Njkenncjlcf {
    #[prost(uint32, tag = "1")]
    pub event_id: u32,
    #[prost(message, repeated, tag = "12")]
    pub lekpkocnjal: ::prost::alloc::vec::Vec<Hhpiafbhjcf>,
    #[prost(enumeration = "Ijdnojemian", tag = "8")]
    pub hoiokbkgfdn: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hpfkgddifhg {
    #[prost(uint32, tag = "6")]
    pub event_id: u32,
    #[prost(uint32, tag = "3")]
    pub kdmlllghjon: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bfifanaocpc {
    #[prost(message, optional, tag = "3")]
    pub hilomekafbp: ::core::option::Option<Fkmbflmegeb>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ocmhofemnhi {
    #[prost(uint32, tag = "2")]
    pub level: u32,
    #[prost(uint32, tag = "6")]
    pub ooackegemfk: u32,
    #[prost(uint32, tag = "7")]
    pub jgmipmdppij: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Miiaiodleoa {
    #[prost(uint32, tag = "11")]
    pub passenger_id: u32,
    #[prost(message, repeated, tag = "5")]
    pub ganakfaibfc: ::prost::alloc::vec::Vec<Ocmhofemnhi>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Epbgfbedanm {
    #[prost(uint32, tag = "1")]
    pub idaihkmmdek: u32,
    #[prost(message, repeated, tag = "3")]
    pub llijagdkjco: ::prost::alloc::vec::Vec<TrainPartyPassengerSkillInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Glbfbnhfcno {
    #[prost(uint32, tag = "12")]
    pub iehhdalhgpi: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mbinmaonbcd {
    #[prost(message, repeated, tag = "13")]
    pub skill_info_list: ::prost::alloc::vec::Vec<TrainPartyPassengerSkillInfo>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pjjdmmbkkcn {
    #[prost(uint32, tag = "4")]
    pub passenger_id: u32,
    #[prost(uint32, tag = "6")]
    pub unique_id: u32,
    #[prost(uint32, tag = "14")]
    pub khhlnggecpb: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Heojldbkkge {
    #[prost(uint32, tag = "3")]
    pub num: u32,
    #[prost(uint32, tag = "4")]
    pub passenger_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Emmdenjbfpf {
    #[prost(uint32, tag = "14")]
    pub npjeecedpok: u32,
    #[prost(uint32, tag = "9")]
    pub cfokigihcfp: u32,
    #[prost(uint32, tag = "3")]
    pub mliijgoaeck: u32,
    #[prost(uint32, tag = "2")]
    pub kmlppmnmpke: u32,
    #[prost(message, repeated, tag = "8")]
    pub kjmliamgdle: ::prost::alloc::vec::Vec<Bjgldljkidh>,
    #[prost(message, repeated, tag = "12")]
    pub ccgbhhfbafj: ::prost::alloc::vec::Vec<Heojldbkkge>,
    #[prost(uint32, tag = "6")]
    pub mlipplkiifd: u32,
    #[prost(message, repeated, tag = "15")]
    pub mmeiphbnked: ::prost::alloc::vec::Vec<Pjjdmmbkkcn>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlaySkillBrief {
    #[prost(enumeration = "Lcdemgacekd", tag = "6")]
    pub skill_type: i32,
    #[prost(uint32, tag = "11")]
    pub skill_id: u32,
    #[prost(uint32, tag = "14")]
    pub skill_param: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayCardBrief {
    #[prost(uint32, tag = "2")]
    pub base_value: u32,
    #[prost(message, repeated, tag = "5")]
    pub skill_brief_list: ::prost::alloc::vec::Vec<PlaySkillBrief>,
    #[prost(uint32, tag = "6")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phoefkfbikd {
    #[prost(uint32, repeated, tag = "6")]
    pub npojmhhibki: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub mkegodinhnc: u32,
    #[prost(message, optional, tag = "3")]
    pub ojcjnbgnicf: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pecglkcicgo {
    #[prost(uint32, repeated, tag = "14")]
    pub canngfdafoe: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbocjhndamc {
    #[prost(enumeration = "TrainPartyMtSkillType", tag = "6")]
    pub ijppknknlnl: i32,
    #[prost(uint32, tag = "14")]
    pub npjeecedpok: u32,
    #[prost(message, optional, tag = "9")]
    pub gdghcbghlnd: ::core::option::Option<TrainPartyMeetingCountInfo>,
    #[prost(message, repeated, tag = "12")]
    pub omggnaeahif: ::prost::alloc::vec::Vec<PlayCardBrief>,
    #[prost(message, repeated, tag = "7")]
    pub bihfecjhpgh: ::prost::alloc::vec::Vec<PlaySkillBrief>,
    #[prost(message, repeated, tag = "8")]
    pub ccgbhhfbafj: ::prost::alloc::vec::Vec<Heojldbkkge>,
    #[prost(message, optional, tag = "3")]
    pub mfakjhfmaib: ::core::option::Option<Phoefkfbikd>,
    #[prost(uint32, tag = "15")]
    pub score: u32,
    #[prost(message, repeated, tag = "2")]
    pub mmeiphbnked: ::prost::alloc::vec::Vec<Pjjdmmbkkcn>,
    #[prost(uint32, tag = "5")]
    pub cfokigihcfp: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Encjkpgoial {
    #[prost(uint32, repeated, tag = "9")]
    pub canngfdafoe: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fbglldnlgpe {
    #[prost(uint32, tag = "6")]
    pub kmlppmnmpke: u32,
    #[prost(message, repeated, tag = "2")]
    pub nicgnemched: ::prost::alloc::vec::Vec<PlaySkillBrief>,
    #[prost(message, repeated, tag = "8")]
    pub ccgbhhfbafj: ::prost::alloc::vec::Vec<Heojldbkkge>,
    #[prost(message, repeated, tag = "9")]
    pub mmeiphbnked: ::prost::alloc::vec::Vec<Pjjdmmbkkcn>,
}
/// Obf: BHEIBFHJFID
#[derive(proto_derive::CmdID)]
#[cmdid(8005)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyHandlePendingActionCsReq {
    #[prost(uint32, tag = "14")]
    pub hbapccegnme: u32,
    #[prost(
        oneof = "train_party_handle_pending_action_cs_req::Phkgcbnejco",
        tags = "2026, 127, 1821, 914"
    )]
    pub phkgcbnejco: ::core::option::Option<
        train_party_handle_pending_action_cs_req::Phkgcbnejco,
    >,
}
/// Nested message and enum types in `TrainPartyHandlePendingActionCsReq`.
pub mod train_party_handle_pending_action_cs_req {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Phkgcbnejco {
        #[prost(message, tag = "2026")]
        Iamkdjcfmib(super::Hpfkgddifhg),
        #[prost(message, tag = "127")]
        Pmmgocjfeej(super::Glbfbnhfcno),
        #[prost(message, tag = "1821")]
        Lgbjaeldpnb(super::Pecglkcicgo),
        #[prost(message, tag = "914")]
        Bgjmfbhcmkl(super::Encjkpgoial),
    }
}
/// Obf: FKNAGADELDE
#[derive(proto_derive::CmdID)]
#[cmdid(8014)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyHandlePendingActionScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(uint32, tag = "13")]
    pub hbapccegnme: u32,
    #[prost(bool, tag = "6")]
    pub dlncbjfgkaa: bool,
    #[prost(message, optional, tag = "7")]
    pub hilomekafbp: ::core::option::Option<Fkmbflmegeb>,
    #[prost(
        oneof = "train_party_handle_pending_action_sc_rsp::Phkgcbnejco",
        tags = "1806, 1251, 529, 1364"
    )]
    pub phkgcbnejco: ::core::option::Option<
        train_party_handle_pending_action_sc_rsp::Phkgcbnejco,
    >,
}
/// Nested message and enum types in `TrainPartyHandlePendingActionScRsp`.
pub mod train_party_handle_pending_action_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Phkgcbnejco {
        #[prost(message, tag = "1806")]
        Laelpnhhjik(super::Bfifanaocpc),
        #[prost(message, tag = "1251")]
        Pmojbjmkfan(super::Mbinmaonbcd),
        #[prost(message, tag = "529")]
        Afdndbaddkp(super::Jbocjhndamc),
        #[prost(message, tag = "1364")]
        Ledfncdfamk(super::Fbglldnlgpe),
    }
}
/// Obf: LHHGJPGIAFE
#[derive(proto_derive::CmdID)]
#[cmdid(8049)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyBuildStartStepCsReq {
    #[prost(uint32, tag = "2")]
    pub gjfhpcieboj: u32,
    #[prost(uint32, tag = "13")]
    pub heidcikedpd: u32,
    #[prost(message, optional, tag = "8")]
    pub alaoddbghpl: ::core::option::Option<Mcnckbnoejg>,
    #[prost(uint32, tag = "10")]
    pub area_id: u32,
}
/// Obf: FLPDEABALAB
#[derive(proto_derive::CmdID)]
#[cmdid(8022)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyBuildStartStepScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "7")]
    pub dbjhemippim: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cikohjnagon {
    #[prost(message, optional, tag = "14")]
    pub kcjbmkjlfba: ::core::option::Option<Mcnckbnoejg>,
    #[prost(uint32, tag = "5")]
    pub area_id: u32,
}
/// Obf: IGIOFLAJOLK
#[derive(proto_derive::CmdID)]
#[cmdid(8047)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyBuildDiyCsReq {
    #[prost(uint32, tag = "8")]
    pub area_id: u32,
    #[prost(uint32, tag = "1")]
    pub cigajenpmkh: u32,
    #[prost(uint32, tag = "10")]
    pub slot_id: u32,
    #[prost(bool, tag = "5")]
    pub ganhklnpapi: bool,
}
/// Obf: IGOGLPAJAND
#[derive(proto_derive::CmdID)]
#[cmdid(8080)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyBuildDiyScRsp {
    #[prost(uint32, tag = "2")]
    pub area_id: u32,
    #[prost(message, repeated, tag = "11")]
    pub fflpklldhlm: ::prost::alloc::vec::Vec<Cikohjnagon>,
    #[prost(bool, tag = "15")]
    pub ganhklnpapi: bool,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "3")]
    pub opdipfbcfdp: ::prost::alloc::vec::Vec<Mcnckbnoejg>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kmbdkdlnhmc {
    #[prost(uint32, tag = "8")]
    pub okhcjkljghf: u32,
    #[prost(message, repeated, tag = "10")]
    pub cgfihjccgcd: ::prost::alloc::vec::Vec<Ppkdpajpagf>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jnahojlcnja {
    #[prost(uint32, tag = "7")]
    pub heidcikedpd: u32,
    #[prost(message, repeated, tag = "8")]
    pub cgfihjccgcd: ::prost::alloc::vec::Vec<Ppkdpajpagf>,
    #[prost(uint32, tag = "10")]
    pub area_id: u32,
    #[prost(uint32, tag = "2")]
    pub progress: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iefkfkfmepl {
    #[prost(uint32, tag = "6")]
    pub obokglcmkke: u32,
    #[prost(uint32, tag = "5")]
    pub ppffkfgollj: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fnpmcdnkdfj {
    #[prost(uint32, tag = "9")]
    pub bdccopiehin: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gegjhbmloem {
    #[prost(uint32, tag = "11")]
    pub flbnekgidbo: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bfddpplmkpg {
    #[prost(uint32, tag = "3")]
    pub mnleikiehhp: u32,
    #[prost(uint32, tag = "11")]
    pub area_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kmlehllogjg {
    #[prost(uint32, tag = "2")]
    pub cigajenpmkh: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Okfgjeihljm {
    #[prost(uint32, tag = "1")]
    pub fbfihjiiabo: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kakjcjomfgh {
    #[prost(uint32, tag = "12")]
    pub cnajoignmlj: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mclncbcpaff {
    #[prost(uint32, tag = "12")]
    pub area_id: u32,
    #[prost(uint32, repeated, tag = "9")]
    pub cgfihjccgcd: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lndgcgobdjl {
    #[prost(message, repeated, tag = "6")]
    pub llephoelgda: ::prost::alloc::vec::Vec<Mclncbcpaff>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ppkgjkifelk {
    #[prost(
        oneof = "ppkgjkifelk::Lgnaklfmhff",
        tags = "44, 647, 1528, 82, 1921, 1791, 189, 2016, 568, 1940"
    )]
    pub lgnaklfmhff: ::core::option::Option<ppkgjkifelk::Lgnaklfmhff>,
}
/// Nested message and enum types in `PPKGJKIFELK`.
pub mod ppkgjkifelk {
    #[derive(proto_derive::CmdID)]
    #[allow(clippy::derive_partial_eq_without_eq)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Lgnaklfmhff {
        #[prost(message, tag = "44")]
        Maplogdnbgb(super::Okfgjeihljm),
        #[prost(message, tag = "647")]
        Ekflejankme(super::Kmbdkdlnhmc),
        #[prost(message, tag = "1528")]
        Jobejafkecd(super::Jnahojlcnja),
        #[prost(message, tag = "82")]
        Dblbhnphhkb(super::Iefkfkfmepl),
        #[prost(message, tag = "1921")]
        Ckbnojapnnb(super::Fnpmcdnkdfj),
        #[prost(message, tag = "1791")]
        Nepconhofkj(super::Bfddpplmkpg),
        #[prost(message, tag = "189")]
        Egdgpikbnlk(super::Kmlehllogjg),
        #[prost(message, tag = "2016")]
        Bhofhhemlog(super::Gegjhbmloem),
        #[prost(message, tag = "568")]
        Haeadfoolnd(super::Kakjcjomfgh),
        #[prost(message, tag = "1940")]
        Gaibcbghhgl(super::Lndgcgobdjl),
    }
}
/// Obf: BMOPHHIBHCP
#[derive(proto_derive::CmdID)]
#[cmdid(8039)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyBuildingUpdateNotify {
    #[prost(message, repeated, tag = "8")]
    pub bjdfkemkaol: ::prost::alloc::vec::Vec<Ppkgjkifelk>,
}
/// Obf: DGHAJAOFFAE
#[derive(proto_derive::CmdID)]
#[cmdid(8023)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyEnterCsReq {}
/// Obf: LCOFPKJDPJI
#[derive(proto_derive::CmdID)]
#[cmdid(8012)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyEnterScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: NPBHFJLHLNL
#[derive(proto_derive::CmdID)]
#[cmdid(8017)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyLeaveCsReq {}
/// Obf: JJLKBFPGBIG
#[derive(proto_derive::CmdID)]
#[cmdid(8091)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyLeaveScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bjgldljkidh {
    #[prost(uint32, tag = "10")]
    pub level: u32,
    #[prost(enumeration = "TrainPartyMtSkillType", tag = "13")]
    pub jllnmgbenaf: i32,
}
/// Obf: FPKBMIHOLMG
#[derive(proto_derive::CmdID)]
#[cmdid(8092)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyGamePlaySettleNotify {
    #[prost(uint32, tag = "10")]
    pub aianofknlhg: u32,
    #[prost(uint32, repeated, tag = "4")]
    pub olbagkmfdaj: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "12")]
    pub attempts: u32,
    #[prost(message, optional, tag = "5")]
    pub hanfphgemgf: ::core::option::Option<Oibmnpclnjj>,
}
/// Obf: DKGFBNFIOBL
#[derive(proto_derive::CmdID)]
#[cmdid(8069)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyGamePlayStartCsReq {
    #[prost(uint32, tag = "12")]
    pub goneakbdgek: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub kbgdcehiffj: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IPCPHCIPFBG
#[derive(proto_derive::CmdID)]
#[cmdid(8020)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyGamePlayStartScRsp {
    #[prost(message, optional, tag = "12")]
    pub kmdphcmbjgb: ::core::option::Option<Cdngndnlnaj>,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: CCGLODLDCCG
#[derive(proto_derive::CmdID)]
#[cmdid(8059)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyAddBuildDynamicBuffCsReq {}
/// Obf: PAKLHDBGCLE
#[derive(proto_derive::CmdID)]
#[cmdid(8041)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyAddBuildDynamicBuffScRsp {
    #[prost(uint32, tag = "10")]
    pub buff_id: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: FLACIGJGGCJ
#[derive(proto_derive::CmdID)]
#[cmdid(8019)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyTakeBuildLevelAwardCsReq {
    #[prost(uint32, tag = "7")]
    pub ecclpifmmpp: u32,
}
/// Obf: EMLBHKHIBGI
#[derive(proto_derive::CmdID)]
#[cmdid(8082)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyTakeBuildLevelAwardScRsp {
    #[prost(uint32, tag = "8")]
    pub ecclpifmmpp: u32,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub item_list: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbcdkgekcpp {
    #[prost(bool, tag = "6")]
    pub iagodfdjaik: bool,
    #[prost(uint32, tag = "1")]
    pub visitor_id: u32,
}
/// Obf: OACBEIPOBJI
#[derive(proto_derive::CmdID)]
#[cmdid(3701)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainVisitorBehaviorFinishCsReq {
    #[prost(uint32, tag = "4")]
    pub visitor_id: u32,
}
/// Obf: FKIFBIGHAAP
#[derive(proto_derive::CmdID)]
#[cmdid(3768)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainVisitorBehaviorFinishScRsp {
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "6")]
    pub visitor_id: u32,
}
/// Obf: LMINIONBHAM
#[derive(proto_derive::CmdID)]
#[cmdid(3758)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTrainVisitorBehaviorCsReq {
    #[prost(uint32, repeated, tag = "15")]
    pub oifnlnbkdma: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: ALNDKEMKEBB
#[derive(proto_derive::CmdID)]
#[cmdid(3724)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTrainVisitorBehaviorScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "3")]
    pub ecfopdhgkfb: ::prost::alloc::vec::Vec<Gbcdkgekcpp>,
}
/// Obf: BELCDBIGMEO
#[derive(proto_derive::CmdID)]
#[cmdid(3730)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainRefreshTimeNotify {
    #[prost(uint64, tag = "12")]
    pub train_refresh_time: u64,
}
/// Obf: OCGDCMPOEDA
#[derive(proto_derive::CmdID)]
#[cmdid(3756)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainVisitorRewardSendNotify {
    #[prost(uint32, tag = "1")]
    pub visitor_id: u32,
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(enumeration = "Iippjkhmpch", tag = "11")]
    pub slot: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hglkmjfehmb {
    #[prost(uint32, repeated, tag = "15")]
    pub edhhgcpdkik: ::prost::alloc::vec::Vec<u32>,
    #[prost(enumeration = "Llmibdpfjnd", tag = "14")]
    pub status: i32,
    #[prost(bool, tag = "6")]
    pub ijabkdepgma: bool,
    #[prost(uint32, tag = "4")]
    pub visitor_id: u32,
    #[prost(uint32, tag = "8")]
    pub opaokgjbooe: u32,
}
/// Obf: JDJCNCPPAMF
#[derive(proto_derive::CmdID)]
#[cmdid(3797)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTrainVisitorRegisterCsReq {
    #[prost(enumeration = "Jfjjfgaeoab", tag = "1")]
    pub slot: i32,
}
/// Obf: HNGKFNOAJFH
#[derive(proto_derive::CmdID)]
#[cmdid(3776)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTrainVisitorRegisterScRsp {
    #[prost(uint32, repeated, tag = "3")]
    pub famhpmfoijh: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, repeated, tag = "6")]
    pub fdmfkaljbaj: ::prost::alloc::vec::Vec<Hglkmjfehmb>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: FNLKMOEFPDA
#[derive(proto_derive::CmdID)]
#[cmdid(3728)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeTrainVisitorUntakenBehaviorRewardCsReq {
    #[prost(uint32, tag = "10")]
    pub visitor_id: u32,
}
/// Obf: ODJGBFIMGCK
#[derive(proto_derive::CmdID)]
#[cmdid(3711)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeTrainVisitorUntakenBehaviorRewardScRsp {
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(uint32, repeated, tag = "11")]
    pub edhhgcpdkik: ::prost::alloc::vec::Vec<u32>,
    #[prost(uint32, tag = "4")]
    pub visitor_id: u32,
}
/// Obf: ONLDPCLJMLP
#[derive(proto_derive::CmdID)]
#[cmdid(3705)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ShowNewSupplementVisitorCsReq {
    #[prost(uint32, repeated, tag = "5")]
    pub famhpmfoijh: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GMJIFOALLOJ
#[derive(proto_derive::CmdID)]
#[cmdid(3714)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ShowNewSupplementVisitorScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nhbddinfkoh {
    #[prost(uint32, tag = "8")]
    pub kbcdecdnefm: u32,
    #[prost(int32, tag = "1")]
    pub ieagbpemflg: i32,
    #[prost(int32, tag = "13")]
    pub lljaegobhmp: i32,
    #[prost(uint64, tag = "12")]
    pub unique_id: u64,
    #[prost(uint32, tag = "9")]
    pub item_id: u32,
    #[prost(uint32, tag = "6")]
    pub iimoplcfhah: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kchjhcljock {
    #[prost(enumeration = "Hgkkppljboi", tag = "2")]
    pub clfgfaboiop: i32,
    #[prost(message, repeated, tag = "15")]
    pub hjbpkcfkhli: ::prost::alloc::vec::Vec<Nhbddinfkoh>,
    #[prost(uint32, tag = "4")]
    pub diphgghfmcp: u32,
    #[prost(uint32, tag = "14")]
    pub cpodejofpdd: u32,
    #[prost(enumeration = "Dcjaopdinoi", tag = "12")]
    pub embkicmefco: i32,
}
/// Obf: NKPEMNOPMNO
#[derive(proto_derive::CmdID)]
#[cmdid(6401)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureGetDataCsReq {}
/// Obf: OEPEPLALCOB
#[derive(proto_derive::CmdID)]
#[cmdid(6468)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureGetDataScRsp {
    #[prost(map = "uint32, uint32", tag = "2")]
    pub fkbbomhekpe: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "9")]
    pub kmhdfladepi: u32,
    #[prost(map = "uint32, message", tag = "12")]
    pub mibclbgmdla: ::std::collections::HashMap<u32, Kchjhcljock>,
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: ICIFONJONFA
#[derive(proto_derive::CmdID)]
#[cmdid(6458)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochurePageUnlockScNotify {
    #[prost(uint32, tag = "4")]
    pub cpodejofpdd: u32,
}
/// Obf: ELLAHNNAPLN
#[derive(proto_derive::CmdID)]
#[cmdid(6430)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureSelectMessageCsReq {
    #[prost(uint32, tag = "14")]
    pub cpodejofpdd: u32,
    #[prost(uint32, tag = "15")]
    pub diphgghfmcp: u32,
}
/// Obf: IOHEBKBCGNE
#[derive(proto_derive::CmdID)]
#[cmdid(6456)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureSelectMessageScRsp {
    #[prost(message, optional, tag = "11")]
    pub cagglkliimf: ::core::option::Option<Kchjhcljock>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: FBLEAEPJAMC
#[derive(proto_derive::CmdID)]
#[cmdid(6497)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureApplyPasterCsReq {
    #[prost(uint32, tag = "11")]
    pub cpodejofpdd: u32,
    #[prost(uint32, tag = "6")]
    pub item_id: u32,
    #[prost(uint32, tag = "14")]
    pub iimoplcfhah: u32,
    #[prost(int32, tag = "15")]
    pub ieagbpemflg: i32,
    #[prost(int32, tag = "5")]
    pub lljaegobhmp: i32,
    #[prost(uint32, tag = "1")]
    pub kbcdecdnefm: u32,
}
/// Obf: CHEPGAMCBIH
#[derive(proto_derive::CmdID)]
#[cmdid(6476)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureApplyPasterScRsp {
    #[prost(message, optional, tag = "15")]
    pub cagglkliimf: ::core::option::Option<Kchjhcljock>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: CHGGONIIOHA
#[derive(proto_derive::CmdID)]
#[cmdid(6428)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureRemovePasterCsReq {
    #[prost(uint64, tag = "14")]
    pub unique_id: u64,
    #[prost(uint32, tag = "2")]
    pub cpodejofpdd: u32,
    #[prost(uint32, tag = "11")]
    pub item_id: u32,
}
/// Obf: ECBKPCALDFD
#[derive(proto_derive::CmdID)]
#[cmdid(6411)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureRemovePasterScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, optional, tag = "12")]
    pub cagglkliimf: ::core::option::Option<Kchjhcljock>,
}
/// Obf: BNIFAHOFPCL
#[derive(proto_derive::CmdID)]
#[cmdid(6405)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureUpdatePasterPosCsReq {
    #[prost(int32, tag = "8")]
    pub lljaegobhmp: i32,
    #[prost(int32, tag = "10")]
    pub ieagbpemflg: i32,
    #[prost(uint32, tag = "12")]
    pub kbcdecdnefm: u32,
    #[prost(uint32, tag = "9")]
    pub cpodejofpdd: u32,
    #[prost(uint32, tag = "13")]
    pub iimoplcfhah: u32,
    #[prost(uint32, tag = "1")]
    pub item_id: u32,
    #[prost(uint64, tag = "4")]
    pub unique_id: u64,
}
/// Obf: BLKKMEBCFNC
#[derive(proto_derive::CmdID)]
#[cmdid(6414)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureUpdatePasterPosScRsp {
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub cagglkliimf: ::core::option::Option<Kchjhcljock>,
}
/// Obf: CCCDIFAFKDA
#[derive(proto_derive::CmdID)]
#[cmdid(6449)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureGetPasterScNotify {
    #[prost(uint32, tag = "12")]
    pub num: u32,
    #[prost(uint32, tag = "4")]
    pub fkkobdmfhil: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gkdihiffhfd {
    #[prost(uint32, tag = "13")]
    pub fkkobdmfhil: u32,
    #[prost(uint32, tag = "8")]
    pub num: u32,
}
/// Obf: EFDCMPEMNDE
#[derive(proto_derive::CmdID)]
#[cmdid(6447)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureSetCustomValueCsReq {
    #[prost(uint32, tag = "4")]
    pub mbmdocjimej: u32,
}
/// Obf: NHHPGHKFOKA
#[derive(proto_derive::CmdID)]
#[cmdid(6480)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureSetCustomValueScRsp {
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: FPNIALGEAGM
#[derive(proto_derive::CmdID)]
#[cmdid(6439)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureSetPageDescStatusCsReq {
    #[prost(enumeration = "Dcjaopdinoi", tag = "14")]
    pub geibgfdenja: i32,
    #[prost(uint32, tag = "8")]
    pub cpodejofpdd: u32,
}
/// Obf: BIDKIKBGMPF
#[derive(proto_derive::CmdID)]
#[cmdid(6496)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureSetPageDescStatusScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: HBDADEIJEMO
#[derive(proto_derive::CmdID)]
#[cmdid(6423)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochurePageResetCsReq {
    #[prost(uint32, tag = "3")]
    pub cpodejofpdd: u32,
}
/// Obf: DFLIIEMHJBI
#[derive(proto_derive::CmdID)]
#[cmdid(6412)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochurePageResetScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub cagglkliimf: ::core::option::Option<Kchjhcljock>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kbjphlnapgi {
    #[prost(uint32, tag = "2")]
    pub item_id: u32,
    #[prost(int32, tag = "14")]
    pub ieagbpemflg: i32,
    #[prost(uint32, tag = "11")]
    pub iimoplcfhah: u32,
    #[prost(uint32, tag = "12")]
    pub kbcdecdnefm: u32,
    #[prost(int32, tag = "9")]
    pub lljaegobhmp: i32,
}
/// Obf: NLJPMPBFPAF
#[derive(proto_derive::CmdID)]
#[cmdid(6417)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureApplyPasterListCsReq {
    #[prost(message, repeated, tag = "9")]
    pub gedglncpggn: ::prost::alloc::vec::Vec<Kbjphlnapgi>,
    #[prost(uint32, tag = "13")]
    pub cpodejofpdd: u32,
}
/// Obf: HOOFPBMCIBH
#[derive(proto_derive::CmdID)]
#[cmdid(6491)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureApplyPasterListScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub cagglkliimf: ::core::option::Option<Kchjhcljock>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TreasureDungeonRecordData {
    #[prost(enumeration = "Imknbjcoiop", tag = "4")]
    pub r#type: i32,
    #[prost(uint32, tag = "5")]
    pub param1: u32,
    #[prost(uint32, tag = "1")]
    pub source_grid_id: u32,
    #[prost(uint32, tag = "9")]
    pub param2: u32,
    #[prost(uint32, tag = "8")]
    pub target_grid_id: u32,
}
/// Obf: OEKOJKFLFMM
#[derive(proto_derive::CmdID)]
#[cmdid(4401)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TreasureDungeonDataScNotify {
    #[prost(message, optional, tag = "14")]
    pub dlejpjjcelj: ::core::option::Option<Klcknklponm>,
}
/// Obf: KIIHPDMPPAK
#[derive(proto_derive::CmdID)]
#[cmdid(4468)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TreasureDungeonFinishScNotify {
    #[prost(uint32, tag = "11")]
    pub aecncdpjpdg: u32,
    #[prost(uint32, tag = "12")]
    pub nlmdemohboo: u32,
    #[prost(bool, tag = "14")]
    pub is_win: bool,
    #[prost(uint32, tag = "8")]
    pub pikapdjhgnd: u32,
    #[prost(map = "uint32, uint32", tag = "15")]
    pub kgmmpgfgodj: ::std::collections::HashMap<u32, u32>,
    #[prost(uint32, tag = "2")]
    pub hohhbihfjeh: u32,
    #[prost(map = "uint32, uint32", tag = "6")]
    pub jbcgkldmhnl: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Klcknklponm {
    #[prost(message, repeated, tag = "407")]
    pub buff_list: ::prost::alloc::vec::Vec<Enbnfolcdie>,
    #[prost(uint32, tag = "3")]
    pub pikapdjhgnd: u32,
    #[prost(message, repeated, tag = "1940")]
    pub kjjomephjee: ::prost::alloc::vec::Vec<Lkhhgjppmpp>,
    #[prost(message, repeated, tag = "13")]
    pub mkoambmkdid: ::prost::alloc::vec::Vec<Lkcmfeaahhm>,
    #[prost(uint32, tag = "2")]
    pub map_id: u32,
    #[prost(uint32, tag = "333")]
    pub iialglddnad: u32,
    #[prost(bool, tag = "230")]
    pub nodbpkhojec: bool,
    #[prost(uint32, tag = "11")]
    pub fcjeckcickb: u32,
    #[prost(uint32, tag = "4")]
    pub jafnpnmohcm: u32,
    #[prost(uint32, tag = "14")]
    pub phhkbaenbmm: u32,
    #[prost(bool, tag = "1017")]
    pub nmfapgolodj: bool,
    #[prost(message, repeated, tag = "1694")]
    pub item_list: ::prost::alloc::vec::Vec<Lhanbgnjcif>,
    #[prost(uint32, tag = "10")]
    pub nlmdemohboo: u32,
    #[prost(uint32, tag = "1")]
    pub ncbhadloaga: u32,
    #[prost(message, repeated, tag = "1427")]
    pub gffojccklfm: ::prost::alloc::vec::Vec<Pcaignjkafa>,
    #[prost(bool, tag = "757")]
    pub cfdpdenppdh: bool,
    #[prost(message, repeated, tag = "2003")]
    pub avatar_list: ::prost::alloc::vec::Vec<Pcaignjkafa>,
    #[prost(message, repeated, tag = "8")]
    pub bbckfjihidm: ::prost::alloc::vec::Vec<TreasureDungeonRecordData>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhanbgnjcif {
    #[prost(uint32, tag = "7")]
    pub item_id: u32,
    #[prost(uint32, tag = "2")]
    pub mbejblfhcbh: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pcaignjkafa {
    #[prost(message, optional, tag = "12")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
    #[prost(uint32, tag = "4")]
    pub hp: u32,
    #[prost(uint32, tag = "9")]
    pub avatar_type: u32,
    #[prost(uint32, tag = "7")]
    pub eajljnbnpnp: u32,
    #[prost(uint32, tag = "15")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lkhhgjppmpp {
    #[prost(uint32, tag = "7")]
    pub avatar_id: u32,
    #[prost(uint32, tag = "12")]
    pub avatar_type: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Enbnfolcdie {
    #[prost(uint32, tag = "12")]
    pub buff_id: u32,
    #[prost(uint32, tag = "13")]
    pub akahnmlnefn: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lkcmfeaahhm {
    #[prost(uint32, tag = "12")]
    pub ollhobhdden: u32,
    #[prost(bool, tag = "8")]
    pub locked: bool,
    #[prost(bool, tag = "4")]
    pub knlfeldecal: bool,
    #[prost(bool, tag = "9")]
    pub demncglljcp: bool,
    #[prost(uint32, tag = "10")]
    pub monhibbpkee: u32,
    #[prost(message, repeated, tag = "1314")]
    pub buff_list: ::prost::alloc::vec::Vec<Gggcocpgbbh>,
    #[prost(bool, tag = "1")]
    pub limmileapjm: bool,
    #[prost(uint32, tag = "2")]
    pub hfnhlcfnhkd: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gggcocpgbbh {
    #[prost(uint32, tag = "4")]
    pub leaaebafchp: u32,
    #[prost(uint32, tag = "1")]
    pub buff_id: u32,
    #[prost(uint32, tag = "14")]
    pub hfnhlcfnhkd: u32,
    #[prost(uint32, tag = "13")]
    pub egkdinmmena: u32,
    #[prost(uint32, tag = "12")]
    pub ecghnfccbjj: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Abhfabfgpof {
    #[prost(uint32, tag = "8")]
    pub pikapdjhgnd: u32,
    #[prost(uint32, tag = "2")]
    pub fcjeckcickb: u32,
    #[prost(uint32, tag = "9")]
    pub nlmdemohboo: u32,
    #[prost(bool, tag = "3")]
    pub biinncndpcg: bool,
    #[prost(uint32, tag = "10")]
    pub nkhkdjkegdh: u32,
    #[prost(bool, tag = "12")]
    pub cloonoifefo: bool,
    #[prost(uint32, tag = "1")]
    pub jafnpnmohcm: u32,
}
/// Obf: NKFCKCACHEC
#[derive(proto_derive::CmdID)]
#[cmdid(4405)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTreasureDungeonActivityDataCsReq {}
/// Obf: HPFFPDGLGKL
#[derive(proto_derive::CmdID)]
#[cmdid(4414)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTreasureDungeonActivityDataScRsp {
    #[prost(message, repeated, tag = "9")]
    pub hiookmoandn: ::prost::alloc::vec::Vec<Abhfabfgpof>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: AKOOMBKLAMP
#[derive(proto_derive::CmdID)]
#[cmdid(4449)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterTreasureDungeonCsReq {
    #[prost(message, repeated, tag = "7")]
    pub avatar_list: ::prost::alloc::vec::Vec<Jackejlkjna>,
    #[prost(uint32, tag = "6")]
    pub nlmdemohboo: u32,
}
/// Obf: GMLFLPNFDOH
#[derive(proto_derive::CmdID)]
#[cmdid(4422)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterTreasureDungeonScRsp {
    #[prost(message, optional, tag = "3")]
    pub dlejpjjcelj: ::core::option::Option<Klcknklponm>,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: GFDIOLJOMAJ
#[derive(proto_derive::CmdID)]
#[cmdid(4447)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpenTreasureDungeonGridCsReq {
    #[prost(uint32, tag = "15")]
    pub hfnhlcfnhkd: u32,
    #[prost(uint32, tag = "13")]
    pub nlmdemohboo: u32,
}
/// Obf: IAABENEAADF
#[derive(proto_derive::CmdID)]
#[cmdid(4480)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpenTreasureDungeonGridScRsp {
    #[prost(message, optional, tag = "1")]
    pub dlejpjjcelj: ::core::option::Option<Klcknklponm>,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: JFMCKKGFKFI
#[derive(proto_derive::CmdID)]
#[cmdid(4423)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InteractTreasureDungeonGridCsReq {
    #[prost(uint32, tag = "7")]
    pub display_value: u32,
    #[prost(uint32, tag = "6")]
    pub hfnhlcfnhkd: u32,
    #[prost(uint32, tag = "11")]
    pub nlmdemohboo: u32,
}
/// Obf: MMEEDEJFBAC
#[derive(proto_derive::CmdID)]
#[cmdid(4412)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InteractTreasureDungeonGridScRsp {
    #[prost(message, optional, tag = "6")]
    pub dlejpjjcelj: ::core::option::Option<Klcknklponm>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: GEHCEAFOCHN
#[derive(proto_derive::CmdID)]
#[cmdid(4417)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UseTreasureDungeonItemCsReq {
    #[prost(uint32, tag = "2")]
    pub hfnhlcfnhkd: u32,
    #[prost(uint32, tag = "1")]
    pub item_id: u32,
    #[prost(uint32, tag = "5")]
    pub nlmdemohboo: u32,
}
/// Obf: OLHDFPOJCNN
#[derive(proto_derive::CmdID)]
#[cmdid(4491)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UseTreasureDungeonItemScRsp {
    #[prost(message, optional, tag = "9")]
    pub dlejpjjcelj: ::core::option::Option<Klcknklponm>,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jackejlkjna {
    #[prost(uint32, tag = "5")]
    pub avatar_id: u32,
    #[prost(enumeration = "AvatarType", tag = "14")]
    pub avatar_type: i32,
}
/// Obf: LBMFNALBLOK
#[derive(proto_derive::CmdID)]
#[cmdid(4439)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightTreasureDungeonMonsterCsReq {
    #[prost(uint32, tag = "14")]
    pub nlmdemohboo: u32,
    #[prost(message, repeated, tag = "6")]
    pub avatar_list: ::prost::alloc::vec::Vec<Jackejlkjna>,
    #[prost(uint32, tag = "1")]
    pub hfnhlcfnhkd: u32,
}
/// Obf: KAFEBFDKNIE
#[derive(proto_derive::CmdID)]
#[cmdid(4496)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightTreasureDungeonMonsterScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: FPKJPABNAPF
#[derive(proto_derive::CmdID)]
#[cmdid(4418)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuitTreasureDungeonCsReq {
    #[prost(bool, tag = "13")]
    pub pcpdfjhdjcc: bool,
    #[prost(uint32, tag = "10")]
    pub nlmdemohboo: u32,
}
/// Obf: IAMOBNBMCIF
#[derive(proto_derive::CmdID)]
#[cmdid(4495)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuitTreasureDungeonScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Tutorial {
    #[prost(uint32, tag = "8")]
    pub id: u32,
    #[prost(enumeration = "TutorialStatus", tag = "13")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TutorialGuide {
    #[prost(enumeration = "TutorialStatus", tag = "7")]
    pub status: i32,
    #[prost(uint32, tag = "5")]
    pub id: u32,
}
/// Obf: FKJBDHDHNNH
#[derive(proto_derive::CmdID)]
#[cmdid(1601)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTutorialCsReq {}
/// Obf: GetTutorialScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1668)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTutorialScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "6")]
    pub tutorial_list: ::prost::alloc::vec::Vec<Tutorial>,
}
/// Obf: LCNDJLKGLNN
#[derive(proto_derive::CmdID)]
#[cmdid(1658)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTutorialGuideCsReq {}
/// Obf: GetTutorialGuideScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1624)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTutorialGuideScRsp {
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "11")]
    pub tutorial_guide_list: ::prost::alloc::vec::Vec<TutorialGuide>,
}
/// Obf: HBLPNJNGONJ
#[derive(proto_derive::CmdID)]
#[cmdid(1630)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockTutorialCsReq {
    #[prost(uint32, tag = "9")]
    pub tutorial_id: u32,
}
/// Obf: UnlockTutorialScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1656)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockTutorialScRsp {
    #[prost(message, optional, tag = "6")]
    pub tutorial: ::core::option::Option<Tutorial>,
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: ACGNLIALGGG
#[derive(proto_derive::CmdID)]
#[cmdid(1697)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockTutorialGuideCsReq {
    #[prost(uint32, tag = "11")]
    pub group_id: u32,
}
/// Obf: UnlockTutorialGuideScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1676)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockTutorialGuideScRsp {
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    #[prost(message, optional, tag = "3")]
    pub tutorial_guide: ::core::option::Option<TutorialGuide>,
}
/// Obf: AJEMPHNPADK
#[derive(proto_derive::CmdID)]
#[cmdid(1628)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishTutorialCsReq {
    #[prost(uint32, tag = "6")]
    pub tutorial_id: u32,
}
/// Obf: FinishTutorialScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1611)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishTutorialScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "14")]
    pub tutorial: ::core::option::Option<Tutorial>,
}
/// Obf: FLHGCMBLLFH
#[derive(proto_derive::CmdID)]
#[cmdid(1605)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishTutorialGuideCsReq {
    #[prost(uint32, tag = "12")]
    pub group_id: u32,
}
/// Obf: FinishTutorialGuideScRsp
#[derive(proto_derive::CmdID)]
#[cmdid(1614)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishTutorialGuideScRsp {
    #[prost(message, optional, tag = "4")]
    pub tutorial_guide: ::core::option::Option<TutorialGuide>,
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oiphnjefjlp {
    #[prost(bool, tag = "1")]
    pub is_new: bool,
    #[prost(uint32, tag = "14")]
    pub id: u32,
    #[prost(uint32, tag = "9")]
    pub khfgdkngfdp: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eikmjejlmgc {
    #[prost(uint32, tag = "4")]
    pub nckelkegbgl: u32,
    #[prost(uint32, tag = "5")]
    pub id: u32,
    #[prost(bool, tag = "1")]
    pub is_new: bool,
    #[prost(uint32, repeated, tag = "7")]
    pub ioodmakjdif: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ljjokghfidf {
    #[prost(message, repeated, tag = "13")]
    pub konbfjpinhn: ::prost::alloc::vec::Vec<Oiphnjefjlp>,
    #[prost(message, optional, tag = "15")]
    pub gokhjlmpnff: ::core::option::Option<Eikmjejlmgc>,
}
/// Obf: PLHMKHOFDHI
#[derive(proto_derive::CmdID)]
#[cmdid(401)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetWaypointCsReq {
    #[prost(uint32, tag = "15")]
    pub kiekjeffphk: u32,
}
/// Obf: BEBAEGDMBEL
#[derive(proto_derive::CmdID)]
#[cmdid(468)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetWaypointScRsp {
    #[prost(uint32, tag = "13")]
    pub hoeahbifkci: u32,
    #[prost(message, optional, tag = "6")]
    pub fjjflkcmidj: ::core::option::Option<Ljjokghfidf>,
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: FPGAEHAKKAF
#[derive(proto_derive::CmdID)]
#[cmdid(458)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetCurWaypointCsReq {
    #[prost(uint32, tag = "1")]
    pub nkcmnafaioi: u32,
}
/// Obf: HMBALMGNPCK
#[derive(proto_derive::CmdID)]
#[cmdid(424)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetCurWaypointScRsp {
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(uint32, tag = "1")]
    pub hoeahbifkci: u32,
}
/// Obf: IHIHLPFGCGN
#[derive(proto_derive::CmdID)]
#[cmdid(430)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChapterCsReq {}
/// Obf: LEGFMFINLNL
#[derive(proto_derive::CmdID)]
#[cmdid(456)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChapterScRsp {
    #[prost(uint32, tag = "5")]
    pub hoeahbifkci: u32,
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, repeated, tag = "7")]
    pub ielpiclbbji: ::prost::alloc::vec::Vec<Eikmjejlmgc>,
}
/// Obf: MIBOLEPDJAB
#[derive(proto_derive::CmdID)]
#[cmdid(497)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WaypointShowNewCsNotify {
    #[prost(uint32, tag = "5")]
    pub nkcmnafaioi: u32,
    #[prost(uint32, tag = "8")]
    pub kiekjeffphk: u32,
}
/// Obf: INMIPNINICF
#[derive(proto_derive::CmdID)]
#[cmdid(476)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeChapterRewardCsReq {
    #[prost(uint32, tag = "8")]
    pub kiekjeffphk: u32,
    #[prost(uint32, tag = "5")]
    pub akdghhnklej: u32,
}
/// Obf: FMEOOOHLMEJ
#[derive(proto_derive::CmdID)]
#[cmdid(428)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeChapterRewardScRsp {
    #[prost(uint32, tag = "10")]
    pub kiekjeffphk: u32,
    #[prost(uint32, tag = "15")]
    pub akdghhnklej: u32,
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hfpffjimckm {
    #[prost(uint32, tag = "5")]
    pub lkjmlidaodm: u32,
    #[prost(bool, tag = "12")]
    pub bdnflicnfhn: bool,
    #[prost(message, optional, tag = "4")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(message, repeated, tag = "6")]
    pub opcldnllnfh: ::prost::alloc::vec::Vec<Vector>,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hehpioggieg {
    #[prost(bool, tag = "11")]
    pub bdnflicnfhn: bool,
    #[prost(uint32, tag = "14")]
    pub lkjmlidaodm: u32,
    #[prost(uint32, tag = "4")]
    pub id: u32,
    #[prost(message, repeated, tag = "6")]
    pub opcldnllnfh: ::prost::alloc::vec::Vec<Vector>,
    #[prost(string, tag = "10")]
    pub miilnlhddjm: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "12")]
    pub hefjejhojea: ::core::option::Option<Hfpffjimckm>,
}
/// Obf: PPNCELOONKK
#[derive(proto_derive::CmdID)]
#[cmdid(6526)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartWolfBroGameCsReq {
    #[prost(uint32, tag = "8")]
    pub id: u32,
    #[prost(message, optional, tag = "15")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(bool, tag = "12")]
    pub djfcmlipdab: bool,
    #[prost(message, optional, tag = "13")]
    pub group_state_info: ::core::option::Option<GroupStateInfo>,
}
/// Obf: CLLNMGKEFAM
#[derive(proto_derive::CmdID)]
#[cmdid(6537)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartWolfBroGameScRsp {
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub dnplihjgjih: ::core::option::Option<Hehpioggieg>,
}
/// Obf: GMMCJKMEGNO
#[derive(proto_derive::CmdID)]
#[cmdid(6541)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ArchiveWolfBroGameCsReq {
    #[prost(message, optional, tag = "11")]
    pub motion: ::core::option::Option<MotionInfo>,
    #[prost(uint32, tag = "3")]
    pub id: u32,
}
/// Obf: LBHKNCBDGCO
#[derive(proto_derive::CmdID)]
#[cmdid(6543)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ArchiveWolfBroGameScRsp {
    #[prost(message, optional, tag = "7")]
    pub dnplihjgjih: ::core::option::Option<Hehpioggieg>,
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: GIGAEOCILFF
#[derive(proto_derive::CmdID)]
#[cmdid(6506)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RestoreWolfBroGameArchiveCsReq {
    #[prost(uint32, tag = "14")]
    pub id: u32,
}
/// Obf: GAGANNMHEPA
#[derive(proto_derive::CmdID)]
#[cmdid(6533)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RestoreWolfBroGameArchiveScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "6")]
    pub dnplihjgjih: ::core::option::Option<Hehpioggieg>,
}
/// Obf: FEFMJKKEMKP
#[derive(proto_derive::CmdID)]
#[cmdid(6507)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuitWolfBroGameCsReq {
    #[prost(uint32, tag = "3")]
    pub id: u32,
}
/// Obf: CKLCOEHEMKE
#[derive(proto_derive::CmdID)]
#[cmdid(6529)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuitWolfBroGameScRsp {
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    #[prost(message, optional, tag = "7")]
    pub dnplihjgjih: ::core::option::Option<Hehpioggieg>,
}
/// Obf: KNPEDHPKKHC
#[derive(proto_derive::CmdID)]
#[cmdid(6525)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetWolfBroGameDataCsReq {
    #[prost(uint32, tag = "13")]
    pub id: u32,
}
/// Obf: LJEMHMMIAGF
#[derive(proto_derive::CmdID)]
#[cmdid(6515)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetWolfBroGameDataScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(message, optional, tag = "15")]
    pub dnplihjgjih: ::core::option::Option<Hehpioggieg>,
}
/// Obf: LPFGHGCJBIL
#[derive(proto_derive::CmdID)]
#[cmdid(6530)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WolfBroGameDataChangeScNotify {
    #[prost(message, optional, tag = "11")]
    pub dnplihjgjih: ::core::option::Option<Hehpioggieg>,
}
/// Obf: DPAPCGKGEKC
#[derive(proto_derive::CmdID)]
#[cmdid(6502)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WolfBroGameUseBulletCsReq {
    #[prost(uint32, repeated, tag = "12")]
    pub assist_monster_entity_id_list: ::prost::alloc::vec::Vec<u32>,
    #[prost(message, optional, tag = "9")]
    pub mibcfimmikg: ::core::option::Option<Vector>,
}
/// Obf: JNDKCCLFKIF
#[derive(proto_derive::CmdID)]
#[cmdid(6548)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WolfBroGameUseBulletScRsp {
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    #[prost(message, optional, tag = "1")]
    pub dnplihjgjih: ::core::option::Option<Hehpioggieg>,
}
/// Obf: FDKODKFMHLK
#[derive(proto_derive::CmdID)]
#[cmdid(6504)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WolfBroGamePickupBulletCsReq {
    #[prost(message, optional, tag = "7")]
    pub mibcfimmikg: ::core::option::Option<Vector>,
}
/// Obf: JABEPKAINFO
#[derive(proto_derive::CmdID)]
#[cmdid(6532)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WolfBroGamePickupBulletScRsp {
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    #[prost(message, optional, tag = "2")]
    pub dnplihjgjih: ::core::option::Option<Hehpioggieg>,
}
/// Obf: FKOLLCMEFIJ
#[derive(proto_derive::CmdID)]
#[cmdid(6514)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WolfBroGameActivateBulletCsReq {
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
    #[prost(uint32, tag = "1")]
    pub config_id: u32,
}
/// Obf: FKHKJGFHAHE
#[derive(proto_derive::CmdID)]
#[cmdid(6540)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WolfBroGameActivateBulletScRsp {
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: PHHDAGNAABO
#[derive(proto_derive::CmdID)]
#[cmdid(6510)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WolfBroGameExplodeMonsterCsReq {
    #[prost(uint32, repeated, tag = "4")]
    pub assist_monster_entity_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IHPNAMPDBGJ
#[derive(proto_derive::CmdID)]
#[cmdid(6535)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WolfBroGameExplodeMonsterScRsp {
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: CCIFHOLFGNG
#[derive(proto_derive::CmdID)]
#[cmdid(7627)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WorldUnlockCsReq {
    #[prost(uint32, tag = "1")]
    pub npebnekdlen: u32,
}
/// Obf: LEMIOKMIODL
#[derive(proto_derive::CmdID)]
#[cmdid(7626)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WorldUnlockScRsp {
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(uint32, tag = "15")]
    pub npebnekdlen: u32,
}
#[derive(proto_derive::CmdID)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lnkfbaedodi {
    #[prost(uint32, tag = "1")]
    pub dghngblhail: u32,
    #[prost(uint32, tag = "2")]
    pub mpgpgfkbmhg: u32,
    #[prost(uint32, tag = "3")]
    pub gkjkkdaopam: u32,
    #[prost(uint32, tag = "4")]
    pub olccimlmmad: u32,
    #[prost(uint32, tag = "5")]
    pub elhepmnlapg: u32,
    #[prost(uint32, tag = "6")]
    pub piamlfbihpi: u32,
    #[prost(uint32, tag = "7")]
    pub cfcajemdfkj: u32,
    #[prost(uint32, tag = "8")]
    pub fephhkigoop: u32,
    #[prost(uint32, tag = "9")]
    pub mopdhnencpc: u32,
    #[prost(uint32, tag = "10")]
    pub edfpconikdc: u32,
    #[prost(uint32, tag = "11")]
    pub id: u32,
    #[prost(uint32, tag = "12")]
    pub hoghlbeedga: u32,
    #[prost(uint32, tag = "13")]
    pub bipfifcjcbn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nkkpfdgffan {
    AvatarSlot1 = 0,
    AvatarSlot2 = 1,
    AvatarSlot3 = 2,
}
impl Nkkpfdgffan {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Nkkpfdgffan::AvatarSlot1 => "AVATAR_SLOT_1",
            Nkkpfdgffan::AvatarSlot2 => "AVATAR_SLOT_2",
            Nkkpfdgffan::AvatarSlot3 => "AVATAR_SLOT_3",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AVATAR_SLOT_1" => Some(Self::AvatarSlot1),
            "AVATAR_SLOT_2" => Some(Self::AvatarSlot2),
            "AVATAR_SLOT_3" => Some(Self::AvatarSlot3),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mkdkklainmh {
    ItemTypeNone = 0,
    ItemAvatarCard = 1,
    ItemEquipment = 2,
    ItemMaterial = 3,
    ItemAvatarExp = 4,
    ItemRelic = 5,
}
impl Mkdkklainmh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Mkdkklainmh::ItemTypeNone => "ITEM_TYPE_NONE",
            Mkdkklainmh::ItemAvatarCard => "ITEM_AVATAR_CARD",
            Mkdkklainmh::ItemEquipment => "ITEM_EQUIPMENT",
            Mkdkklainmh::ItemMaterial => "ITEM_MATERIAL",
            Mkdkklainmh::ItemAvatarExp => "ITEM_AVATAR_EXP",
            Mkdkklainmh::ItemRelic => "ITEM_RELIC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ITEM_TYPE_NONE" => Some(Self::ItemTypeNone),
            "ITEM_AVATAR_CARD" => Some(Self::ItemAvatarCard),
            "ITEM_EQUIPMENT" => Some(Self::ItemEquipment),
            "ITEM_MATERIAL" => Some(Self::ItemMaterial),
            "ITEM_AVATAR_EXP" => Some(Self::ItemAvatarExp),
            "ITEM_RELIC" => Some(Self::ItemRelic),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nfegcgimdnb {
    VirtualItemNone = 0,
    VirtualItemHcoin = 1,
    VirtualItemScoin = 2,
    VirtualItemMcoin = 3,
    VirtualItemStamina = 11,
    VirtualItemReserveStamina = 12,
    VirtualItemAvatarExp = 21,
    VirtualItemExp = 22,
    VirtualItemDailyActivePoint = 23,
    VirtualItemMpMax = 24,
    VirtualItemPlayerReturnPoint = 25,
    VirtualItemBattleCollegePoint = 26,
    VirtualItemRogueCoin = 31,
    VirtualItemRogueTalentCoin = 32,
    VirtualItemRogueRewardKey = 33,
    VirtualItemAchievementExp = 41,
    VirtualItemBpExp = 51,
    VirtualItemBpRealExp = 52,
    VirtualItemMuseumFunds = 53,
    VirtualTrainpartyBuildingFunds = 54,
    VirtualTrainpartyAreaUnlockCoin = 55,
    VirtualTrainpartyMobility = 56,
    VirtualItemWarriorExp = 190,
    VirtualItemRogueExp = 191,
    VirtualItemMageExp = 192,
    VirtualItemShamanExp = 193,
    VirtualItemWarlockExp = 194,
    VirtualItemKnightExp = 195,
    VirtualItemPriestExp = 196,
    VirtualItemPunkLordPoint = 100000,
    VirtualItemGameplayCounterMonsterSneakVision = 280001,
    VirtualItemGameplayCounterWolfBroBullet = 280002,
    VirtualItemAlleyFunds = 281001,
    VirtualItemRoguePumanCoupon = 281012,
    VirtualItemMonthCard = 300101,
    VirtualItemBpNormal = 300102,
    VirtualItemBpDeluxe = 300103,
    VirtualItemBpUpgrade = 300104,
    VirtualItemHeliobusFans = 281002,
    VirtualItemSpaceZooHybridItem = 281003,
    VirtualItemSpaceZooExpPoint = 281004,
    VirtualItemRogueNousTalentCoin = 281013,
    VirtualItemEvolveBuildCoin = 281019,
    VirtualItemDrinkMakerTip = 281005,
    VirtualItemMonopolyDice = 281014,
    VirtualItemMonopolyCoin = 281015,
    VirtualItemMonopolyCheatdice = 281016,
    VirtualItemMonopolyReroll = 281017,
    VirtualItemRogueTournPermanentTalentCoin = 281018,
    VirtualItemRogueTournSeasonTalentCoin = 281020,
    VirtualItemRogueTournExp = 281022,
    VirtualItemMatchthreeCoin = 281024,
    VirtualItemSwordTrainingSkillPoint = 281023,
    VirtualItemFightFestCoin = 281025,
    VirtualItemRogueMagicTalentCoin = 281026,
}
impl Nfegcgimdnb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Nfegcgimdnb::VirtualItemNone => "VIRTUAL_ITEM_NONE",
            Nfegcgimdnb::VirtualItemHcoin => "VIRTUAL_ITEM_HCOIN",
            Nfegcgimdnb::VirtualItemScoin => "VIRTUAL_ITEM_SCOIN",
            Nfegcgimdnb::VirtualItemMcoin => "VIRTUAL_ITEM_MCOIN",
            Nfegcgimdnb::VirtualItemStamina => "VIRTUAL_ITEM_STAMINA",
            Nfegcgimdnb::VirtualItemReserveStamina => "VIRTUAL_ITEM_RESERVE_STAMINA",
            Nfegcgimdnb::VirtualItemAvatarExp => "VIRTUAL_ITEM_AVATAR_EXP",
            Nfegcgimdnb::VirtualItemExp => "VIRTUAL_ITEM_EXP",
            Nfegcgimdnb::VirtualItemDailyActivePoint => "VIRTUAL_ITEM_DAILY_ACTIVE_POINT",
            Nfegcgimdnb::VirtualItemMpMax => "VIRTUAL_ITEM_MP_MAX",
            Nfegcgimdnb::VirtualItemPlayerReturnPoint => {
                "VIRTUAL_ITEM_PLAYER_RETURN_POINT"
            }
            Nfegcgimdnb::VirtualItemBattleCollegePoint => {
                "VIRTUAL_ITEM_BATTLE_COLLEGE_POINT"
            }
            Nfegcgimdnb::VirtualItemRogueCoin => "VIRTUAL_ITEM_ROGUE_COIN",
            Nfegcgimdnb::VirtualItemRogueTalentCoin => "VIRTUAL_ITEM_ROGUE_TALENT_COIN",
            Nfegcgimdnb::VirtualItemRogueRewardKey => "VIRTUAL_ITEM_ROGUE_REWARD_KEY",
            Nfegcgimdnb::VirtualItemAchievementExp => "VIRTUAL_ITEM_ACHIEVEMENT_EXP",
            Nfegcgimdnb::VirtualItemBpExp => "VIRTUAL_ITEM_BP_EXP",
            Nfegcgimdnb::VirtualItemBpRealExp => "VIRTUAL_ITEM_BP_REAL_EXP",
            Nfegcgimdnb::VirtualItemMuseumFunds => "VIRTUAL_ITEM_MUSEUM_FUNDS",
            Nfegcgimdnb::VirtualTrainpartyBuildingFunds => {
                "VIRTUAL_TRAINPARTY_BUILDING_FUNDS"
            }
            Nfegcgimdnb::VirtualTrainpartyAreaUnlockCoin => {
                "VIRTUAL_TRAINPARTY_AREA_UNLOCK_COIN"
            }
            Nfegcgimdnb::VirtualTrainpartyMobility => "VIRTUAL_TRAINPARTY_MOBILITY",
            Nfegcgimdnb::VirtualItemWarriorExp => "VIRTUAL_ITEM_WARRIOR_EXP",
            Nfegcgimdnb::VirtualItemRogueExp => "VIRTUAL_ITEM_ROGUE_EXP",
            Nfegcgimdnb::VirtualItemMageExp => "VIRTUAL_ITEM_MAGE_EXP",
            Nfegcgimdnb::VirtualItemShamanExp => "VIRTUAL_ITEM_SHAMAN_EXP",
            Nfegcgimdnb::VirtualItemWarlockExp => "VIRTUAL_ITEM_WARLOCK_EXP",
            Nfegcgimdnb::VirtualItemKnightExp => "VIRTUAL_ITEM_KNIGHT_EXP",
            Nfegcgimdnb::VirtualItemPriestExp => "VIRTUAL_ITEM_PRIEST_EXP",
            Nfegcgimdnb::VirtualItemPunkLordPoint => "VIRTUAL_ITEM_PUNK_LORD_POINT",
            Nfegcgimdnb::VirtualItemGameplayCounterMonsterSneakVision => {
                "VIRTUAL_ITEM_GAMEPLAY_COUNTER_MONSTER_SNEAK_VISION"
            }
            Nfegcgimdnb::VirtualItemGameplayCounterWolfBroBullet => {
                "VIRTUAL_ITEM_GAMEPLAY_COUNTER_WOLF_BRO_BULLET"
            }
            Nfegcgimdnb::VirtualItemAlleyFunds => "VIRTUAL_ITEM_ALLEY_FUNDS",
            Nfegcgimdnb::VirtualItemRoguePumanCoupon => "VIRTUAL_ITEM_ROGUE_PUMAN_COUPON",
            Nfegcgimdnb::VirtualItemMonthCard => "VIRTUAL_ITEM_MONTH_CARD",
            Nfegcgimdnb::VirtualItemBpNormal => "VIRTUAL_ITEM_BP_NORMAL",
            Nfegcgimdnb::VirtualItemBpDeluxe => "VIRTUAL_ITEM_BP_DELUXE",
            Nfegcgimdnb::VirtualItemBpUpgrade => "VIRTUAL_ITEM_BP_UPGRADE",
            Nfegcgimdnb::VirtualItemHeliobusFans => "VIRTUAL_ITEM_HELIOBUS_FANS",
            Nfegcgimdnb::VirtualItemSpaceZooHybridItem => {
                "VIRTUAL_ITEM_SPACE_ZOO_HYBRID_ITEM"
            }
            Nfegcgimdnb::VirtualItemSpaceZooExpPoint => {
                "VIRTUAL_ITEM_SPACE_ZOO_EXP_POINT"
            }
            Nfegcgimdnb::VirtualItemRogueNousTalentCoin => {
                "VIRTUAL_ITEM_ROGUE_NOUS_TALENT_COIN"
            }
            Nfegcgimdnb::VirtualItemEvolveBuildCoin => "VIRTUAL_ITEM_EVOLVE_BUILD_COIN",
            Nfegcgimdnb::VirtualItemDrinkMakerTip => "VIRTUAL_ITEM_DRINK_MAKER_TIP",
            Nfegcgimdnb::VirtualItemMonopolyDice => "VIRTUAL_ITEM_MONOPOLY_DICE",
            Nfegcgimdnb::VirtualItemMonopolyCoin => "VIRTUAL_ITEM_MONOPOLY_COIN",
            Nfegcgimdnb::VirtualItemMonopolyCheatdice => {
                "VIRTUAL_ITEM_MONOPOLY_CHEATDICE"
            }
            Nfegcgimdnb::VirtualItemMonopolyReroll => "VIRTUAL_ITEM_MONOPOLY_REROLL",
            Nfegcgimdnb::VirtualItemRogueTournPermanentTalentCoin => {
                "VIRTUAL_ITEM_ROGUE_TOURN_PERMANENT_TALENT_COIN"
            }
            Nfegcgimdnb::VirtualItemRogueTournSeasonTalentCoin => {
                "VIRTUAL_ITEM_ROGUE_TOURN_SEASON_TALENT_COIN"
            }
            Nfegcgimdnb::VirtualItemRogueTournExp => "VIRTUAL_ITEM_ROGUE_TOURN_EXP",
            Nfegcgimdnb::VirtualItemMatchthreeCoin => "VIRTUAL_ITEM_MATCHTHREE_COIN",
            Nfegcgimdnb::VirtualItemSwordTrainingSkillPoint => {
                "VIRTUAL_ITEM_SWORD_TRAINING_SKILL_POINT"
            }
            Nfegcgimdnb::VirtualItemFightFestCoin => "VIRTUAL_ITEM_FIGHT_FEST_COIN",
            Nfegcgimdnb::VirtualItemRogueMagicTalentCoin => {
                "VIRTUAL_ITEM_ROGUE_MAGIC_TALENT_COIN"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "VIRTUAL_ITEM_NONE" => Some(Self::VirtualItemNone),
            "VIRTUAL_ITEM_HCOIN" => Some(Self::VirtualItemHcoin),
            "VIRTUAL_ITEM_SCOIN" => Some(Self::VirtualItemScoin),
            "VIRTUAL_ITEM_MCOIN" => Some(Self::VirtualItemMcoin),
            "VIRTUAL_ITEM_STAMINA" => Some(Self::VirtualItemStamina),
            "VIRTUAL_ITEM_RESERVE_STAMINA" => Some(Self::VirtualItemReserveStamina),
            "VIRTUAL_ITEM_AVATAR_EXP" => Some(Self::VirtualItemAvatarExp),
            "VIRTUAL_ITEM_EXP" => Some(Self::VirtualItemExp),
            "VIRTUAL_ITEM_DAILY_ACTIVE_POINT" => Some(Self::VirtualItemDailyActivePoint),
            "VIRTUAL_ITEM_MP_MAX" => Some(Self::VirtualItemMpMax),
            "VIRTUAL_ITEM_PLAYER_RETURN_POINT" => {
                Some(Self::VirtualItemPlayerReturnPoint)
            }
            "VIRTUAL_ITEM_BATTLE_COLLEGE_POINT" => {
                Some(Self::VirtualItemBattleCollegePoint)
            }
            "VIRTUAL_ITEM_ROGUE_COIN" => Some(Self::VirtualItemRogueCoin),
            "VIRTUAL_ITEM_ROGUE_TALENT_COIN" => Some(Self::VirtualItemRogueTalentCoin),
            "VIRTUAL_ITEM_ROGUE_REWARD_KEY" => Some(Self::VirtualItemRogueRewardKey),
            "VIRTUAL_ITEM_ACHIEVEMENT_EXP" => Some(Self::VirtualItemAchievementExp),
            "VIRTUAL_ITEM_BP_EXP" => Some(Self::VirtualItemBpExp),
            "VIRTUAL_ITEM_BP_REAL_EXP" => Some(Self::VirtualItemBpRealExp),
            "VIRTUAL_ITEM_MUSEUM_FUNDS" => Some(Self::VirtualItemMuseumFunds),
            "VIRTUAL_TRAINPARTY_BUILDING_FUNDS" => {
                Some(Self::VirtualTrainpartyBuildingFunds)
            }
            "VIRTUAL_TRAINPARTY_AREA_UNLOCK_COIN" => {
                Some(Self::VirtualTrainpartyAreaUnlockCoin)
            }
            "VIRTUAL_TRAINPARTY_MOBILITY" => Some(Self::VirtualTrainpartyMobility),
            "VIRTUAL_ITEM_WARRIOR_EXP" => Some(Self::VirtualItemWarriorExp),
            "VIRTUAL_ITEM_ROGUE_EXP" => Some(Self::VirtualItemRogueExp),
            "VIRTUAL_ITEM_MAGE_EXP" => Some(Self::VirtualItemMageExp),
            "VIRTUAL_ITEM_SHAMAN_EXP" => Some(Self::VirtualItemShamanExp),
            "VIRTUAL_ITEM_WARLOCK_EXP" => Some(Self::VirtualItemWarlockExp),
            "VIRTUAL_ITEM_KNIGHT_EXP" => Some(Self::VirtualItemKnightExp),
            "VIRTUAL_ITEM_PRIEST_EXP" => Some(Self::VirtualItemPriestExp),
            "VIRTUAL_ITEM_PUNK_LORD_POINT" => Some(Self::VirtualItemPunkLordPoint),
            "VIRTUAL_ITEM_GAMEPLAY_COUNTER_MONSTER_SNEAK_VISION" => {
                Some(Self::VirtualItemGameplayCounterMonsterSneakVision)
            }
            "VIRTUAL_ITEM_GAMEPLAY_COUNTER_WOLF_BRO_BULLET" => {
                Some(Self::VirtualItemGameplayCounterWolfBroBullet)
            }
            "VIRTUAL_ITEM_ALLEY_FUNDS" => Some(Self::VirtualItemAlleyFunds),
            "VIRTUAL_ITEM_ROGUE_PUMAN_COUPON" => Some(Self::VirtualItemRoguePumanCoupon),
            "VIRTUAL_ITEM_MONTH_CARD" => Some(Self::VirtualItemMonthCard),
            "VIRTUAL_ITEM_BP_NORMAL" => Some(Self::VirtualItemBpNormal),
            "VIRTUAL_ITEM_BP_DELUXE" => Some(Self::VirtualItemBpDeluxe),
            "VIRTUAL_ITEM_BP_UPGRADE" => Some(Self::VirtualItemBpUpgrade),
            "VIRTUAL_ITEM_HELIOBUS_FANS" => Some(Self::VirtualItemHeliobusFans),
            "VIRTUAL_ITEM_SPACE_ZOO_HYBRID_ITEM" => {
                Some(Self::VirtualItemSpaceZooHybridItem)
            }
            "VIRTUAL_ITEM_SPACE_ZOO_EXP_POINT" => Some(Self::VirtualItemSpaceZooExpPoint),
            "VIRTUAL_ITEM_ROGUE_NOUS_TALENT_COIN" => {
                Some(Self::VirtualItemRogueNousTalentCoin)
            }
            "VIRTUAL_ITEM_EVOLVE_BUILD_COIN" => Some(Self::VirtualItemEvolveBuildCoin),
            "VIRTUAL_ITEM_DRINK_MAKER_TIP" => Some(Self::VirtualItemDrinkMakerTip),
            "VIRTUAL_ITEM_MONOPOLY_DICE" => Some(Self::VirtualItemMonopolyDice),
            "VIRTUAL_ITEM_MONOPOLY_COIN" => Some(Self::VirtualItemMonopolyCoin),
            "VIRTUAL_ITEM_MONOPOLY_CHEATDICE" => Some(Self::VirtualItemMonopolyCheatdice),
            "VIRTUAL_ITEM_MONOPOLY_REROLL" => Some(Self::VirtualItemMonopolyReroll),
            "VIRTUAL_ITEM_ROGUE_TOURN_PERMANENT_TALENT_COIN" => {
                Some(Self::VirtualItemRogueTournPermanentTalentCoin)
            }
            "VIRTUAL_ITEM_ROGUE_TOURN_SEASON_TALENT_COIN" => {
                Some(Self::VirtualItemRogueTournSeasonTalentCoin)
            }
            "VIRTUAL_ITEM_ROGUE_TOURN_EXP" => Some(Self::VirtualItemRogueTournExp),
            "VIRTUAL_ITEM_MATCHTHREE_COIN" => Some(Self::VirtualItemMatchthreeCoin),
            "VIRTUAL_ITEM_SWORD_TRAINING_SKILL_POINT" => {
                Some(Self::VirtualItemSwordTrainingSkillPoint)
            }
            "VIRTUAL_ITEM_FIGHT_FEST_COIN" => Some(Self::VirtualItemFightFestCoin),
            "VIRTUAL_ITEM_ROGUE_MAGIC_TALENT_COIN" => {
                Some(Self::VirtualItemRogueMagicTalentCoin)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dhbmlpgdgma {
    GameplayCounterNone = 0,
    GameplayCounterMonsterSneakVision = 280001,
}
impl Dhbmlpgdgma {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Dhbmlpgdgma::GameplayCounterNone => "GAMEPLAY_COUNTER_NONE",
            Dhbmlpgdgma::GameplayCounterMonsterSneakVision => {
                "GAMEPLAY_COUNTER_MONSTER_SNEAK_VISION"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GAMEPLAY_COUNTER_NONE" => Some(Self::GameplayCounterNone),
            "GAMEPLAY_COUNTER_MONSTER_SNEAK_VISION" => {
                Some(Self::GameplayCounterMonsterSneakVision)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Khpbampalbe {
    BlackLimitLevelAll = 0,
}
impl Khpbampalbe {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Khpbampalbe::BlackLimitLevelAll => "BLACK_LIMIT_LEVEL_ALL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BLACK_LIMIT_LEVEL_ALL" => Some(Self::BlackLimitLevelAll),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nopcbmfkcgo {
    AreaNone = 0,
    AreaCn = 1,
    AreaJp = 2,
    AreaAsia = 3,
    AreaWest = 4,
    AreaKr = 5,
    AreaOverseas = 6,
}
impl Nopcbmfkcgo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Nopcbmfkcgo::AreaNone => "AREA_NONE",
            Nopcbmfkcgo::AreaCn => "AREA_CN",
            Nopcbmfkcgo::AreaJp => "AREA_JP",
            Nopcbmfkcgo::AreaAsia => "AREA_ASIA",
            Nopcbmfkcgo::AreaWest => "AREA_WEST",
            Nopcbmfkcgo::AreaKr => "AREA_KR",
            Nopcbmfkcgo::AreaOverseas => "AREA_OVERSEAS",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AREA_NONE" => Some(Self::AreaNone),
            "AREA_CN" => Some(Self::AreaCn),
            "AREA_JP" => Some(Self::AreaJp),
            "AREA_ASIA" => Some(Self::AreaAsia),
            "AREA_WEST" => Some(Self::AreaWest),
            "AREA_KR" => Some(Self::AreaKr),
            "AREA_OVERSEAS" => Some(Self::AreaOverseas),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gmfjnaddaoj {
    EntityNone = 0,
    EntityAvatar = 1,
    EntityMonster = 2,
    EntityNpc = 3,
    EntityProp = 4,
    EntityTrigger = 5,
    EntityEnv = 6,
    EntitySummonUnit = 7,
}
impl Gmfjnaddaoj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Gmfjnaddaoj::EntityNone => "ENTITY_NONE",
            Gmfjnaddaoj::EntityAvatar => "ENTITY_AVATAR",
            Gmfjnaddaoj::EntityMonster => "ENTITY_MONSTER",
            Gmfjnaddaoj::EntityNpc => "ENTITY_NPC",
            Gmfjnaddaoj::EntityProp => "ENTITY_PROP",
            Gmfjnaddaoj::EntityTrigger => "ENTITY_TRIGGER",
            Gmfjnaddaoj::EntityEnv => "ENTITY_ENV",
            Gmfjnaddaoj::EntitySummonUnit => "ENTITY_SUMMON_UNIT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ENTITY_NONE" => Some(Self::EntityNone),
            "ENTITY_AVATAR" => Some(Self::EntityAvatar),
            "ENTITY_MONSTER" => Some(Self::EntityMonster),
            "ENTITY_NPC" => Some(Self::EntityNpc),
            "ENTITY_PROP" => Some(Self::EntityProp),
            "ENTITY_TRIGGER" => Some(Self::EntityTrigger),
            "ENTITY_ENV" => Some(Self::EntityEnv),
            "ENTITY_SUMMON_UNIT" => Some(Self::EntitySummonUnit),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hmpkdadoodb {
    LanguageNone = 0,
    LanguageSc = 1,
    LanguageTc = 2,
    LanguageEn = 3,
    LanguageKr = 4,
    LanguageJp = 5,
    LanguageFr = 6,
    LanguageDe = 7,
    LanguageEs = 8,
    LanguagePt = 9,
    LanguageRu = 10,
    LanguageTh = 11,
    LanguageVi = 12,
    LanguageId = 13,
}
impl Hmpkdadoodb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Hmpkdadoodb::LanguageNone => "LANGUAGE_NONE",
            Hmpkdadoodb::LanguageSc => "LANGUAGE_SC",
            Hmpkdadoodb::LanguageTc => "LANGUAGE_TC",
            Hmpkdadoodb::LanguageEn => "LANGUAGE_EN",
            Hmpkdadoodb::LanguageKr => "LANGUAGE_KR",
            Hmpkdadoodb::LanguageJp => "LANGUAGE_JP",
            Hmpkdadoodb::LanguageFr => "LANGUAGE_FR",
            Hmpkdadoodb::LanguageDe => "LANGUAGE_DE",
            Hmpkdadoodb::LanguageEs => "LANGUAGE_ES",
            Hmpkdadoodb::LanguagePt => "LANGUAGE_PT",
            Hmpkdadoodb::LanguageRu => "LANGUAGE_RU",
            Hmpkdadoodb::LanguageTh => "LANGUAGE_TH",
            Hmpkdadoodb::LanguageVi => "LANGUAGE_VI",
            Hmpkdadoodb::LanguageId => "LANGUAGE_ID",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LANGUAGE_NONE" => Some(Self::LanguageNone),
            "LANGUAGE_SC" => Some(Self::LanguageSc),
            "LANGUAGE_TC" => Some(Self::LanguageTc),
            "LANGUAGE_EN" => Some(Self::LanguageEn),
            "LANGUAGE_KR" => Some(Self::LanguageKr),
            "LANGUAGE_JP" => Some(Self::LanguageJp),
            "LANGUAGE_FR" => Some(Self::LanguageFr),
            "LANGUAGE_DE" => Some(Self::LanguageDe),
            "LANGUAGE_ES" => Some(Self::LanguageEs),
            "LANGUAGE_PT" => Some(Self::LanguagePt),
            "LANGUAGE_RU" => Some(Self::LanguageRu),
            "LANGUAGE_TH" => Some(Self::LanguageTh),
            "LANGUAGE_VI" => Some(Self::LanguageVi),
            "LANGUAGE_ID" => Some(Self::LanguageId),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PlatformType {
    Editor = 0,
    Ios = 1,
    Android = 2,
    Pc = 3,
    Web = 4,
    Wap = 5,
    Ps4 = 6,
    Nintendo = 7,
    CloudAndroid = 8,
    CloudPc = 9,
    CloudIos = 10,
    Ps5 = 11,
    Mac = 12,
    CloudMac = 13,
    CloudWebAndroid = 20,
    CloudWebIos = 21,
    CloudWebPc = 22,
    CloudWebMac = 23,
    CloudWebTouch = 24,
    CloudWebKeyboard = 25,
}
impl PlatformType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            PlatformType::Editor => "EDITOR",
            PlatformType::Ios => "IOS",
            PlatformType::Android => "ANDROID",
            PlatformType::Pc => "PC",
            PlatformType::Web => "WEB",
            PlatformType::Wap => "WAP",
            PlatformType::Ps4 => "PS4",
            PlatformType::Nintendo => "NINTENDO",
            PlatformType::CloudAndroid => "CLOUD_ANDROID",
            PlatformType::CloudPc => "CLOUD_PC",
            PlatformType::CloudIos => "CLOUD_IOS",
            PlatformType::Ps5 => "PS5",
            PlatformType::Mac => "MAC",
            PlatformType::CloudMac => "CLOUD_MAC",
            PlatformType::CloudWebAndroid => "CLOUD_WEB_ANDROID",
            PlatformType::CloudWebIos => "CLOUD_WEB_IOS",
            PlatformType::CloudWebPc => "CLOUD_WEB_PC",
            PlatformType::CloudWebMac => "CLOUD_WEB_MAC",
            PlatformType::CloudWebTouch => "CLOUD_WEB_TOUCH",
            PlatformType::CloudWebKeyboard => "CLOUD_WEB_KEYBOARD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EDITOR" => Some(Self::Editor),
            "IOS" => Some(Self::Ios),
            "ANDROID" => Some(Self::Android),
            "PC" => Some(Self::Pc),
            "WEB" => Some(Self::Web),
            "WAP" => Some(Self::Wap),
            "PS4" => Some(Self::Ps4),
            "NINTENDO" => Some(Self::Nintendo),
            "CLOUD_ANDROID" => Some(Self::CloudAndroid),
            "CLOUD_PC" => Some(Self::CloudPc),
            "CLOUD_IOS" => Some(Self::CloudIos),
            "PS5" => Some(Self::Ps5),
            "MAC" => Some(Self::Mac),
            "CLOUD_MAC" => Some(Self::CloudMac),
            "CLOUD_WEB_ANDROID" => Some(Self::CloudWebAndroid),
            "CLOUD_WEB_IOS" => Some(Self::CloudWebIos),
            "CLOUD_WEB_PC" => Some(Self::CloudWebPc),
            "CLOUD_WEB_MAC" => Some(Self::CloudWebMac),
            "CLOUD_WEB_TOUCH" => Some(Self::CloudWebTouch),
            "CLOUD_WEB_KEYBOARD" => Some(Self::CloudWebKeyboard),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Omefdocpemd {
    NoKick = 0,
    ForceKick = 1,
    IdleKick = 2,
    Silence = 3,
}
impl Omefdocpemd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Omefdocpemd::NoKick => "NO_KICK",
            Omefdocpemd::ForceKick => "FORCE_KICK",
            Omefdocpemd::IdleKick => "IDLE_KICK",
            Omefdocpemd::Silence => "SILENCE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NO_KICK" => Some(Self::NoKick),
            "FORCE_KICK" => Some(Self::ForceKick),
            "IDLE_KICK" => Some(Self::IdleKick),
            "SILENCE" => Some(Self::Silence),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AvatarType {
    None = 0,
    AvatarTrialType = 1,
    AvatarLimitType = 2,
    AvatarFormalType = 3,
    AvatarAssistType = 4,
    AvatarAetherDivideType = 5,
    AvatarUpgradeAvailableType = 6,
}
impl AvatarType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            AvatarType::None => "AVATAR_TYPE_NONE",
            AvatarType::AvatarTrialType => "AVATAR_TRIAL_TYPE",
            AvatarType::AvatarLimitType => "AVATAR_LIMIT_TYPE",
            AvatarType::AvatarFormalType => "AVATAR_FORMAL_TYPE",
            AvatarType::AvatarAssistType => "AVATAR_ASSIST_TYPE",
            AvatarType::AvatarAetherDivideType => "AVATAR_AETHER_DIVIDE_TYPE",
            AvatarType::AvatarUpgradeAvailableType => "AVATAR_UPGRADE_AVAILABLE_TYPE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AVATAR_TYPE_NONE" => Some(Self::None),
            "AVATAR_TRIAL_TYPE" => Some(Self::AvatarTrialType),
            "AVATAR_LIMIT_TYPE" => Some(Self::AvatarLimitType),
            "AVATAR_FORMAL_TYPE" => Some(Self::AvatarFormalType),
            "AVATAR_ASSIST_TYPE" => Some(Self::AvatarAssistType),
            "AVATAR_AETHER_DIVIDE_TYPE" => Some(Self::AvatarAetherDivideType),
            "AVATAR_UPGRADE_AVAILABLE_TYPE" => Some(Self::AvatarUpgradeAvailableType),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MultiPathAvatarType {
    None = 0,
    Mar7thKnightType = 1001,
    Mar7thRogueType = 1224,
    BoyWarriorType = 8001,
    GirlWarriorType = 8002,
    BoyKnightType = 8003,
    GirlKnightType = 8004,
    BoyShamanType = 8005,
    GirlShamanType = 8006,
    BoyMemoryType = 8007,
    GirlMemoryType = 8008,
}
impl MultiPathAvatarType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            MultiPathAvatarType::None => "MultiPathAvatarTypeNone",
            MultiPathAvatarType::Mar7thKnightType => "Mar_7thKnightType",
            MultiPathAvatarType::Mar7thRogueType => "Mar_7thRogueType",
            MultiPathAvatarType::BoyWarriorType => "BoyWarriorType",
            MultiPathAvatarType::GirlWarriorType => "GirlWarriorType",
            MultiPathAvatarType::BoyKnightType => "BoyKnightType",
            MultiPathAvatarType::GirlKnightType => "GirlKnightType",
            MultiPathAvatarType::BoyShamanType => "BoyShamanType",
            MultiPathAvatarType::GirlShamanType => "GirlShamanType",
            MultiPathAvatarType::BoyMemoryType => "BoyMemoryType",
            MultiPathAvatarType::GirlMemoryType => "GirlMemoryType",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MultiPathAvatarTypeNone" => Some(Self::None),
            "Mar_7thKnightType" => Some(Self::Mar7thKnightType),
            "Mar_7thRogueType" => Some(Self::Mar7thRogueType),
            "BoyWarriorType" => Some(Self::BoyWarriorType),
            "GirlWarriorType" => Some(Self::GirlWarriorType),
            "BoyKnightType" => Some(Self::BoyKnightType),
            "GirlKnightType" => Some(Self::GirlKnightType),
            "BoyShamanType" => Some(Self::BoyShamanType),
            "GirlShamanType" => Some(Self::GirlShamanType),
            "BoyMemoryType" => Some(Self::BoyMemoryType),
            "GirlMemoryType" => Some(Self::GirlMemoryType),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gender {
    None = 0,
    Man = 1,
    Woman = 2,
}
impl Gender {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Gender::None => "GenderNone",
            Gender::Man => "GenderMan",
            Gender::Woman => "GenderWoman",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GenderNone" => Some(Self::None),
            "GenderMan" => Some(Self::Man),
            "GenderWoman" => Some(Self::Woman),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bnhjenkfgea {
    ProductNone = 0,
    ProductNormal = 1,
    ProductLimit = 2,
    ProductLimitNoPay = 3,
    ProductNoProcessOrder = 4,
}
impl Bnhjenkfgea {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Bnhjenkfgea::ProductNone => "PRODUCT_NONE",
            Bnhjenkfgea::ProductNormal => "PRODUCT_NORMAL",
            Bnhjenkfgea::ProductLimit => "PRODUCT_LIMIT",
            Bnhjenkfgea::ProductLimitNoPay => "PRODUCT_LIMIT_NO_PAY",
            Bnhjenkfgea::ProductNoProcessOrder => "PRODUCT_NO_PROCESS_ORDER",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PRODUCT_NONE" => Some(Self::ProductNone),
            "PRODUCT_NORMAL" => Some(Self::ProductNormal),
            "PRODUCT_LIMIT" => Some(Self::ProductLimit),
            "PRODUCT_LIMIT_NO_PAY" => Some(Self::ProductLimitNoPay),
            "PRODUCT_NO_PROCESS_ORDER" => Some(Self::ProductNoProcessOrder),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jindbomgcaa {
    ProductGiftNone = 0,
    ProductGiftCoin = 1,
    ProductGiftMonthCard = 2,
    ProductGiftBp68 = 3,
    ProductGiftBp128 = 4,
    ProductGiftBp68Upgrade128 = 5,
    ProductGiftPointCard = 6,
    ProductGiftPsPreOrder1 = 7,
    ProductGiftPsPreOrder2 = 8,
    ProductGiftGooglePoints100 = 9,
    ProductGiftGooglePoints150 = 10,
    ProductGiftPsPointCard030 = 11,
    ProductGiftPsPointCard050 = 12,
    ProductGiftPsPointCard100 = 13,
}
impl Jindbomgcaa {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Jindbomgcaa::ProductGiftNone => "PRODUCT_GIFT_NONE",
            Jindbomgcaa::ProductGiftCoin => "PRODUCT_GIFT_COIN",
            Jindbomgcaa::ProductGiftMonthCard => "PRODUCT_GIFT_MONTH_CARD",
            Jindbomgcaa::ProductGiftBp68 => "PRODUCT_GIFT_BP_68",
            Jindbomgcaa::ProductGiftBp128 => "PRODUCT_GIFT_BP_128",
            Jindbomgcaa::ProductGiftBp68Upgrade128 => "PRODUCT_GIFT_BP68_UPGRADE_128",
            Jindbomgcaa::ProductGiftPointCard => "PRODUCT_GIFT_POINT_CARD",
            Jindbomgcaa::ProductGiftPsPreOrder1 => "PRODUCT_GIFT_PS_PRE_ORDER_1",
            Jindbomgcaa::ProductGiftPsPreOrder2 => "PRODUCT_GIFT_PS_PRE_ORDER_2",
            Jindbomgcaa::ProductGiftGooglePoints100 => "PRODUCT_GIFT_GOOGLE_POINTS_100",
            Jindbomgcaa::ProductGiftGooglePoints150 => "PRODUCT_GIFT_GOOGLE_POINTS_150",
            Jindbomgcaa::ProductGiftPsPointCard030 => "PRODUCT_GIFT_PS_POINT_CARD_030",
            Jindbomgcaa::ProductGiftPsPointCard050 => "PRODUCT_GIFT_PS_POINT_CARD_050",
            Jindbomgcaa::ProductGiftPsPointCard100 => "PRODUCT_GIFT_PS_POINT_CARD_100",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PRODUCT_GIFT_NONE" => Some(Self::ProductGiftNone),
            "PRODUCT_GIFT_COIN" => Some(Self::ProductGiftCoin),
            "PRODUCT_GIFT_MONTH_CARD" => Some(Self::ProductGiftMonthCard),
            "PRODUCT_GIFT_BP_68" => Some(Self::ProductGiftBp68),
            "PRODUCT_GIFT_BP_128" => Some(Self::ProductGiftBp128),
            "PRODUCT_GIFT_BP68_UPGRADE_128" => Some(Self::ProductGiftBp68Upgrade128),
            "PRODUCT_GIFT_POINT_CARD" => Some(Self::ProductGiftPointCard),
            "PRODUCT_GIFT_PS_PRE_ORDER_1" => Some(Self::ProductGiftPsPreOrder1),
            "PRODUCT_GIFT_PS_PRE_ORDER_2" => Some(Self::ProductGiftPsPreOrder2),
            "PRODUCT_GIFT_GOOGLE_POINTS_100" => Some(Self::ProductGiftGooglePoints100),
            "PRODUCT_GIFT_GOOGLE_POINTS_150" => Some(Self::ProductGiftGooglePoints150),
            "PRODUCT_GIFT_PS_POINT_CARD_030" => Some(Self::ProductGiftPsPointCard030),
            "PRODUCT_GIFT_PS_POINT_CARD_050" => Some(Self::ProductGiftPsPointCard050),
            "PRODUCT_GIFT_PS_POINT_CARD_100" => Some(Self::ProductGiftPsPointCard100),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kpdimdcljfi {
    FeatureSwitchNone = 0,
    FeatureSwitchShop = 1,
    FeatureSwitchLineupName = 2,
    FeatureSwitchRechargeShop = 3,
    FeatureSwitchNickname = 4,
    FeatureSwitchSignature = 5,
    FeatureSwitchBattlepass = 6,
    FeatureSwitchPunkLord = 7,
    FeatureSwitchMonthcardDaily = 8,
    FeatureSwitchPictureShare = 9,
    FeatureSwitchRogue = 10,
    FeatureSwitchChallenge = 11,
    FeatureSwitchCocoon = 12,
    FeatureSwitchRaid = 13,
    FeatureSwitchMazePlaneEvent = 14,
    FeatureSwitchActivityPanel = 15,
    FeatureSwitchMailbox = 16,
    FeatureSwitchQuest = 17,
    FeatureSwitchGacha = 18,
    FeatureSwitchChat = 19,
    FeatureSwitchModifyFriendAlias = 20,
    FeatureSwitchUseItem = 21,
    FeatureSwitchActivitySchedule = 22,
    FeatureSwitchFarmElement = 23,
    FeatureSwitchAchievementLevel = 24,
    FeatureSwitchDailyActiveLevel = 25,
    FeatureSwitchPlayerReturn = 26,
    FeatureSwitchFirstSetNickname = 27,
    FeatureSwitchMainMissionReward = 28,
    FeatureSwitchSubMissionReward = 29,
    FeatureSwitchPamMission = 30,
    FeatureSwitchDestroyItem = 32,
    FeatureSwitchConsumeItemTurn = 33,
    FeatureSwitchRogueModifier = 34,
    FeatureSwitchChessRogue = 35,
    FeatureSwitchChessRogueBoard = 36,
    FeatureSwitchRollShop = 37,
    FeatureSwitchH5Return = 38,
    FeatureSwitchOffering = 39,
    FeatureSwitchServerRedPoint = 40,
    FeatureSwitchMonopolyOptionRatio = 41,
    FeatureSwitchMonopolyGetRaffleTicket = 42,
    FeatureSwitchMonopolyTakeRaffleReward = 43,
    FeatureSwitchChallengeRecommendLineup = 44,
    FeatureSwitchPsnMemberShipCheck = 45,
    FeatureSwitchPlayerBoardDevelopment = 46,
    FeatureSwitchPvp = 47,
    FeatureSwitchRogueMode = 48,
    FeatureSwitchRogueTournUgc = 49,
    FeatureSwitchRelicFilterPlanName = 50,
    FeatureSwitchMazeItemUseBuffDrop = 51,
    FeatureSwitchRedDot = 52,
    FeatureSwitchGameStateService = 53,
    FeatureSwitchBenefitIndex = 54,
    FeatureSwitchRogueTournBuildRef = 55,
    FeatureSwitchPreAvatarSetGrowthTarget = 56,
    FeatureSwitchMarseventhSkinHint = 57,
}
impl Kpdimdcljfi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Kpdimdcljfi::FeatureSwitchNone => "FEATURE_SWITCH_NONE",
            Kpdimdcljfi::FeatureSwitchShop => "FEATURE_SWITCH_SHOP",
            Kpdimdcljfi::FeatureSwitchLineupName => "FEATURE_SWITCH_LINEUP_NAME",
            Kpdimdcljfi::FeatureSwitchRechargeShop => "FEATURE_SWITCH_RECHARGE_SHOP",
            Kpdimdcljfi::FeatureSwitchNickname => "FEATURE_SWITCH_NICKNAME",
            Kpdimdcljfi::FeatureSwitchSignature => "FEATURE_SWITCH_SIGNATURE",
            Kpdimdcljfi::FeatureSwitchBattlepass => "FEATURE_SWITCH_BATTLEPASS",
            Kpdimdcljfi::FeatureSwitchPunkLord => "FEATURE_SWITCH_PUNK_LORD",
            Kpdimdcljfi::FeatureSwitchMonthcardDaily => "FEATURE_SWITCH_MONTHCARD_DAILY",
            Kpdimdcljfi::FeatureSwitchPictureShare => "FEATURE_SWITCH_PICTURE_SHARE",
            Kpdimdcljfi::FeatureSwitchRogue => "FEATURE_SWITCH_ROGUE",
            Kpdimdcljfi::FeatureSwitchChallenge => "FEATURE_SWITCH_CHALLENGE",
            Kpdimdcljfi::FeatureSwitchCocoon => "FEATURE_SWITCH_COCOON",
            Kpdimdcljfi::FeatureSwitchRaid => "FEATURE_SWITCH_RAID",
            Kpdimdcljfi::FeatureSwitchMazePlaneEvent => "FEATURE_SWITCH_MAZE_PLANE_EVENT",
            Kpdimdcljfi::FeatureSwitchActivityPanel => "FEATURE_SWITCH_ACTIVITY_PANEL",
            Kpdimdcljfi::FeatureSwitchMailbox => "FEATURE_SWITCH_MAILBOX",
            Kpdimdcljfi::FeatureSwitchQuest => "FEATURE_SWITCH_QUEST",
            Kpdimdcljfi::FeatureSwitchGacha => "FEATURE_SWITCH_GACHA",
            Kpdimdcljfi::FeatureSwitchChat => "FEATURE_SWITCH_CHAT",
            Kpdimdcljfi::FeatureSwitchModifyFriendAlias => {
                "FEATURE_SWITCH_MODIFY_FRIEND_ALIAS"
            }
            Kpdimdcljfi::FeatureSwitchUseItem => "FEATURE_SWITCH_USE_ITEM",
            Kpdimdcljfi::FeatureSwitchActivitySchedule => {
                "FEATURE_SWITCH_ACTIVITY_SCHEDULE"
            }
            Kpdimdcljfi::FeatureSwitchFarmElement => "FEATURE_SWITCH_FARM_ELEMENT",
            Kpdimdcljfi::FeatureSwitchAchievementLevel => {
                "FEATURE_SWITCH_ACHIEVEMENT_LEVEL"
            }
            Kpdimdcljfi::FeatureSwitchDailyActiveLevel => {
                "FEATURE_SWITCH_DAILY_ACTIVE_LEVEL"
            }
            Kpdimdcljfi::FeatureSwitchPlayerReturn => "FEATURE_SWITCH_PLAYER_RETURN",
            Kpdimdcljfi::FeatureSwitchFirstSetNickname => {
                "FEATURE_SWITCH_FIRST_SET_NICKNAME"
            }
            Kpdimdcljfi::FeatureSwitchMainMissionReward => {
                "FEATURE_SWITCH_MAIN_MISSION_REWARD"
            }
            Kpdimdcljfi::FeatureSwitchSubMissionReward => {
                "FEATURE_SWITCH_SUB_MISSION_REWARD"
            }
            Kpdimdcljfi::FeatureSwitchPamMission => "FEATURE_SWITCH_PAM_MISSION",
            Kpdimdcljfi::FeatureSwitchDestroyItem => "FEATURE_SWITCH_DESTROY_ITEM",
            Kpdimdcljfi::FeatureSwitchConsumeItemTurn => {
                "FEATURE_SWITCH_CONSUME_ITEM_TURN"
            }
            Kpdimdcljfi::FeatureSwitchRogueModifier => "FEATURE_SWITCH_ROGUE_MODIFIER",
            Kpdimdcljfi::FeatureSwitchChessRogue => "FEATURE_SWITCH_CHESS_ROGUE",
            Kpdimdcljfi::FeatureSwitchChessRogueBoard => {
                "FEATURE_SWITCH_CHESS_ROGUE_BOARD"
            }
            Kpdimdcljfi::FeatureSwitchRollShop => "FEATURE_SWITCH_ROLL_SHOP",
            Kpdimdcljfi::FeatureSwitchH5Return => "FEATURE_SWITCH_H5_RETURN",
            Kpdimdcljfi::FeatureSwitchOffering => "FEATURE_SWITCH_OFFERING",
            Kpdimdcljfi::FeatureSwitchServerRedPoint => "FEATURE_SWITCH_SERVER_RED_POINT",
            Kpdimdcljfi::FeatureSwitchMonopolyOptionRatio => {
                "FEATURE_SWITCH_MONOPOLY_OPTION_RATIO"
            }
            Kpdimdcljfi::FeatureSwitchMonopolyGetRaffleTicket => {
                "FEATURE_SWITCH_MONOPOLY_GET_RAFFLE_TICKET"
            }
            Kpdimdcljfi::FeatureSwitchMonopolyTakeRaffleReward => {
                "FEATURE_SWITCH_MONOPOLY_TAKE_RAFFLE_REWARD"
            }
            Kpdimdcljfi::FeatureSwitchChallengeRecommendLineup => {
                "FEATURE_SWITCH_CHALLENGE_RECOMMEND_LINEUP"
            }
            Kpdimdcljfi::FeatureSwitchPsnMemberShipCheck => {
                "FEATURE_SWITCH_PSN_MEMBER_SHIP_CHECK"
            }
            Kpdimdcljfi::FeatureSwitchPlayerBoardDevelopment => {
                "FEATURE_SWITCH_PLAYER_BOARD_DEVELOPMENT"
            }
            Kpdimdcljfi::FeatureSwitchPvp => "FEATURE_SWITCH_PVP",
            Kpdimdcljfi::FeatureSwitchRogueMode => "FEATURE_SWITCH_ROGUE_MODE",
            Kpdimdcljfi::FeatureSwitchRogueTournUgc => "FEATURE_SWITCH_ROGUE_TOURN_UGC",
            Kpdimdcljfi::FeatureSwitchRelicFilterPlanName => {
                "FEATURE_SWITCH_RELIC_FILTER_PLAN_NAME"
            }
            Kpdimdcljfi::FeatureSwitchMazeItemUseBuffDrop => {
                "FEATURE_SWITCH_MAZE_ITEM_USE_BUFF_DROP"
            }
            Kpdimdcljfi::FeatureSwitchRedDot => "FEATURE_SWITCH_RED_DOT",
            Kpdimdcljfi::FeatureSwitchGameStateService => {
                "FEATURE_SWITCH_GAME_STATE_SERVICE"
            }
            Kpdimdcljfi::FeatureSwitchBenefitIndex => "FEATURE_SWITCH_BENEFIT_INDEX",
            Kpdimdcljfi::FeatureSwitchRogueTournBuildRef => {
                "FEATURE_SWITCH_ROGUE_TOURN_BUILD_REF"
            }
            Kpdimdcljfi::FeatureSwitchPreAvatarSetGrowthTarget => {
                "FEATURE_SWITCH_PRE_AVATAR_SET_GROWTH_TARGET"
            }
            Kpdimdcljfi::FeatureSwitchMarseventhSkinHint => {
                "FEATURE_SWITCH_MARSEVENTH_SKIN_HINT"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FEATURE_SWITCH_NONE" => Some(Self::FeatureSwitchNone),
            "FEATURE_SWITCH_SHOP" => Some(Self::FeatureSwitchShop),
            "FEATURE_SWITCH_LINEUP_NAME" => Some(Self::FeatureSwitchLineupName),
            "FEATURE_SWITCH_RECHARGE_SHOP" => Some(Self::FeatureSwitchRechargeShop),
            "FEATURE_SWITCH_NICKNAME" => Some(Self::FeatureSwitchNickname),
            "FEATURE_SWITCH_SIGNATURE" => Some(Self::FeatureSwitchSignature),
            "FEATURE_SWITCH_BATTLEPASS" => Some(Self::FeatureSwitchBattlepass),
            "FEATURE_SWITCH_PUNK_LORD" => Some(Self::FeatureSwitchPunkLord),
            "FEATURE_SWITCH_MONTHCARD_DAILY" => Some(Self::FeatureSwitchMonthcardDaily),
            "FEATURE_SWITCH_PICTURE_SHARE" => Some(Self::FeatureSwitchPictureShare),
            "FEATURE_SWITCH_ROGUE" => Some(Self::FeatureSwitchRogue),
            "FEATURE_SWITCH_CHALLENGE" => Some(Self::FeatureSwitchChallenge),
            "FEATURE_SWITCH_COCOON" => Some(Self::FeatureSwitchCocoon),
            "FEATURE_SWITCH_RAID" => Some(Self::FeatureSwitchRaid),
            "FEATURE_SWITCH_MAZE_PLANE_EVENT" => Some(Self::FeatureSwitchMazePlaneEvent),
            "FEATURE_SWITCH_ACTIVITY_PANEL" => Some(Self::FeatureSwitchActivityPanel),
            "FEATURE_SWITCH_MAILBOX" => Some(Self::FeatureSwitchMailbox),
            "FEATURE_SWITCH_QUEST" => Some(Self::FeatureSwitchQuest),
            "FEATURE_SWITCH_GACHA" => Some(Self::FeatureSwitchGacha),
            "FEATURE_SWITCH_CHAT" => Some(Self::FeatureSwitchChat),
            "FEATURE_SWITCH_MODIFY_FRIEND_ALIAS" => {
                Some(Self::FeatureSwitchModifyFriendAlias)
            }
            "FEATURE_SWITCH_USE_ITEM" => Some(Self::FeatureSwitchUseItem),
            "FEATURE_SWITCH_ACTIVITY_SCHEDULE" => {
                Some(Self::FeatureSwitchActivitySchedule)
            }
            "FEATURE_SWITCH_FARM_ELEMENT" => Some(Self::FeatureSwitchFarmElement),
            "FEATURE_SWITCH_ACHIEVEMENT_LEVEL" => {
                Some(Self::FeatureSwitchAchievementLevel)
            }
            "FEATURE_SWITCH_DAILY_ACTIVE_LEVEL" => {
                Some(Self::FeatureSwitchDailyActiveLevel)
            }
            "FEATURE_SWITCH_PLAYER_RETURN" => Some(Self::FeatureSwitchPlayerReturn),
            "FEATURE_SWITCH_FIRST_SET_NICKNAME" => {
                Some(Self::FeatureSwitchFirstSetNickname)
            }
            "FEATURE_SWITCH_MAIN_MISSION_REWARD" => {
                Some(Self::FeatureSwitchMainMissionReward)
            }
            "FEATURE_SWITCH_SUB_MISSION_REWARD" => {
                Some(Self::FeatureSwitchSubMissionReward)
            }
            "FEATURE_SWITCH_PAM_MISSION" => Some(Self::FeatureSwitchPamMission),
            "FEATURE_SWITCH_DESTROY_ITEM" => Some(Self::FeatureSwitchDestroyItem),
            "FEATURE_SWITCH_CONSUME_ITEM_TURN" => {
                Some(Self::FeatureSwitchConsumeItemTurn)
            }
            "FEATURE_SWITCH_ROGUE_MODIFIER" => Some(Self::FeatureSwitchRogueModifier),
            "FEATURE_SWITCH_CHESS_ROGUE" => Some(Self::FeatureSwitchChessRogue),
            "FEATURE_SWITCH_CHESS_ROGUE_BOARD" => {
                Some(Self::FeatureSwitchChessRogueBoard)
            }
            "FEATURE_SWITCH_ROLL_SHOP" => Some(Self::FeatureSwitchRollShop),
            "FEATURE_SWITCH_H5_RETURN" => Some(Self::FeatureSwitchH5Return),
            "FEATURE_SWITCH_OFFERING" => Some(Self::FeatureSwitchOffering),
            "FEATURE_SWITCH_SERVER_RED_POINT" => Some(Self::FeatureSwitchServerRedPoint),
            "FEATURE_SWITCH_MONOPOLY_OPTION_RATIO" => {
                Some(Self::FeatureSwitchMonopolyOptionRatio)
            }
            "FEATURE_SWITCH_MONOPOLY_GET_RAFFLE_TICKET" => {
                Some(Self::FeatureSwitchMonopolyGetRaffleTicket)
            }
            "FEATURE_SWITCH_MONOPOLY_TAKE_RAFFLE_REWARD" => {
                Some(Self::FeatureSwitchMonopolyTakeRaffleReward)
            }
            "FEATURE_SWITCH_CHALLENGE_RECOMMEND_LINEUP" => {
                Some(Self::FeatureSwitchChallengeRecommendLineup)
            }
            "FEATURE_SWITCH_PSN_MEMBER_SHIP_CHECK" => {
                Some(Self::FeatureSwitchPsnMemberShipCheck)
            }
            "FEATURE_SWITCH_PLAYER_BOARD_DEVELOPMENT" => {
                Some(Self::FeatureSwitchPlayerBoardDevelopment)
            }
            "FEATURE_SWITCH_PVP" => Some(Self::FeatureSwitchPvp),
            "FEATURE_SWITCH_ROGUE_MODE" => Some(Self::FeatureSwitchRogueMode),
            "FEATURE_SWITCH_ROGUE_TOURN_UGC" => Some(Self::FeatureSwitchRogueTournUgc),
            "FEATURE_SWITCH_RELIC_FILTER_PLAN_NAME" => {
                Some(Self::FeatureSwitchRelicFilterPlanName)
            }
            "FEATURE_SWITCH_MAZE_ITEM_USE_BUFF_DROP" => {
                Some(Self::FeatureSwitchMazeItemUseBuffDrop)
            }
            "FEATURE_SWITCH_RED_DOT" => Some(Self::FeatureSwitchRedDot),
            "FEATURE_SWITCH_GAME_STATE_SERVICE" => {
                Some(Self::FeatureSwitchGameStateService)
            }
            "FEATURE_SWITCH_BENEFIT_INDEX" => Some(Self::FeatureSwitchBenefitIndex),
            "FEATURE_SWITCH_ROGUE_TOURN_BUILD_REF" => {
                Some(Self::FeatureSwitchRogueTournBuildRef)
            }
            "FEATURE_SWITCH_PRE_AVATAR_SET_GROWTH_TARGET" => {
                Some(Self::FeatureSwitchPreAvatarSetGrowthTarget)
            }
            "FEATURE_SWITCH_MARSEVENTH_SKIN_HINT" => {
                Some(Self::FeatureSwitchMarseventhSkinHint)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SecretKeyType {
    SecretKeyNone = 0,
    SecretKeyServerCheck = 1,
    SecretKeyVideo = 2,
    SecretKeyBattleTime = 3,
}
impl SecretKeyType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            SecretKeyType::SecretKeyNone => "SECRET_KEY_NONE",
            SecretKeyType::SecretKeyServerCheck => "SECRET_KEY_SERVER_CHECK",
            SecretKeyType::SecretKeyVideo => "SECRET_KEY_VIDEO",
            SecretKeyType::SecretKeyBattleTime => "SECRET_KEY_BATTLE_TIME",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SECRET_KEY_NONE" => Some(Self::SecretKeyNone),
            "SECRET_KEY_SERVER_CHECK" => Some(Self::SecretKeyServerCheck),
            "SECRET_KEY_VIDEO" => Some(Self::SecretKeyVideo),
            "SECRET_KEY_BATTLE_TIME" => Some(Self::SecretKeyBattleTime),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ReplayType {
    None = 0,
    PunkLord = 1,
}
impl ReplayType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            ReplayType::None => "REPLAY_TYPE_NONE",
            ReplayType::PunkLord => "REPLAY_TYPE_PUNK_LORD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "REPLAY_TYPE_NONE" => Some(Self::None),
            "REPLAY_TYPE_PUNK_LORD" => Some(Self::PunkLord),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pgcakalelgp {
    PunkLordShareTypeNone = 0,
    PunkLordShareTypeFriend = 1,
    PunkLordShareTypeAll = 2,
}
impl Pgcakalelgp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Pgcakalelgp::PunkLordShareTypeNone => "PUNK_LORD_SHARE_TYPE_NONE",
            Pgcakalelgp::PunkLordShareTypeFriend => "PUNK_LORD_SHARE_TYPE_FRIEND",
            Pgcakalelgp::PunkLordShareTypeAll => "PUNK_LORD_SHARE_TYPE_ALL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PUNK_LORD_SHARE_TYPE_NONE" => Some(Self::PunkLordShareTypeNone),
            "PUNK_LORD_SHARE_TYPE_FRIEND" => Some(Self::PunkLordShareTypeFriend),
            "PUNK_LORD_SHARE_TYPE_ALL" => Some(Self::PunkLordShareTypeAll),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bihbjilmogg {
    PunkLordAttackerStatusNone = 0,
    PunkLordAttackerStatusAttacked = 1,
    PunkLordAttackerStatusAttacking = 2,
    PunkLordAttackerStatusAttackedAndAttacking = 3,
}
impl Bihbjilmogg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Bihbjilmogg::PunkLordAttackerStatusNone => "PUNK_LORD_ATTACKER_STATUS_NONE",
            Bihbjilmogg::PunkLordAttackerStatusAttacked => {
                "PUNK_LORD_ATTACKER_STATUS_ATTACKED"
            }
            Bihbjilmogg::PunkLordAttackerStatusAttacking => {
                "PUNK_LORD_ATTACKER_STATUS_ATTACKING"
            }
            Bihbjilmogg::PunkLordAttackerStatusAttackedAndAttacking => {
                "PUNK_LORD_ATTACKER_STATUS_ATTACKED_AND_ATTACKING"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PUNK_LORD_ATTACKER_STATUS_NONE" => Some(Self::PunkLordAttackerStatusNone),
            "PUNK_LORD_ATTACKER_STATUS_ATTACKED" => {
                Some(Self::PunkLordAttackerStatusAttacked)
            }
            "PUNK_LORD_ATTACKER_STATUS_ATTACKING" => {
                Some(Self::PunkLordAttackerStatusAttacking)
            }
            "PUNK_LORD_ATTACKER_STATUS_ATTACKED_AND_ATTACKING" => {
                Some(Self::PunkLordAttackerStatusAttackedAndAttacking)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Goabdmjeagl {
    PunkLordMonsterInfoNotifyReasonNone = 0,
    PunkLordMonsterInfoNotifyReasonEnterRaid = 1,
    PunkLordMonsterInfoNotifyReasonBattleEnd = 2,
    PunkLordMonsterInfoNotifyReasonLeaveRaid = 3,
}
impl Goabdmjeagl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Goabdmjeagl::PunkLordMonsterInfoNotifyReasonNone => {
                "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_NONE"
            }
            Goabdmjeagl::PunkLordMonsterInfoNotifyReasonEnterRaid => {
                "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_ENTER_RAID"
            }
            Goabdmjeagl::PunkLordMonsterInfoNotifyReasonBattleEnd => {
                "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_BATTLE_END"
            }
            Goabdmjeagl::PunkLordMonsterInfoNotifyReasonLeaveRaid => {
                "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_LEAVE_RAID"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_NONE" => {
                Some(Self::PunkLordMonsterInfoNotifyReasonNone)
            }
            "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_ENTER_RAID" => {
                Some(Self::PunkLordMonsterInfoNotifyReasonEnterRaid)
            }
            "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_BATTLE_END" => {
                Some(Self::PunkLordMonsterInfoNotifyReasonBattleEnd)
            }
            "PUNK_LORD_MONSTER_INFO_NOTIFY_REASON_LEAVE_RAID" => {
                Some(Self::PunkLordMonsterInfoNotifyReasonLeaveRaid)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChatType {
    None = 0,
    Private = 1,
    Group = 2,
}
impl ChatType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            ChatType::None => "CHAT_TYPE_NONE",
            ChatType::Private => "CHAT_TYPE_PRIVATE",
            ChatType::Group => "CHAT_TYPE_GROUP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHAT_TYPE_NONE" => Some(Self::None),
            "CHAT_TYPE_PRIVATE" => Some(Self::Private),
            "CHAT_TYPE_GROUP" => Some(Self::Group),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MsgType {
    None = 0,
    CustomText = 1,
    Emoji = 2,
    Invite = 3,
}
impl MsgType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            MsgType::None => "MSG_TYPE_NONE",
            MsgType::CustomText => "MSG_TYPE_CUSTOM_TEXT",
            MsgType::Emoji => "MSG_TYPE_EMOJI",
            MsgType::Invite => "MSG_TYPE_INVITE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MSG_TYPE_NONE" => Some(Self::None),
            "MSG_TYPE_CUSTOM_TEXT" => Some(Self::CustomText),
            "MSG_TYPE_EMOJI" => Some(Self::Emoji),
            "MSG_TYPE_INVITE" => Some(Self::Invite),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bgoedokbhic {
    ShieldTypeNone = 0,
    ShieldTypeReplace = 1,
    ShieldTypeShied = 2,
}
impl Bgoedokbhic {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Bgoedokbhic::ShieldTypeNone => "SHIELD_TYPE_NONE",
            Bgoedokbhic::ShieldTypeReplace => "SHIELD_TYPE_REPLACE",
            Bgoedokbhic::ShieldTypeShied => "SHIELD_TYPE_SHIED",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SHIELD_TYPE_NONE" => Some(Self::ShieldTypeNone),
            "SHIELD_TYPE_REPLACE" => Some(Self::ShieldTypeReplace),
            "SHIELD_TYPE_SHIED" => Some(Self::ShieldTypeShied),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Chdjgkofobf {
    FuncUnlockIdNone = 0,
    FuncUnlockIdRelic = 403,
    FuncUnlockIdRelicNum = 404,
    FuncUnlockIdEquipment = 401,
    FuncUnlockIdSkilltree = 402,
    FuncUnlockIdGacha = 2300,
    FuncUnlockIdExpedition = 3100,
    FuncUnlockIdCompose = 4100,
    FuncUnlockIdFightactivity = 3700,
}
impl Chdjgkofobf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Chdjgkofobf::FuncUnlockIdNone => "FUNC_UNLOCK_ID_NONE",
            Chdjgkofobf::FuncUnlockIdRelic => "FUNC_UNLOCK_ID_RELIC",
            Chdjgkofobf::FuncUnlockIdRelicNum => "FUNC_UNLOCK_ID_RELIC_NUM",
            Chdjgkofobf::FuncUnlockIdEquipment => "FUNC_UNLOCK_ID_EQUIPMENT",
            Chdjgkofobf::FuncUnlockIdSkilltree => "FUNC_UNLOCK_ID_SKILLTREE",
            Chdjgkofobf::FuncUnlockIdGacha => "FUNC_UNLOCK_ID_GACHA",
            Chdjgkofobf::FuncUnlockIdExpedition => "FUNC_UNLOCK_ID_EXPEDITION",
            Chdjgkofobf::FuncUnlockIdCompose => "FUNC_UNLOCK_ID_COMPOSE",
            Chdjgkofobf::FuncUnlockIdFightactivity => "FUNC_UNLOCK_ID_FIGHTACTIVITY",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FUNC_UNLOCK_ID_NONE" => Some(Self::FuncUnlockIdNone),
            "FUNC_UNLOCK_ID_RELIC" => Some(Self::FuncUnlockIdRelic),
            "FUNC_UNLOCK_ID_RELIC_NUM" => Some(Self::FuncUnlockIdRelicNum),
            "FUNC_UNLOCK_ID_EQUIPMENT" => Some(Self::FuncUnlockIdEquipment),
            "FUNC_UNLOCK_ID_SKILLTREE" => Some(Self::FuncUnlockIdSkilltree),
            "FUNC_UNLOCK_ID_GACHA" => Some(Self::FuncUnlockIdGacha),
            "FUNC_UNLOCK_ID_EXPEDITION" => Some(Self::FuncUnlockIdExpedition),
            "FUNC_UNLOCK_ID_COMPOSE" => Some(Self::FuncUnlockIdCompose),
            "FUNC_UNLOCK_ID_FIGHTACTIVITY" => Some(Self::FuncUnlockIdFightactivity),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kcdgbafifoe {
    AssistAvatarUnknow = 0,
    AssistAvatarLevel = 1,
    AssistAvatarRank = 2,
}
impl Kcdgbafifoe {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Kcdgbafifoe::AssistAvatarUnknow => "ASSIST_AVATAR_UNKNOW",
            Kcdgbafifoe::AssistAvatarLevel => "ASSIST_AVATAR_LEVEL",
            Kcdgbafifoe::AssistAvatarRank => "ASSIST_AVATAR_RANK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ASSIST_AVATAR_UNKNOW" => Some(Self::AssistAvatarUnknow),
            "ASSIST_AVATAR_LEVEL" => Some(Self::AssistAvatarLevel),
            "ASSIST_AVATAR_RANK" => Some(Self::AssistAvatarRank),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dddefpdmkkl {
    DevelopmentNone = 0,
    DevelopmentRogueCosmos = 1,
    DevelopmentRogueChess = 2,
    DevelopmentRogueChessNous = 3,
    DevelopmentMemoryChallenge = 4,
    DevelopmentStoryChallenge = 5,
    DevelopmentUnlockAvatar = 6,
    DevelopmentUnlockEquipment = 7,
    DevelopmentActivityStart = 8,
    DevelopmentActivityEnd = 9,
    DevelopmentBossChallenge = 10,
    DevelopmentRogueTourn = 11,
    DevelopmentRogueTournWeek = 12,
    DevelopmentRogueMagic = 13,
}
impl Dddefpdmkkl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Dddefpdmkkl::DevelopmentNone => "DEVELOPMENT_NONE",
            Dddefpdmkkl::DevelopmentRogueCosmos => "DEVELOPMENT_ROGUE_COSMOS",
            Dddefpdmkkl::DevelopmentRogueChess => "DEVELOPMENT_ROGUE_CHESS",
            Dddefpdmkkl::DevelopmentRogueChessNous => "DEVELOPMENT_ROGUE_CHESS_NOUS",
            Dddefpdmkkl::DevelopmentMemoryChallenge => "DEVELOPMENT_MEMORY_CHALLENGE",
            Dddefpdmkkl::DevelopmentStoryChallenge => "DEVELOPMENT_STORY_CHALLENGE",
            Dddefpdmkkl::DevelopmentUnlockAvatar => "DEVELOPMENT_UNLOCK_AVATAR",
            Dddefpdmkkl::DevelopmentUnlockEquipment => "DEVELOPMENT_UNLOCK_EQUIPMENT",
            Dddefpdmkkl::DevelopmentActivityStart => "DEVELOPMENT_ACTIVITY_START",
            Dddefpdmkkl::DevelopmentActivityEnd => "DEVELOPMENT_ACTIVITY_END",
            Dddefpdmkkl::DevelopmentBossChallenge => "DEVELOPMENT_BOSS_CHALLENGE",
            Dddefpdmkkl::DevelopmentRogueTourn => "DEVELOPMENT_ROGUE_TOURN",
            Dddefpdmkkl::DevelopmentRogueTournWeek => "DEVELOPMENT_ROGUE_TOURN_WEEK",
            Dddefpdmkkl::DevelopmentRogueMagic => "DEVELOPMENT_ROGUE_MAGIC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DEVELOPMENT_NONE" => Some(Self::DevelopmentNone),
            "DEVELOPMENT_ROGUE_COSMOS" => Some(Self::DevelopmentRogueCosmos),
            "DEVELOPMENT_ROGUE_CHESS" => Some(Self::DevelopmentRogueChess),
            "DEVELOPMENT_ROGUE_CHESS_NOUS" => Some(Self::DevelopmentRogueChessNous),
            "DEVELOPMENT_MEMORY_CHALLENGE" => Some(Self::DevelopmentMemoryChallenge),
            "DEVELOPMENT_STORY_CHALLENGE" => Some(Self::DevelopmentStoryChallenge),
            "DEVELOPMENT_UNLOCK_AVATAR" => Some(Self::DevelopmentUnlockAvatar),
            "DEVELOPMENT_UNLOCK_EQUIPMENT" => Some(Self::DevelopmentUnlockEquipment),
            "DEVELOPMENT_ACTIVITY_START" => Some(Self::DevelopmentActivityStart),
            "DEVELOPMENT_ACTIVITY_END" => Some(Self::DevelopmentActivityEnd),
            "DEVELOPMENT_BOSS_CHALLENGE" => Some(Self::DevelopmentBossChallenge),
            "DEVELOPMENT_ROGUE_TOURN" => Some(Self::DevelopmentRogueTourn),
            "DEVELOPMENT_ROGUE_TOURN_WEEK" => Some(Self::DevelopmentRogueTournWeek),
            "DEVELOPMENT_ROGUE_MAGIC" => Some(Self::DevelopmentRogueMagic),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PlayingState {
    None = 0,
    PlayingRogueCosmos = 1,
    PlayingRogueChess = 2,
    PlayingRogueChessNous = 3,
    PlayingChallengeMemory = 4,
    PlayingChallengeStory = 5,
    PlayingChallengeBoss = 6,
    PlayingRogueTourn = 7,
    PlayingRogueMagic = 8,
}
impl PlayingState {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            PlayingState::None => "PLAYING_STATE_NONE",
            PlayingState::PlayingRogueCosmos => "PLAYING_ROGUE_COSMOS",
            PlayingState::PlayingRogueChess => "PLAYING_ROGUE_CHESS",
            PlayingState::PlayingRogueChessNous => "PLAYING_ROGUE_CHESS_NOUS",
            PlayingState::PlayingChallengeMemory => "PLAYING_CHALLENGE_MEMORY",
            PlayingState::PlayingChallengeStory => "PLAYING_CHALLENGE_STORY",
            PlayingState::PlayingChallengeBoss => "PLAYING_CHALLENGE_BOSS",
            PlayingState::PlayingRogueTourn => "PLAYING_ROGUE_TOURN",
            PlayingState::PlayingRogueMagic => "PLAYING_ROGUE_MAGIC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PLAYING_STATE_NONE" => Some(Self::None),
            "PLAYING_ROGUE_COSMOS" => Some(Self::PlayingRogueCosmos),
            "PLAYING_ROGUE_CHESS" => Some(Self::PlayingRogueChess),
            "PLAYING_ROGUE_CHESS_NOUS" => Some(Self::PlayingRogueChessNous),
            "PLAYING_CHALLENGE_MEMORY" => Some(Self::PlayingChallengeMemory),
            "PLAYING_CHALLENGE_STORY" => Some(Self::PlayingChallengeStory),
            "PLAYING_CHALLENGE_BOSS" => Some(Self::PlayingChallengeBoss),
            "PLAYING_ROGUE_TOURN" => Some(Self::PlayingRogueTourn),
            "PLAYING_ROGUE_MAGIC" => Some(Self::PlayingRogueMagic),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bdmgaaiepgh {
    MatchRoomCharacterNone = 0,
    MatchRoomCharacterLeader = 1,
    MatchRoomCharacterMember = 2,
    MatchRoomCharacterWatcher = 3,
}
impl Bdmgaaiepgh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Bdmgaaiepgh::MatchRoomCharacterNone => "MatchRoomCharacter_None",
            Bdmgaaiepgh::MatchRoomCharacterLeader => "MatchRoomCharacter_Leader",
            Bdmgaaiepgh::MatchRoomCharacterMember => "MatchRoomCharacter_Member",
            Bdmgaaiepgh::MatchRoomCharacterWatcher => "MatchRoomCharacter_Watcher",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MatchRoomCharacter_None" => Some(Self::MatchRoomCharacterNone),
            "MatchRoomCharacter_Leader" => Some(Self::MatchRoomCharacterLeader),
            "MatchRoomCharacter_Member" => Some(Self::MatchRoomCharacterMember),
            "MatchRoomCharacter_Watcher" => Some(Self::MatchRoomCharacterWatcher),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cjkkohfaggf {
    MatchRoomCharacterStatusNone = 0,
    MatchRoomCharacterStatusIdle = 1,
    MatchRoomCharacterStatusOperating = 2,
    MatchRoomCharacterStatusReady = 3,
    MatchRoomCharacterStatusFighting = 4,
    MatchRoomCharacterStatusWatching = 5,
}
impl Cjkkohfaggf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Cjkkohfaggf::MatchRoomCharacterStatusNone => "MatchRoomCharacterStatus_None",
            Cjkkohfaggf::MatchRoomCharacterStatusIdle => "MatchRoomCharacterStatus_Idle",
            Cjkkohfaggf::MatchRoomCharacterStatusOperating => {
                "MatchRoomCharacterStatus_Operating"
            }
            Cjkkohfaggf::MatchRoomCharacterStatusReady => {
                "MatchRoomCharacterStatus_Ready"
            }
            Cjkkohfaggf::MatchRoomCharacterStatusFighting => {
                "MatchRoomCharacterStatus_Fighting"
            }
            Cjkkohfaggf::MatchRoomCharacterStatusWatching => {
                "MatchRoomCharacterStatus_Watching"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MatchRoomCharacterStatus_None" => Some(Self::MatchRoomCharacterStatusNone),
            "MatchRoomCharacterStatus_Idle" => Some(Self::MatchRoomCharacterStatusIdle),
            "MatchRoomCharacterStatus_Operating" => {
                Some(Self::MatchRoomCharacterStatusOperating)
            }
            "MatchRoomCharacterStatus_Ready" => Some(Self::MatchRoomCharacterStatusReady),
            "MatchRoomCharacterStatus_Fighting" => {
                Some(Self::MatchRoomCharacterStatusFighting)
            }
            "MatchRoomCharacterStatus_Watching" => {
                Some(Self::MatchRoomCharacterStatusWatching)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Chehbbadkbg {
    BattleCheckStrategyIdentical = 0,
    BattleCheckStrategyServer = 1,
    BattleCheckStrategyClient = 2,
}
impl Chehbbadkbg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Chehbbadkbg::BattleCheckStrategyIdentical => {
                "BATTLE_CHECK_STRATEGY_IDENTICAL"
            }
            Chehbbadkbg::BattleCheckStrategyServer => "BATTLE_CHECK_STRATEGY_SERVER",
            Chehbbadkbg::BattleCheckStrategyClient => "BATTLE_CHECK_STRATEGY_CLIENT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BATTLE_CHECK_STRATEGY_IDENTICAL" => Some(Self::BattleCheckStrategyIdentical),
            "BATTLE_CHECK_STRATEGY_SERVER" => Some(Self::BattleCheckStrategyServer),
            "BATTLE_CHECK_STRATEGY_CLIENT" => Some(Self::BattleCheckStrategyClient),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kiafoikgdjm {
    BattleCheckResultSucc = 0,
    BattleCheckResultFail = 1,
    BattleCheckResultPass = 2,
}
impl Kiafoikgdjm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Kiafoikgdjm::BattleCheckResultSucc => "BATTLE_CHECK_RESULT_SUCC",
            Kiafoikgdjm::BattleCheckResultFail => "BATTLE_CHECK_RESULT_FAIL",
            Kiafoikgdjm::BattleCheckResultPass => "BATTLE_CHECK_RESULT_PASS",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BATTLE_CHECK_RESULT_SUCC" => Some(Self::BattleCheckResultSucc),
            "BATTLE_CHECK_RESULT_FAIL" => Some(Self::BattleCheckResultFail),
            "BATTLE_CHECK_RESULT_PASS" => Some(Self::BattleCheckResultPass),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Oldpjnmelab {
    BattleModuleMaze = 0,
    BattleModuleChallenge = 1,
    BattleModuleCocoon = 2,
    BattleModuleRogue = 3,
    BattleModuleChallengeActivity = 4,
    BattleModuleTrialLevel = 5,
    BattleModuleAetherDivide = 6,
}
impl Oldpjnmelab {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Oldpjnmelab::BattleModuleMaze => "BATTLE_MODULE_MAZE",
            Oldpjnmelab::BattleModuleChallenge => "BATTLE_MODULE_CHALLENGE",
            Oldpjnmelab::BattleModuleCocoon => "BATTLE_MODULE_COCOON",
            Oldpjnmelab::BattleModuleRogue => "BATTLE_MODULE_ROGUE",
            Oldpjnmelab::BattleModuleChallengeActivity => {
                "BATTLE_MODULE_CHALLENGE_ACTIVITY"
            }
            Oldpjnmelab::BattleModuleTrialLevel => "BATTLE_MODULE_TRIAL_LEVEL",
            Oldpjnmelab::BattleModuleAetherDivide => "BATTLE_MODULE_AETHER_DIVIDE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BATTLE_MODULE_MAZE" => Some(Self::BattleModuleMaze),
            "BATTLE_MODULE_CHALLENGE" => Some(Self::BattleModuleChallenge),
            "BATTLE_MODULE_COCOON" => Some(Self::BattleModuleCocoon),
            "BATTLE_MODULE_ROGUE" => Some(Self::BattleModuleRogue),
            "BATTLE_MODULE_CHALLENGE_ACTIVITY" => {
                Some(Self::BattleModuleChallengeActivity)
            }
            "BATTLE_MODULE_TRIAL_LEVEL" => Some(Self::BattleModuleTrialLevel),
            "BATTLE_MODULE_AETHER_DIVIDE" => Some(Self::BattleModuleAetherDivide),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Depjmmbphbj {
    AetherdivideSpiritLineupNone = 0,
    AetherdivideSpiritLineupNormal = 1,
    AetherdivideSpiritLineupTrial = 2,
}
impl Depjmmbphbj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Depjmmbphbj::AetherdivideSpiritLineupNone => {
                "AETHERDIVIDE_SPIRIT_LINEUP_NONE"
            }
            Depjmmbphbj::AetherdivideSpiritLineupNormal => {
                "AETHERDIVIDE_SPIRIT_LINEUP_NORMAL"
            }
            Depjmmbphbj::AetherdivideSpiritLineupTrial => {
                "AETHERDIVIDE_SPIRIT_LINEUP_TRIAL"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AETHERDIVIDE_SPIRIT_LINEUP_NONE" => Some(Self::AetherdivideSpiritLineupNone),
            "AETHERDIVIDE_SPIRIT_LINEUP_NORMAL" => {
                Some(Self::AetherdivideSpiritLineupNormal)
            }
            "AETHERDIVIDE_SPIRIT_LINEUP_TRIAL" => {
                Some(Self::AetherdivideSpiritLineupTrial)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pilniphdkhi {
    BattleTargetTypeNone = 0,
    BattleTargetTypeScore = 1,
    BattleTargetTypeAchievement = 2,
    BattleTargetTypeRaid = 3,
    BattleTargetTypeChallengeScore = 4,
    BattleTargetTypeCommon = 5,
    BattleTargetTypeClientAchievement = 6,
}
impl Pilniphdkhi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Pilniphdkhi::BattleTargetTypeNone => "BATTLE_TARGET_TYPE_NONE",
            Pilniphdkhi::BattleTargetTypeScore => "BATTLE_TARGET_TYPE_SCORE",
            Pilniphdkhi::BattleTargetTypeAchievement => "BATTLE_TARGET_TYPE_ACHIEVEMENT",
            Pilniphdkhi::BattleTargetTypeRaid => "BATTLE_TARGET_TYPE_RAID",
            Pilniphdkhi::BattleTargetTypeChallengeScore => {
                "BATTLE_TARGET_TYPE_CHALLENGE_SCORE"
            }
            Pilniphdkhi::BattleTargetTypeCommon => "BATTLE_TARGET_TYPE_COMMON",
            Pilniphdkhi::BattleTargetTypeClientAchievement => {
                "BATTLE_TARGET_TYPE_CLIENT_ACHIEVEMENT"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BATTLE_TARGET_TYPE_NONE" => Some(Self::BattleTargetTypeNone),
            "BATTLE_TARGET_TYPE_SCORE" => Some(Self::BattleTargetTypeScore),
            "BATTLE_TARGET_TYPE_ACHIEVEMENT" => Some(Self::BattleTargetTypeAchievement),
            "BATTLE_TARGET_TYPE_RAID" => Some(Self::BattleTargetTypeRaid),
            "BATTLE_TARGET_TYPE_CHALLENGE_SCORE" => {
                Some(Self::BattleTargetTypeChallengeScore)
            }
            "BATTLE_TARGET_TYPE_COMMON" => Some(Self::BattleTargetTypeCommon),
            "BATTLE_TARGET_TYPE_CLIENT_ACHIEVEMENT" => {
                Some(Self::BattleTargetTypeClientAchievement)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ghbmbgdpiie {
    Unknown = 0,
    KilledByOthers = 1,
    KilledBySelf = 2,
    Escape = 3,
}
impl Ghbmbgdpiie {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ghbmbgdpiie::Unknown => "UNKNOWN",
            Ghbmbgdpiie::KilledByOthers => "KILLED_BY_OTHERS",
            Ghbmbgdpiie::KilledBySelf => "KILLED_BY_SELF",
            Ghbmbgdpiie::Escape => "ESCAPE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "UNKNOWN" => Some(Self::Unknown),
            "KILLED_BY_OTHERS" => Some(Self::KilledByOthers),
            "KILLED_BY_SELF" => Some(Self::KilledBySelf),
            "ESCAPE" => Some(Self::Escape),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Agbpcblfnol {
    TagNone = 0,
    TagHideNpcMonster = 1,
}
impl Agbpcblfnol {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Agbpcblfnol::TagNone => "TAG_NONE",
            Agbpcblfnol::TagHideNpcMonster => "TAG_HIDE_NPC_MONSTER",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TAG_NONE" => Some(Self::TagNone),
            "TAG_HIDE_NPC_MONSTER" => Some(Self::TagHideNpcMonster),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hembndjafda {
    NormalCreate = 0,
    FormChange = 1,
}
impl Hembndjafda {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Hembndjafda::NormalCreate => "NORMAL_CREATE",
            Hembndjafda::FormChange => "FORM_CHANGE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NORMAL_CREATE" => Some(Self::NormalCreate),
            "FORM_CHANGE" => Some(Self::FormChange),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dicmjhinceg {
    BattleEndReasonNone = 0,
    BattleEndReasonAllDie = 1,
    BattleEndReasonTurnLimit = 2,
}
impl Dicmjhinceg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Dicmjhinceg::BattleEndReasonNone => "BATTLE_END_REASON_NONE",
            Dicmjhinceg::BattleEndReasonAllDie => "BATTLE_END_REASON_ALL_DIE",
            Dicmjhinceg::BattleEndReasonTurnLimit => "BATTLE_END_REASON_TURN_LIMIT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BATTLE_END_REASON_NONE" => Some(Self::BattleEndReasonNone),
            "BATTLE_END_REASON_ALL_DIE" => Some(Self::BattleEndReasonAllDie),
            "BATTLE_END_REASON_TURN_LIMIT" => Some(Self::BattleEndReasonTurnLimit),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Oedifangclh {
    BattleStaticticEventNone = 0,
    BattleStaticticEventTreasureDungeonAddExplore = 1,
    BattleStaticticEventTreasureDungeonOpenGrid = 2,
    BattleStaticticEventTreasureDungeonPickupItem = 3,
    BattleStaticticEventTreasureDungeonUseBuff = 4,
    BattleStaticticEventTelevisionActivityUpdateMazeBuffLayer = 5,
    BattleStaticticEventRogueTournTitanExtraCoin = 6,
    BattleStaticticEventRogueTournTitanExtraCoinTimes = 7,
}
impl Oedifangclh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Oedifangclh::BattleStaticticEventNone => "BATTLE_STATICTIC_EVENT_NONE",
            Oedifangclh::BattleStaticticEventTreasureDungeonAddExplore => {
                "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_ADD_EXPLORE"
            }
            Oedifangclh::BattleStaticticEventTreasureDungeonOpenGrid => {
                "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_OPEN_GRID"
            }
            Oedifangclh::BattleStaticticEventTreasureDungeonPickupItem => {
                "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_PICKUP_ITEM"
            }
            Oedifangclh::BattleStaticticEventTreasureDungeonUseBuff => {
                "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_USE_BUFF"
            }
            Oedifangclh::BattleStaticticEventTelevisionActivityUpdateMazeBuffLayer => {
                "BATTLE_STATICTIC_EVENT_TELEVISION_ACTIVITY_UPDATE_MAZE_BUFF_LAYER"
            }
            Oedifangclh::BattleStaticticEventRogueTournTitanExtraCoin => {
                "BATTLE_STATICTIC_EVENT_ROGUE_TOURN_TITAN_EXTRA_COIN"
            }
            Oedifangclh::BattleStaticticEventRogueTournTitanExtraCoinTimes => {
                "BATTLE_STATICTIC_EVENT_ROGUE_TOURN_TITAN_EXTRA_COIN_TIMES"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BATTLE_STATICTIC_EVENT_NONE" => Some(Self::BattleStaticticEventNone),
            "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_ADD_EXPLORE" => {
                Some(Self::BattleStaticticEventTreasureDungeonAddExplore)
            }
            "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_OPEN_GRID" => {
                Some(Self::BattleStaticticEventTreasureDungeonOpenGrid)
            }
            "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_PICKUP_ITEM" => {
                Some(Self::BattleStaticticEventTreasureDungeonPickupItem)
            }
            "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_USE_BUFF" => {
                Some(Self::BattleStaticticEventTreasureDungeonUseBuff)
            }
            "BATTLE_STATICTIC_EVENT_TELEVISION_ACTIVITY_UPDATE_MAZE_BUFF_LAYER" => {
                Some(Self::BattleStaticticEventTelevisionActivityUpdateMazeBuffLayer)
            }
            "BATTLE_STATICTIC_EVENT_ROGUE_TOURN_TITAN_EXTRA_COIN" => {
                Some(Self::BattleStaticticEventRogueTournTitanExtraCoin)
            }
            "BATTLE_STATICTIC_EVENT_ROGUE_TOURN_TITAN_EXTRA_COIN_TIMES" => {
                Some(Self::BattleStaticticEventRogueTournTitanExtraCoinTimes)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jegleikmncl {
    KNone = 0,
    KkillEliteMonsterNum = 1,
    KkillMonsterNum = 2,
}
impl Jegleikmncl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Jegleikmncl::KNone => "kNone",
            Jegleikmncl::KkillEliteMonsterNum => "kkillEliteMonsterNum",
            Jegleikmncl::KkillMonsterNum => "kkillMonsterNum",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "kNone" => Some(Self::KNone),
            "kkillEliteMonsterNum" => Some(Self::KkillEliteMonsterNum),
            "kkillMonsterNum" => Some(Self::KkillMonsterNum),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BattleEndStatus {
    BattleEndNone = 0,
    BattleEndWin = 1,
    BattleEndLose = 2,
    BattleEndQuit = 3,
}
impl BattleEndStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            BattleEndStatus::BattleEndNone => "BATTLE_END_NONE",
            BattleEndStatus::BattleEndWin => "BATTLE_END_WIN",
            BattleEndStatus::BattleEndLose => "BATTLE_END_LOSE",
            BattleEndStatus::BattleEndQuit => "BATTLE_END_QUIT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BATTLE_END_NONE" => Some(Self::BattleEndNone),
            "BATTLE_END_WIN" => Some(Self::BattleEndWin),
            "BATTLE_END_LOSE" => Some(Self::BattleEndLose),
            "BATTLE_END_QUIT" => Some(Self::BattleEndQuit),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Noogdpkefkl {
    FightGameModeNone = 0,
    FightGameModeMatch3 = 1,
}
impl Noogdpkefkl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Noogdpkefkl::FightGameModeNone => "FIGHT_GAME_MODE_NONE",
            Noogdpkefkl::FightGameModeMatch3 => "FIGHT_GAME_MODE_MATCH3",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FIGHT_GAME_MODE_NONE" => Some(Self::FightGameModeNone),
            "FIGHT_GAME_MODE_MATCH3" => Some(Self::FightGameModeMatch3),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dkiifbicieg {
    FightKickoutUnknown = 0,
    FightKickoutBlack = 1,
    FightKickoutByGm = 2,
    FightKickoutTimeout = 3,
    FightKickoutSessionReset = 4,
}
impl Dkiifbicieg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Dkiifbicieg::FightKickoutUnknown => "FIGHT_KICKOUT_UNKNOWN",
            Dkiifbicieg::FightKickoutBlack => "FIGHT_KICKOUT_BLACK",
            Dkiifbicieg::FightKickoutByGm => "FIGHT_KICKOUT_BY_GM",
            Dkiifbicieg::FightKickoutTimeout => "FIGHT_KICKOUT_TIMEOUT",
            Dkiifbicieg::FightKickoutSessionReset => "FIGHT_KICKOUT_SESSION_RESET",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FIGHT_KICKOUT_UNKNOWN" => Some(Self::FightKickoutUnknown),
            "FIGHT_KICKOUT_BLACK" => Some(Self::FightKickoutBlack),
            "FIGHT_KICKOUT_BY_GM" => Some(Self::FightKickoutByGm),
            "FIGHT_KICKOUT_TIMEOUT" => Some(Self::FightKickoutTimeout),
            "FIGHT_KICKOUT_SESSION_RESET" => Some(Self::FightKickoutSessionReset),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hbpfdgnndef {
    LobbyCharacterNone = 0,
    LobbyCharacterLeader = 1,
    LobbyCharacterMember = 2,
    LobbyCharacterWatcher = 3,
}
impl Hbpfdgnndef {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Hbpfdgnndef::LobbyCharacterNone => "LobbyCharacter_None",
            Hbpfdgnndef::LobbyCharacterLeader => "LobbyCharacter_Leader",
            Hbpfdgnndef::LobbyCharacterMember => "LobbyCharacter_Member",
            Hbpfdgnndef::LobbyCharacterWatcher => "LobbyCharacter_Watcher",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LobbyCharacter_None" => Some(Self::LobbyCharacterNone),
            "LobbyCharacter_Leader" => Some(Self::LobbyCharacterLeader),
            "LobbyCharacter_Member" => Some(Self::LobbyCharacterMember),
            "LobbyCharacter_Watcher" => Some(Self::LobbyCharacterWatcher),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Edkfijacjgl {
    LobbyCharacterStatusNone = 0,
    LobbyCharacterStatusIdle = 1,
    LobbyCharacterStatusOperating = 2,
    LobbyCharacterStatusReady = 3,
    LobbyCharacterStatusFighting = 4,
    LobbyCharacterStatusWatching = 5,
    LobbyCharacterStatusMatching = 6,
}
impl Edkfijacjgl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Edkfijacjgl::LobbyCharacterStatusNone => "LobbyCharacterStatus_None",
            Edkfijacjgl::LobbyCharacterStatusIdle => "LobbyCharacterStatus_Idle",
            Edkfijacjgl::LobbyCharacterStatusOperating => {
                "LobbyCharacterStatus_Operating"
            }
            Edkfijacjgl::LobbyCharacterStatusReady => "LobbyCharacterStatus_Ready",
            Edkfijacjgl::LobbyCharacterStatusFighting => "LobbyCharacterStatus_Fighting",
            Edkfijacjgl::LobbyCharacterStatusWatching => "LobbyCharacterStatus_Watching",
            Edkfijacjgl::LobbyCharacterStatusMatching => "LobbyCharacterStatus_Matching",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LobbyCharacterStatus_None" => Some(Self::LobbyCharacterStatusNone),
            "LobbyCharacterStatus_Idle" => Some(Self::LobbyCharacterStatusIdle),
            "LobbyCharacterStatus_Operating" => Some(Self::LobbyCharacterStatusOperating),
            "LobbyCharacterStatus_Ready" => Some(Self::LobbyCharacterStatusReady),
            "LobbyCharacterStatus_Fighting" => Some(Self::LobbyCharacterStatusFighting),
            "LobbyCharacterStatus_Watching" => Some(Self::LobbyCharacterStatusWatching),
            "LobbyCharacterStatus_Matching" => Some(Self::LobbyCharacterStatusMatching),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Aokdmakgdgj {
    LobbyModifyTypeNone = 0,
    LobbyModifyTypeIdle = 1,
    LobbyModifyTypeReady = 2,
    LobbyModifyTypeOperating = 3,
    LobbyModifyTypeCancelMatch = 4,
    LobbyModifyTypeMatch = 5,
    LobbyModifyTypeQuitLobby = 6,
    LobbyModifyTypeKickOut = 7,
    LobbyModifyTypeTimeOut = 8,
    LobbyModifyTypeJoinLobby = 9,
    LobbyModifyTypeLobbyDismiss = 10,
    LobbyModifyTypeMatchTimeOut = 11,
    LobbyModifyTypeFightStart = 12,
    LobbyModifyTypeLogout = 13,
    LobbyModifyTypeFightEnd = 14,
    LobbyModifyTypeFightRoomDestroyInInit = 15,
}
impl Aokdmakgdgj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Aokdmakgdgj::LobbyModifyTypeNone => "LobbyModifyType_None",
            Aokdmakgdgj::LobbyModifyTypeIdle => "LobbyModifyType_Idle",
            Aokdmakgdgj::LobbyModifyTypeReady => "LobbyModifyType_Ready",
            Aokdmakgdgj::LobbyModifyTypeOperating => "LobbyModifyType_Operating",
            Aokdmakgdgj::LobbyModifyTypeCancelMatch => "LobbyModifyType_CancelMatch",
            Aokdmakgdgj::LobbyModifyTypeMatch => "LobbyModifyType_Match",
            Aokdmakgdgj::LobbyModifyTypeQuitLobby => "LobbyModifyType_QuitLobby",
            Aokdmakgdgj::LobbyModifyTypeKickOut => "LobbyModifyType_KickOut",
            Aokdmakgdgj::LobbyModifyTypeTimeOut => "LobbyModifyType_TimeOut",
            Aokdmakgdgj::LobbyModifyTypeJoinLobby => "LobbyModifyType_JoinLobby",
            Aokdmakgdgj::LobbyModifyTypeLobbyDismiss => "LobbyModifyType_LobbyDismiss",
            Aokdmakgdgj::LobbyModifyTypeMatchTimeOut => "LobbyModifyType_MatchTimeOut",
            Aokdmakgdgj::LobbyModifyTypeFightStart => "LobbyModifyType_FightStart",
            Aokdmakgdgj::LobbyModifyTypeLogout => "LobbyModifyType_Logout",
            Aokdmakgdgj::LobbyModifyTypeFightEnd => "LobbyModifyType_FightEnd",
            Aokdmakgdgj::LobbyModifyTypeFightRoomDestroyInInit => {
                "LobbyModifyType_FightRoomDestroyInInit"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LobbyModifyType_None" => Some(Self::LobbyModifyTypeNone),
            "LobbyModifyType_Idle" => Some(Self::LobbyModifyTypeIdle),
            "LobbyModifyType_Ready" => Some(Self::LobbyModifyTypeReady),
            "LobbyModifyType_Operating" => Some(Self::LobbyModifyTypeOperating),
            "LobbyModifyType_CancelMatch" => Some(Self::LobbyModifyTypeCancelMatch),
            "LobbyModifyType_Match" => Some(Self::LobbyModifyTypeMatch),
            "LobbyModifyType_QuitLobby" => Some(Self::LobbyModifyTypeQuitLobby),
            "LobbyModifyType_KickOut" => Some(Self::LobbyModifyTypeKickOut),
            "LobbyModifyType_TimeOut" => Some(Self::LobbyModifyTypeTimeOut),
            "LobbyModifyType_JoinLobby" => Some(Self::LobbyModifyTypeJoinLobby),
            "LobbyModifyType_LobbyDismiss" => Some(Self::LobbyModifyTypeLobbyDismiss),
            "LobbyModifyType_MatchTimeOut" => Some(Self::LobbyModifyTypeMatchTimeOut),
            "LobbyModifyType_FightStart" => Some(Self::LobbyModifyTypeFightStart),
            "LobbyModifyType_Logout" => Some(Self::LobbyModifyTypeLogout),
            "LobbyModifyType_FightEnd" => Some(Self::LobbyModifyTypeFightEnd),
            "LobbyModifyType_FightRoomDestroyInInit" => {
                Some(Self::LobbyModifyTypeFightRoomDestroyInInit)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Efdedkhgmpi {
    FightRoomDestroyReasonNone = 0,
    FightRoomDestroyReasonSvrStop = 1,
    FightRoomDestroyReasonGameEnd = 2,
}
impl Efdedkhgmpi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Efdedkhgmpi::FightRoomDestroyReasonNone => "FIGHT_ROOM_DESTROY_REASON_NONE",
            Efdedkhgmpi::FightRoomDestroyReasonSvrStop => {
                "FIGHT_ROOM_DESTROY_REASON_SVR_STOP"
            }
            Efdedkhgmpi::FightRoomDestroyReasonGameEnd => {
                "FIGHT_ROOM_DESTROY_REASON_GAME_END"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FIGHT_ROOM_DESTROY_REASON_NONE" => Some(Self::FightRoomDestroyReasonNone),
            "FIGHT_ROOM_DESTROY_REASON_SVR_STOP" => {
                Some(Self::FightRoomDestroyReasonSvrStop)
            }
            "FIGHT_ROOM_DESTROY_REASON_GAME_END" => {
                Some(Self::FightRoomDestroyReasonGameEnd)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Keekddahfoe {
    Match3FinishReasonDefault = 0,
    Match3FinishReasonLeave = 1,
    Match3FinishReasonDie = 2,
    Match3FinishReasonGameend = 3,
    Match3FinishReasonKickout = 4,
}
impl Keekddahfoe {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Keekddahfoe::Match3FinishReasonDefault => "MATCH3_FINISH_REASON_DEFAULT",
            Keekddahfoe::Match3FinishReasonLeave => "MATCH3_FINISH_REASON_LEAVE",
            Keekddahfoe::Match3FinishReasonDie => "MATCH3_FINISH_REASON_DIE",
            Keekddahfoe::Match3FinishReasonGameend => "MATCH3_FINISH_REASON_GAMEEND",
            Keekddahfoe::Match3FinishReasonKickout => "MATCH3_FINISH_REASON_KICKOUT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MATCH3_FINISH_REASON_DEFAULT" => Some(Self::Match3FinishReasonDefault),
            "MATCH3_FINISH_REASON_LEAVE" => Some(Self::Match3FinishReasonLeave),
            "MATCH3_FINISH_REASON_DIE" => Some(Self::Match3FinishReasonDie),
            "MATCH3_FINISH_REASON_GAMEEND" => Some(Self::Match3FinishReasonGameend),
            "MATCH3_FINISH_REASON_KICKOUT" => Some(Self::Match3FinishReasonKickout),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Khjpjangecp {
    MatchUnitTypeNone = 0,
    MatchUnitTypeNormal = 1,
    MatchUnitTypeRobot = 2,
    MatchUnitTypeGm = 3,
}
impl Khjpjangecp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Khjpjangecp::MatchUnitTypeNone => "MATCH_UNIT_TYPE_NONE",
            Khjpjangecp::MatchUnitTypeNormal => "MATCH_UNIT_TYPE_NORMAL",
            Khjpjangecp::MatchUnitTypeRobot => "MATCH_UNIT_TYPE_ROBOT",
            Khjpjangecp::MatchUnitTypeGm => "MATCH_UNIT_TYPE_GM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MATCH_UNIT_TYPE_NONE" => Some(Self::MatchUnitTypeNone),
            "MATCH_UNIT_TYPE_NORMAL" => Some(Self::MatchUnitTypeNormal),
            "MATCH_UNIT_TYPE_ROBOT" => Some(Self::MatchUnitTypeRobot),
            "MATCH_UNIT_TYPE_GM" => Some(Self::MatchUnitTypeGm),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Retcode {
    RetSucc = 0,
    RetFail = 1,
    RetServerInternalError = 2,
    RetTimeout = 3,
    RetRepeatedReq = 4,
    RetReqParaInvalid = 5,
    RetPlayerDataError = 6,
    RetPlayerClientPaused = 7,
    RetFuncCheckFailed = 8,
    RetFeatureSwitchClosed = 9,
    RetFreqOverLimit = 10,
    RetSystemBusy = 11,
    RetPlayerNotOnline = 12,
    RetOperationInCd = 13,
    RetRepeateLogin = 1000,
    RetRetryLogin = 1001,
    RetWaitLogin = 1002,
    RetNotInWhiteList = 1003,
    RetInBlackList = 1004,
    RetAccountVerifyError = 1005,
    RetAccountParaError = 1006,
    RetAntiAddictLogin = 1007,
    RetCheckSumError = 1008,
    RetReachMaxPlayerNum = 1009,
    RetAlreadyRegistered = 1010,
    RetGenderError = 1011,
    SetNicknameRetCallbackProcessing = 1012,
    RetInGmBindAccess = 1013,
    RetQuestRewardAlreadyTaken = 1100,
    RetQuestNotAccept = 1101,
    RetQuestNotFinish = 1102,
    RetQuestStatusError = 1103,
    RetAchievementLevelNotReach = 1104,
    RetAchievementLevelAlreadyTaken = 1105,
    RetAvatarNotExist = 1200,
    RetAvatarResExpNotEnough = 1201,
    RetAvatarExpReachPromotionLimit = 1202,
    RetAvatarReachMaxPromotion = 1203,
    RetSkilltreeConfigNotExist = 1204,
    RetSkilltreeAlreadyUnlock = 1205,
    RetSkilltreePreLocked = 1206,
    RetSkilltreeLevelNotMeet = 1207,
    RetSkilltreeRankNotMeet = 1208,
    RetAvatarDressNoEquipment = 1209,
    RetAvatarExpItemNotExist = 1210,
    RetSkilltreePointLocked = 1211,
    RetSkilltreePointLevelUpgradeNotMatch = 1212,
    RetSkilltreePointLevelReachMax = 1213,
    RetWorldLevelNotMeet = 1214,
    RetPlayerLevelNotMeet = 1215,
    RetAvatarRankNotMatch = 1216,
    RetAvatarRankReachMax = 1217,
    RetHeroBasicTypeNotMatch = 1218,
    RetAvatarPromotionNotMeet = 1219,
    RetPromotionRewardConfigNotExist = 1220,
    RetPromotionRewardAlreadyTaken = 1221,
    RetAvatarSkinItemNotExist = 1222,
    RetAvatarSkinAlreadyDressed = 1223,
    RetAvatarNotDressSkin = 1224,
    RetAvatarSkinNotMatchAvatar = 1225,
    RetAvatarPathNotMatch = 1226,
    RetItemNotExist = 1300,
    RetItemCostNotEnough = 1301,
    RetItemCostTooMuch = 1302,
    RetItemNoCost = 1303,
    RetItemNotEnough = 1304,
    RetItemInvalid = 1305,
    RetItemConfigNotExist = 1306,
    RetScoinNotEnough = 1307,
    RetItemRewardExceedLimit = 1308,
    RetItemInvalidUse = 1309,
    RetItemUseConfigNotExist = 1310,
    RetRewardConfigNotExist = 1311,
    RetItemExceedLimit = 1312,
    RetItemCountInvalid = 1313,
    RetItemUseTargetTypeInvalid = 1314,
    RetItemUseSatietyFull = 1315,
    RetItemComposeNotExist = 1316,
    RetRelicComposeNotExist = 1317,
    RetItemCanNotSell = 1318,
    RetItemSellExceddLimit = 1319,
    RetItemNotInCostList = 1320,
    RetItemSpecialCostNotEnough = 1321,
    RetItemSpecialCostTooMuch = 1322,
    RetItemFormulaNotExist = 1323,
    RetItemAutoGiftOptionalNotExist = 1324,
    RetRelicComposeRelicInvalid = 1325,
    RetRelicComposeMainAffixIdInvalid = 1326,
    RetRelicComposeWrongFormulaType = 1327,
    RetRelicComposeRelicNotExist = 1328,
    RetRelicComposeBlackGoldCountInvalid = 1329,
    RetRelicComposeBlackGoldNotNeed = 1330,
    RetMonthCardCannotUse = 1331,
    RetItemRewardExceedDisappear = 1332,
    RetItemNeedRecycle = 1333,
    RetItemComposeExceedLimit = 1334,
    RetItemCanNotDestroy = 1335,
    RetItemAlreadyMark = 1336,
    RetItemMarkExceedLimit = 1337,
    RetItemNotMark = 1338,
    RetItenTurnFoodNotSet = 1339,
    RetItemTurnFoodAlreadySet = 1340,
    RetItemTurnFoodConsumeTypeError = 1341,
    RetItemTurnFoodSwitchAlreadyOpen = 1342,
    RetItemTurnFoodSwitchAlreadyClose = 1343,
    RetHcoinExchangeTooMuch = 1344,
    RetItemTurnFoodSceneTypeError = 1345,
    RetEquipmentAlreadyDressed = 1350,
    RetEquipmentNotExist = 1351,
    RetEquipmentReachLevelLimit = 1352,
    RetEquipmentConsumeSelf = 1353,
    RetEquipmentAlreadyLocked = 1354,
    RetEquipmentAlreadyUnlocked = 1355,
    RetEquipmentLocked = 1356,
    RetEquipmentSelectNumOverLimit = 1357,
    RetEquipmentRankUpMustConsumeSameTid = 1358,
    RetEquipmentPromotionReachMax = 1359,
    RetEquipmentRankUpReachMax = 1360,
    RetEquipmentLevelReachMax = 1361,
    RetEquipmentExceedLimit = 1362,
    RetRelicNotExist = 1363,
    RetRelicReachLevelLimit = 1364,
    RetRelicConsumeSelf = 1365,
    RetRelicAlreadyDressed = 1366,
    RetRelicLocked = 1367,
    RetRelicAlreadyLocked = 1368,
    RetRelicAlreadyUnlocked = 1369,
    RetRelicLevelIsNotZero = 1370,
    RetUniqueIdRepeated = 1371,
    RetEquipmentLevelNotMeet = 1372,
    RetEquipmentItemNotInCostList = 1373,
    RetEquipmentLevelGreaterThanOne = 1374,
    RetEquipmentAlreadyRanked = 1375,
    RetRelicExceedLimit = 1376,
    RetRelicAlreadyDiscarded = 1377,
    RetRelicAlreadyUndiscarded = 1378,
    RetEquipmentBatchLockTooFast = 1379,
    RetRelicFilterPlanSlotEmpty = 1380,
    RetRelicFilterPlanNumExceedLimit = 1381,
    RetRelicFilterPlanNameUtf8Error = 1382,
    RetRelicFilterPlanNameFormatError = 1383,
    RetRelicFilterPlanNoChange = 1384,
    RetRelicReforgeNotConfirmed = 1385,
    RetLineupInvalidIndex = 1400,
    RetLineupInvalidMemberPos = 1401,
    RetLineupSwapNotExist = 1402,
    RetLineupAvatarAlreadyIn = 1403,
    RetLineupCreateAvatarError = 1404,
    RetLineupAvatarInitError = 1405,
    RetLineupNotExist = 1406,
    RetLineupOnlyOneMember = 1407,
    RetLineupSameLeaderSlot = 1408,
    RetLineupNoLeaderSelect = 1409,
    RetLineupSwapSameSlot = 1410,
    RetLineupAvatarNotExist = 1411,
    RetLineupTrialAvatarCanNotQuit = 1412,
    RetLineupVirtualLineupPlaneNotMatch = 1413,
    RetLineupNotValidLeader = 1414,
    RetLineupSameIndex = 1415,
    RetLineupIsEmpty = 1416,
    RetLineupNameFormatError = 1417,
    RetLineupTypeNotMatch = 1418,
    RetLineupReplaceAllFailed = 1419,
    RetLineupNotAllowEdit = 1420,
    RetLineupAvatarIsAlive = 1421,
    RetLineupAssistHasOnlyMember = 1422,
    RetLineupAssistCannotSwitch = 1423,
    RetLineupAvatarTypeInvalid = 1424,
    RetLineupNameUtf8Error = 1425,
    RetLineupLeaderLock = 1426,
    RetLineupStoryLineNotMatch = 1427,
    RetLineupAvatarLock = 1428,
    RetLineupAvatarInvalid = 1429,
    RetLineupAvatarAlreadyInit = 1430,
    RetLineupLimited = 1431,
    RetMailNotExist = 1700,
    RetMailRangeInvalid = 1701,
    RetMailMailIdInvalid = 1702,
    RetMailNoMailTakeAttachment = 1703,
    RetMailNoMailToDel = 1704,
    RetMailTypeInvalid = 1705,
    RetMailParaInvalid = 1706,
    RetMailAttachementInvalid = 1707,
    RetMailTicketInvalid = 1708,
    RetMailTicketRepeated = 1709,
    RetStageSettleError = 1800,
    RetStageConfigNotExist = 1801,
    RetStageNotFound = 1802,
    RetStageCocoonPropNotValid = 1804,
    RetStageCocoonWaveNotValid = 1805,
    RetStagePropIdNotEqual = 1806,
    RetStageCocoonWaveOver = 1807,
    RetStageWeekCocoonOverCnt = 1808,
    RetStageCocoonNotOpen = 1809,
    RetStageTrialNotOpen = 1810,
    RetStageFarmNotOpen = 1811,
    RetStageFarmTypeError = 1812,
    RetChapterLock = 1900,
    RetChapterChallengeNumNotEnough = 1901,
    RetChapterRewardIdNotExist = 1902,
    RetChapterRewardAlreadyTaken = 1903,
    RetBattleStageNotMatch = 2000,
    RetInBattleNow = 2001,
    RetBattleCheat = 2002,
    RetBattleFail = 2003,
    RetBattleNoLineup = 2004,
    RetBattleLineupEmpty = 2005,
    RetBattleVersionNotMatch = 2006,
    RetBattleQuitByServer = 2007,
    RetInBattleCheck = 2008,
    RetBattleCheckNeedRetry = 2009,
    RetBattleCostTimeCheckFail = 2010,
    RetLackExchangeStaminaTimes = 2100,
    RetLackStamina = 2101,
    RetStaminaFull = 2102,
    RetAuthkeySignTypeError = 2103,
    RetAuthkeySignVerError = 2104,
    RetNicknameFormatError = 2105,
    RetSensitiveWords = 2106,
    RetLevelRewardHasTaken = 2107,
    RetLevelRewardLevelError = 2108,
    RetLanguageInvalid = 2109,
    RetNicknameInCd = 2110,
    RetGameplayBirthdayInvalid = 2111,
    RetGameplayBirthdayAlreadySet = 2112,
    RetNicknameUtf8Error = 2113,
    RetNicknameDigitLimitError = 2114,
    RetSensitiveWordsPlatformError = 2115,
    RetPlayerSettingTypeInvalid = 2116,
    RetMazeLackTicket = 2201,
    RetMazeNotUnlock = 2202,
    RetMazeNoAbility = 2204,
    RetMazeNoPlane = 2205,
    RetMazeMapNotExist = 2207,
    RetMazeMpNotEnough = 2213,
    RetSpringNotEnable = 2214,
    RetSpringTooFar = 2216,
    RetNotInMaze = 2218,
    RetMazeTimeOfDayTypeError = 2223,
    RetSceneTransferLockedByTask = 2224,
    RetPlotNotUnlock = 2300,
    RetMissionNotExist = 2400,
    RetMissionAlreadyDone = 2401,
    RetDailyTaskNotFinish = 2402,
    RetDailyTaskRewardHasTaken = 2403,
    RetMissionNotFinish = 2404,
    RetMissionNotDoing = 2405,
    RetMissionFinishWayNotMatch = 2406,
    RetMissionSceneNotMatch = 2407,
    RetMissionCustomValueNotValid = 2408,
    RetMissionSubMissionNotMatch = 2409,
    RetAdventureMapNotExist = 2500,
    RetSceneEntityNotExist = 2600,
    RetNotInScene = 2601,
    RetSceneMonsterNotExist = 2602,
    RetInteractConfigNotExist = 2603,
    RetUnsupportedPropState = 2604,
    RetSceneEntryIdNotMatch = 2605,
    RetSceneEntityMoveCheckFailed = 2606,
    RetAssistMonsterCountLimit = 2607,
    RetSceneUseSkillFail = 2608,
    RetPropIsHidden = 2609,
    RetLoadingSuccAlready = 2610,
    RetSceneEntityTypeInvalid = 2611,
    RetInteractTypeInvalid = 2612,
    RetInteractNotInRegion = 2613,
    RetInteractSubTypeInvalid = 2614,
    RetNotLeaderEntity = 2615,
    RetMonsterIsNotFarmElement = 2616,
    RetMonsterConfigNotExist = 2617,
    RetAvatarHpAlreadyFull = 2618,
    RetCurInteractEntityNotMatch = 2619,
    RetPlaneTypeNotAllow = 2620,
    RetGroupNotExist = 2621,
    RetGroupSaveDataInCd = 2622,
    RetGroupSaveLenghReachMax = 2623,
    RetRecentElementNotExist = 2624,
    RetRecentElementStageNotMatch = 2625,
    RetScenePositionVersionNotMatch = 2626,
    RetGameplayCounterNotExist = 2627,
    RetGameplayCounterNotEnough = 2628,
    RetGroupStateNotMatch = 2629,
    RetSceneEntityPosNotMatch = 2630,
    RetGroupStateCustomSaveDataOff = 2631,
    RetSceneNotMatch = 2632,
    RetPropTypeInvalid = 2633,
    RetBuyTimesLimit = 2700,
    RetBuyLimitType = 2701,
    RetShopNotOpen = 2702,
    RetGoodsNotOpen = 2703,
    RetCityLevelRewardTaken = 2704,
    RetCityLevelNotMeet = 2705,
    RetSingleBuyLimit = 2706,
    RetTutorialNotUnlock = 2751,
    RetTutorialUnlockAlready = 2752,
    RetTutorialFinishAlready = 2753,
    RetTutorialPreNotUnlock = 2754,
    RetTutorialPlayerLevelNotMatch = 2755,
    RetTutorialTutorialNotFound = 2756,
    RetChallengeNotExist = 2801,
    RetChallengeNotUnlock = 2802,
    RetChallengeAlready = 2803,
    RetChallengeLineupEditForbidden = 2804,
    RetChallengeLineupEmpty = 2805,
    RetChallengeNotDoing = 2806,
    RetChallengeNotFinish = 2807,
    RetChallengeTargetNotFinish = 2808,
    RetChallengeTargetRewardTaken = 2809,
    RetChallengeTimeNotValid = 2810,
    RetChallengeStarsCountNotMeet = 2811,
    RetChallengeStarsRewardTaken = 2812,
    RetChallengeStarsNotExist = 2813,
    RetChallengeCurSceneNotEntryFloor = 2814,
    RetChallengeNoTeamArchive = 2815,
    RetChallengeLineupAvatarTypeInvalid = 2816,
    RetChallengeLineupRecommendInCd = 2817,
    RetBasicTypeAlready = 2850,
    RetNoBasicType = 2851,
    RetNotChooseBasicType = 2852,
    RetNotFuncClose = 2853,
    RetNotChooseGender = 2854,
    RetNotReqUnlockBasicType = 2855,
    RetAvatarPathLocked = 2856,
    RetRogueStatusNotMatch = 2901,
    RetRogueSelectBuffNotExist = 2902,
    RetRogueCoinNotEnough = 2903,
    RetRogueStaminaNotEnough = 2904,
    RetRogueAppraisalCountNotEnough = 2905,
    RetRoguePropAlreadyUsed = 2906,
    RetRogueRecordAlreadySaved = 2907,
    RetRogueRollBuffMaxCount = 2908,
    RetRoguePickAvatarInvalid = 2909,
    RetRogueQuestExpire = 2910,
    RetRogueQuestRewardAlready = 2911,
    RetRogueReviveCountNotEnough = 2912,
    RetRogueAreaInvalid = 2913,
    RetRogueScoreRewardPoolInvalid = 2914,
    RetRogueScoreRewardRowInvalid = 2915,
    RetRogueAeonLevelNotMeet = 2916,
    RetRogueAeonLevelRewardAlreadyTaken = 2917,
    RetRogueAeonConfigNotExist = 2918,
    RetRogueTrialAvatarInvalid = 2919,
    RetRogueHandbookRewardAlreadyTaken = 2920,
    RetRogueRoomTypeNotMatch = 2921,
    RetRogueShopGoodNotFound = 2922,
    RetRogueShopGoodAlreadyBought = 2923,
    RetRogueShopGoodAlreadyOwn = 2924,
    RetRogueShopMiracleNotExist = 2925,
    RetRogueShopNotExist = 2926,
    RetRogueShopCannotRefresh = 2927,
    RetRogueSelectBuffCertainMismatch = 2928,
    RetRogueActionQueueNotEmptyBattle = 2929,
    RetRogueActionQueueNotEmptyOthers = 2930,
    RetMissionEventConfigNotExist = 2951,
    RetMissionEventNotClient = 2952,
    RetMissionEventFinished = 2953,
    RetMissionEventDoing = 2954,
    RetHasChallengeMissionEvent = 2955,
    RetNotChallengeMissionEvent = 2956,
    RetGachaIdNotExist = 3001,
    RetGachaNumInvalid = 3002,
    RetGachaFirstGachaMustOne = 3003,
    RetGachaReqDuplicated = 3004,
    RetGachaNotInSchedule = 3005,
    RetGachaNewbieClose = 3006,
    RetGachaTodayLimited = 3007,
    RetGachaNotSupport = 3008,
    RetGachaCeilingNotEnough = 3009,
    RetGachaCeilingClose = 3010,
    RetNotInRaid = 3101,
    RetRaidDoing = 3102,
    RetNotProp = 3103,
    RetRaidIdNotMatch = 3104,
    RetRaidRestartNotMatch = 3105,
    RetRaidLimit = 3106,
    RetRaidAvatarListEmpty = 3107,
    RetRaidAvatarNotExist = 3108,
    RetChallengeRaidRewardAlready = 3109,
    RetChallengeRaidScoreNotReach = 3110,
    RetChallengeRaidNotOpen = 3111,
    RetRaidFinished = 3112,
    RetRaidWorldLevelNotLock = 3113,
    RetRaidCannotUseAssist = 3114,
    RetRaidAvatarNotMatch = 3115,
    RetRaidCanNotSave = 3116,
    RetRaidNoSave = 3117,
    RetActivityRaidNotOpen = 3118,
    RetRaidAvatarCaptainNotExist = 3119,
    RetRaidStoryLineNotMatch = 3120,
    RetTalkEventAlreadyTaken = 3151,
    RetNpcAlreadyMeet = 3152,
    RetNpcNotInConfig = 3153,
    RetDialogueGroupDismatch = 3154,
    RetDialogueEventInvalid = 3155,
    RetTalkEventTakeProtoNotMatch = 3156,
    RetTalkEventNotValid = 3157,
    RetExpeditionConfigNotExist = 3201,
    RetExpeditionRewardConfigNotExist = 3202,
    RetExpeditionNotUnlocked = 3203,
    RetExpeditionAlreadyAccepted = 3204,
    RetExpeditionRepeatedAvatar = 3205,
    RetAvatarAlreadyDispatched = 3206,
    RetExpeditionNotAccepted = 3207,
    RetExpeditionNotFinish = 3208,
    RetExpeditionAlreadyFinish = 3209,
    RetExpeditionTeamCountLimit = 3210,
    RetExpeditionAvatarNumNotMatch = 3211,
    RetExpeditionNotOpen = 3212,
    RetExpeditionFriendAvatarNotValid = 3213,
    RetExpeditionNotPublished = 3214,
    RetLoginActivityHasTaken = 3301,
    RetLoginActivityDaysLack = 3302,
    RetTrialActivityRewardAlreadyTake = 3303,
    RetTrialActivityStageNotFinish = 3304,
    RetMaterialSubmitActivityHasTaken = 3305,
    RetMaterialSubmitActivityMaterialNotSubmitted = 3306,
    RetMaterialSubmitActivityMaterialAlreadySubmitted = 3307,
    RetFantasticStoryActivityStoryError = 3308,
    RetFantasticStoryActivityStoryNotOpen = 3309,
    RetFantasticStoryActivityBattleError = 3310,
    RetFantasticStoryActivityBattleNotOpen = 3311,
    RetFantasticStoryActivityBattleAvatarError = 3312,
    RetFantasticStoryActivityBattleBuffError = 3313,
    RetFantasticStoryActivityPreBattleScoreNotEnough = 3314,
    RetTrialActivityAlreadyInTrialActivity = 3315,
    RetCommonActivityNotOpen = 3316,
    RetBenefitNotReady = 3317,
    RetCommonActivityBusy = 3318,
    RetMessageConfigNotExist = 3501,
    RetMessageSectionNotTake = 3502,
    RetMessageGroupNotTake = 3503,
    RetMessageSectionIdNotMatch = 3504,
    RetMessageSectionCanNotFinish = 3505,
    RetMessageItemCanNotFinish = 3506,
    RetMessageItemRaidCanNotFinish = 3507,
    RetFriendAlreadyIsFriend = 3601,
    RetFriendIsNotFriend = 3602,
    RetFriendApplyExpire = 3603,
    RetFriendInBlacklist = 3604,
    RetFriendNotInBlacklist = 3605,
    RetFriendNumberLimit = 3606,
    RetFriendBlacklistNumberLimit = 3607,
    RetFriendDailyApplyLimit = 3608,
    RetFriendInHandleLimit = 3609,
    RetFriendApplyInCd = 3610,
    RetFriendRemarkNameFormatError = 3611,
    RetFriendPlayerNotFound = 3612,
    RetFriendInTargetBlacklist = 3613,
    RetFriendTargetNumberLimit = 3614,
    RetAssistQueryTooFast = 3615,
    RetAssistNotExist = 3616,
    RetAssistUsedAlready = 3617,
    RetFriendReportReasonFormatError = 3618,
    RetFriendReportSensitiveWords = 3619,
    RetAssistUsedTimesOver = 3620,
    RetAssistQuitAlready = 3621,
    RetAssistAvatarInLineup = 3622,
    RetAssistNoReward = 3623,
    RetFriendSearchNumLimit = 3624,
    RetFriendSearchInCd = 3625,
    RetFriendRemarkNameUtf8Error = 3626,
    RetFriendReportReasonUtf8Error = 3627,
    RetAssistSetAlready = 3628,
    RetFriendTargetForbidOtherApply = 3629,
    RetFriendMarkedCntMax = 3630,
    RetFriendMarkedAlready = 3631,
    RetFriendNotMarked = 3632,
    RetFriendChallengeLineupRecommendInCd = 3633,
    RetViewPlayerCardInCd = 3634,
    RetViewPlayerBattleRecordInCd = 3635,
    RetPlayerBoardHeadIconNotExist = 3701,
    RetPlayerBoardHeadIconLocked = 3702,
    RetPlayerBoardHeadIconAlreadyUnlocked = 3703,
    RetPlayerBoardDisplayAvatarNotExist = 3704,
    RetPlayerBoardDisplayAvatarExceedLimit = 3705,
    RetPlayerBoardDisplayRepeatedAvatar = 3706,
    RetPlayerBoardDisplayAvatarSamePos = 3707,
    RetPlayerBoardDisplayAvatarLocked = 3708,
    RetSignatureLengthExceedLimit = 3709,
    RetSignatureSensitiveWords = 3710,
    RetPlayerBoardAssistAvatarNotExist = 3712,
    RetPlayerBoardAssistAvatarLocked = 3713,
    RetSignatureUtf8Error = 3714,
    RetPlayerBoardAssistAvatarCntError = 3715,
    RetBattlePassTierNotValid = 3801,
    RetBattlePassLevelNotMeet = 3802,
    RetBattlePassRewardTakeAlready = 3803,
    RetBattlePassNotPremium = 3804,
    RetBattlePassNotDoing = 3805,
    RetBattlePassLevelInvalid = 3806,
    RetBattlePassNotUnlock = 3807,
    RetBattlePassNoReward = 3808,
    RetBattlePassQuestNotValid = 3809,
    RetBattlePassNotChooseOptional = 3810,
    RetBattlePassNotTakeReward = 3811,
    RetBattlePassOptionalNotValid = 3812,
    RetBattlePassBuyAlready = 3813,
    RetBattlePassNearEnd = 3814,
    RetMusicLocked = 3901,
    RetMusicNotExist = 3902,
    RetMusicUnlockFailed = 3903,
    RetPunkLordLackSummonTimes = 4001,
    RetPunkLordAttackingMonsterLimit = 4002,
    RetPunkLordMonsterNotExist = 4003,
    RetPunkLordMonsterAlreadyShared = 4004,
    RetPunkLordMonsterExpired = 4005,
    RetPunkLordSelfMonsterAttackLimit = 4006,
    RetPunkLordLackSupportTimes = 4007,
    RetPunkLordMonsterAlreadyKilled = 4008,
    RetPunkLordMonsterAttackerLimit = 4009,
    RetPunkLordWorldLevleNotValid = 4010,
    RetPunkLordRewardLevleNotExist = 4011,
    RetPunkLordPointNotMeet = 4012,
    RetPunkLordInAttacking = 4013,
    RetPunkLordOperationInCd = 4014,
    RetPunkLordRewardAlreadyTaken = 4015,
    RetPunkLordOverBonusRewardLimit = 4016,
    RetPunkLordNotInSchedule = 4017,
    RetPunkLordMonsterNotAttacked = 4018,
    RetPunkLordMonsterNotKilled = 4019,
    RetPunkLordMonsterKilledScoreAlreadyTake = 4020,
    RetPunkLordRewardLevleAlreadyTake = 4021,
    RetDailyActiveLevelInvalid = 4101,
    RetDailyActiveLevelRewardAlreadyTaken = 4102,
    RetDailyActiveLevelApNotEnough = 4103,
    RetDailyMeetPam = 4201,
    RetReplayIdNotMatch = 4251,
    RetReplayReqNotValid = 4252,
    RetFightActivityDifficultyLevelNotPassed = 4301,
    RetFightActivityDifficultyLevelRewardAlreadyTake = 4302,
    RetFightActivityStageNotOpen = 4303,
    RetFightActivityLevelNotUnlock = 4304,
    RetTrainVisitorVisitorNotExist = 4351,
    RetTrainVisitorBehaviorNotExist = 4352,
    RetTrainVisitorBehaviorFinished = 4353,
    RetTrainVisitorAllBehaviorRewardTaken = 4354,
    RetTrainVisitorGetOnMissionNotFinish = 4355,
    RetTrainVisitorNotGetOffOrBeTrainMember = 4356,
    RetTextJoinUnknowIsOverride = 4401,
    RetTextJoinIdNotExist = 4402,
    RetTextJoinCanNotOverride = 4403,
    RetTextJoinItemIdError = 4404,
    RetTextJoinSensitiveCheckError = 4405,
    RetTextJoinMustOverride = 4406,
    RetTextJoinTextEmpty = 4407,
    RetTextJoinTextFormatError = 4408,
    RetTextJoinTextUtf8Error = 4409,
    RetTextJoinBatchReqIdRepeat = 4410,
    RetTextJoinTypeNotSupportBatchReq = 4411,
    RetTextJoinAvatarIdNotExist = 4412,
    RetTextJoinUnknowType = 4413,
    RetPamMissionMissionIdError = 4451,
    RetPamMissionMissionExpire = 4452,
    RetChatTypeNotExist = 4501,
    RetMsgTypeNotExist = 4502,
    RetChatNoTargetUid = 4503,
    RetChatMsgEmpty = 4504,
    RetChatMsgExceedLimit = 4505,
    RetChatMsgSensitiveCheckError = 4506,
    RetChatMsgUtf8Error = 4507,
    RetChatForbidSwitchOpen = 4508,
    RetChatForbid = 4509,
    RetChatMsgIncludeSpecialStr = 4510,
    RetChatMsgEmojiNotExist = 4511,
    RetChatMsgEmojiGenderNotMatch = 4512,
    RetChatMsgEmojiNotMarked = 4513,
    RetChatMsgEmojiAlreadyMarked = 4514,
    RetChatMsgEmojiMarkedMaxLimit = 4515,
    RetBoxingClubChallengeNotOpen = 4601,
    RetMuseumNotOpen = 4651,
    RetMuseumTurnCntNotMatch = 4652,
    RetMuseumPhaseNotReach = 4653,
    RetMuseumUnknowStuff = 4654,
    RetMuseumUnknowArea = 4655,
    RetMuseumUnknowPos = 4656,
    RetMuseumStuffAlreadyInArea = 4657,
    RetMuseumStuffNotInArea = 4658,
    RetMuseumGetNpcRepeat = 4659,
    RetMuseumGetNpcUnlock = 4660,
    RetMuseumGetNpcNotEnough = 4661,
    RetMuseumChangeStuffAreaError = 4662,
    RetMuseumNotInit = 4663,
    RetMuseumEventError = 4664,
    RetMuseumUnknowChooseEventId = 4665,
    RetMuseumEventOrderNotMatch = 4666,
    RetMuseumEventPhaseNotUnlock = 4667,
    RetMuseumEventMissionNotFound = 4668,
    RetMuseumAreaLevelUpAlready = 4669,
    RetMuseumStuffAlreadyUsed = 4670,
    RetMuseumEventRoundNotUnlock = 4671,
    RetMuseumStuffInArea = 4672,
    RetMuseumStuffDispatch = 4673,
    RetMuseumIsEnd = 4674,
    RetMuseumStuffLeaving = 4675,
    RetMuseumEventMissionNotFinish = 4678,
    RetMuseumCollectRewardNotExist = 4679,
    RetMuseumCollectRewardAlreadyTaken = 4680,
    RetMuseumAcceptMissionMaxLimit = 4681,
    RetRogueChallengeNotOpen = 4701,
    RetRogueChallengeAssisRefreshLimit = 4702,
    RetAlleyNotInit = 4721,
    RetAlleyNotOpen = 4722,
    RetAlleyMapNotExist = 4724,
    RetAlleyEmptyPosList = 4725,
    RetAlleyLinePosInvalid = 4726,
    RetAlleyShopNotUnlock = 4727,
    RetAlleyDepotFull = 4728,
    RetAlleyShopNotInclude = 4729,
    RetAlleyEventNotUnlock = 4730,
    RetAlleyEventNotRefresh = 4731,
    RetAlleyEventStateDoing = 4732,
    RetAlleyEventStateFinish = 4733,
    RetAlleyEventError = 4734,
    RetAlleyRewardLevelError = 4735,
    RetAlleyRewardPrestigeNotEnough = 4736,
    RetAlleyShipEmpty = 4737,
    RetAlleyShipIdDismatch = 4738,
    RetAlleyShipNotExist = 4739,
    RetAlleyShipNotUnlock = 4740,
    RetAlleyGoodsNotExist = 4741,
    RetAlleyGoodsNotUnlock = 4742,
    RetAlleyProfitNotPositive = 4743,
    RetAlleySpecialOrderDismatch = 4744,
    RetAlleyOrderGoodsOverLimit = 4745,
    RetAlleySpecialOrderConditionNotMeet = 4746,
    RetAlleyDepotSizeOverLimit = 4747,
    RetAlleyGoodsNotEnough = 4748,
    RetAlleyOrderIndexInvalid = 4749,
    RetAlleyRewardAlreadyTake = 4750,
    RetAlleyRewardNotExist = 4751,
    RetAlleyMainMissionNotDoing = 4752,
    RetAlleyCriticalEventNotFinish = 4753,
    RetAlleyShopGoodsNotValid = 4754,
    RetAlleySlashNotOpen = 4755,
    RetAlleyPlacingAnchorInvalid = 4756,
    RetAlleyPlacingGoodsIndexInvalid = 4757,
    RetAlleySaveMapTooQuick = 4758,
    RetAlleyMapNotLink = 4759,
    RetAlleyFundsNotLowerBase = 4760,
    RetAlleyEventNotFinish = 4761,
    RetAlleyNormalOrderNotMeet = 4762,
    RetPlayerReturnNotOpen = 4801,
    RetPlayerReturnIsSigned = 4802,
    RetPlayerReturnPointNotEnough = 4803,
    RetPlayerReturnConditionInvalid = 4804,
    RetPlayerReturnHasSigned = 4805,
    RetPlayerReturnRewardTaken = 4806,
    RetAetherDivideNoLineup = 4851,
    RetAetherDivideLineupInvalid = 4852,
    RetChatBubbleIdError = 4901,
    RetChatBubbleIdNotUnlock = 4902,
    RetPhoneThemeIdError = 4903,
    RetPhoneThemeIdNotUnlock = 4904,
    RetChatBubbleSelectIsCurrent = 4905,
    RetPhoneThemeSelectIsCurrent = 4906,
    RetChessRogueConfigNotFound = 4951,
    RetChessRogueConfigInvalid = 4952,
    RetChessRogueNoValidRoom = 4963,
    RetChessRogueNoCellInfo = 4964,
    RetChessRogueCellNotFinish = 4965,
    RetChessRogueCellIsLocked = 4966,
    RetChessRogueScheduleNotMatch = 4967,
    RetChessRogueStatusFail = 4968,
    RetChessRogueAreaNotExist = 4969,
    RetChessRogueLineupFail = 4970,
    RetChessRogueAeonFail = 4980,
    RetChessRogueEnterCellFail = 4981,
    RetChessRogueRollDiceFail = 4982,
    RetChessRogueDiceStatusFail = 4983,
    RetChessRogueDiceCntNotFull = 4984,
    RetChessRogueUnlock = 4985,
    RetChessRoguePickAvatarFail = 4986,
    RetChessRogueAvatarInvalid = 4987,
    RetChessRogueCellCanNotSelect = 4988,
    RetChessRogueDiceConfirmed = 4989,
    RetChessRogueNousDiceNotMatch = 4990,
    RetChessRogueNousDiceRarityFail = 4991,
    RetChessRogueNousDiceSurfaceDuplicate = 4992,
    RetChessRogueNotInRogue = 4993,
    RetChessRogueNousDiceBranchLimit = 4994,
    RetHeliobusNotOpen = 5101,
    RetHeliobusSnsPostNotUnlock = 5102,
    RetHeliobusSnsAlreadyRead = 5103,
    RetHeliobusSnsAlreadyLiked = 5104,
    RetHeliobusSnsAlreadyCommented = 5105,
    RetHeliobusSnsInMission = 5106,
    RetHeliobusSnsAlreadyPosted = 5107,
    RetHeliobusSnsNotDoingMission = 5108,
    RetHeliobusRewardLevelMax = 5109,
    RetHeliobusIncomeNotEnough = 5110,
    RetHeliobusSnsCommentNotUnlock = 5111,
    RetHeliobusChallengeNotUnlock = 5112,
    RetHeliobusChallengeIdError = 5113,
    RetHeliobusSkillNotUnlock = 5114,
    RetHeliobusAcceptPostMissionFail = 5115,
    RetHeliobusSkillNotSelected = 5116,
    RetHeliobusPlaneTypeInvalid = 5117,
    RetReddotParamInvalid = 5151,
    RetReddotActivityNotOpen = 5152,
    RetRogueEndlessActivityConfigError = 5201,
    RetRogueEndlessActivityNotOpen = 5202,
    RetRogueEndlessActivityOverBonusRewardLimit = 5203,
    RetRogueEndlessActivityScoreNotMeet = 5204,
    RetRogueEndlessActivityRewardLevleAlreadyTake = 5205,
    RetHeartDialScriptNotFound = 5251,
    RetHeartDialScriptEmotionTheSame = 5252,
    RetHeartDialScriptStepNotNormal = 5253,
    RetHeartDialScriptConditionNotMatch = 5254,
    RetHeartDialScriptSubmitItemNumNotMatch = 5255,
    RetHeartDialScriptSubmitItemIdNotMatch = 5256,
    RetHeartDialDialogueNotFound = 5257,
    RetHeartDialDialogueAlreadyPerformed = 5258,
    RetHeartDialNpcNotFound = 5259,
    RetHeartDialTraceConfigNotFound = 5260,
    RetHeartDialFloorTraceExist = 5261,
    RetHeartDialTraceFloorNotMatch = 5262,
    RetTravelBrochureConfigError = 5301,
    RetTravelBrochureParamInvalid = 5302,
    RetTravelBrochureLocked = 5303,
    RetTravelBrochureCannotOperate = 5304,
    RetTravelBrochureWorldIdNotMatch = 5305,
    RetTravelBrochureHasNoWorldBook = 5306,
    RetTravelBrochurePageFull = 5307,
    RetMapRotationNotInRegion = 5351,
    RetMapRotationRotaterAlreadyDeployed = 5352,
    RetMapRotationEnergyNotEnough = 5353,
    RetMapRotationEntityNotOnCurPose = 5354,
    RetMapRotationRotaterNotDeployed = 5355,
    RetMapRotationPoseRotaterMismatch = 5356,
    RetMapRotationRotaterNotRemovable = 5357,
    RetMapRotationRotaterDisposable = 5358,
    RetSpaceZooActivityCatNotFound = 5401,
    RetSpaceZooActivityCatParamInvalid = 5402,
    RetSpaceZooActivityCatItemNotEnough = 5403,
    RetSpaceZooActivityCatBagFull = 5404,
    RetSpaceZooActivityCatNotToMutate = 5405,
    RetSpaceZooActivityCatStateError = 5406,
    RetSpaceZooActivityCatCatteryLocked = 5407,
    RetSpaceZooActivityCatOutNow = 5408,
    RetSpaceZooActivityCatConfigNotFound = 5409,
    RetSpaceZooActivityCatFeatureNotFound = 5410,
    RetSpaceZooActivityCatAddCatError = 5411,
    RetSpaceZooActivityCatMoneyNotEnough = 5412,
    RetSpaceZooActivityCatCondNotMatch = 5413,
    RetStrongChallengeActivityStageCfgMiss = 5501,
    RetStrongChallengeActivityStageNotOpen = 5502,
    RetStrongChallengeActivityBuffError = 5503,
    RetRollShopNotFound = 5551,
    RetRollShopGroupEmpty = 5552,
    RetRollShopEmpty = 5553,
    RetRollShopGachaReqDuplicated = 5554,
    RetRollShopRandomError = 5555,
    RetRollShopGroupTypeNotFound = 5556,
    RetRollShopHasStoredRewardAlready = 5557,
    RetRollShopNoStoredReward = 5558,
    RetRollShopNotInValidScene = 5559,
    RetRollShopInvalidRollShopType = 5560,
    RetActivityRaidCollectionPrevNotFinish = 5601,
    RetActivityRaidCollectionGroupEnterNextUnavailable = 5602,
    RetActivityRaidCollectionIsLast = 5603,
    RetActivityRaidCollectionIsNotNext = 5604,
    RetOfferingNotUnlock = 5651,
    RetOfferingLevelNotUnlock = 5652,
    RetOfferingReachMaxLevel = 5653,
    RetOfferingItemNotEnough = 5654,
    RetOfferingLongtailNotOpen = 5655,
    RetOfferingRewardCondition = 5656,
    RetDrinkMakerChatInvalid = 5701,
    RetDrinkMakerParamInvalid = 5702,
    RetDrinkMakerParamNotUnlock = 5703,
    RetDrinkMakerConfigNotFound = 5704,
    RetDrinkMakerNotLastChat = 5705,
    RetDrinkMakerDayAndFreePhaseNotOpen = 5706,
    RetMonopolyNotOpen = 5751,
    RetMonopolyConfigError = 5752,
    RetMonopolyDiceNotEnough = 5753,
    RetMonopolyCurCellNotFinish = 5754,
    RetMonopolyCoinNotEnough = 5755,
    RetMonopolyCellWaitPending = 5756,
    RetMonopolyCellStateError = 5757,
    RetMonopolyCellContentError = 5758,
    RetMonopolyItemNotEnough = 5759,
    RetMonopolyCellContentCannotGiveup = 5760,
    RetMonopolyAssetLevelInvalid = 5761,
    RetMonopolyTurnNotFinish = 5762,
    RetMonopolyGuideNotFinish = 5763,
    RetMonopolyRaffleRewardReissued = 5764,
    RetMonopolyNoGameActive = 5771,
    RetMonopolyGameRatioNotIncreasable = 5772,
    RetMonopolyGameRatioMax = 5773,
    RetMonopolyGameTargetRatioInvalid = 5774,
    RetMonopolyGameBingoFlipPosInvalid = 5775,
    RetMonopolyGameGuessAlreadyChoose = 5776,
    RetMonopolyGameGuessChooseInvalid = 5777,
    RetMonopolyGameGuessInformationAlreadyBought = 5778,
    RetMonopolyGameRaiseRatioNotUnlock = 5779,
    RetMonopolyFriendNotSynced = 5785,
    RetMonopolyGetFriendRankingListInCd = 5786,
    RetMonopolyLikeTargetNotFriend = 5787,
    RetMonopolyDailyAlreadyLiked = 5788,
    RetMonopolySocialEventStatusNotMatch = 5789,
    RetMonopolySocialEventServerCacheNotExist = 5790,
    RetMonopolyActivityIdNotMatch = 5791,
    RetMonopolyRafflePoolNotExist = 5792,
    RetMonopolyRafflePoolTimeNotMatch = 5793,
    RetMonopolyRafflePoolPhaseNotMeet = 5794,
    RetMonopolyRafflePoolShowTimeNotMeet = 5795,
    RetMonopolyRaffleTicketNotFound = 5796,
    RetMonopolyRaffleTicketTimeNotMeet = 5797,
    RetMonopolyRaffleTicketRewardAlreadyTaken = 5798,
    RetMonopolyRafflePoolNotInRaffleTime = 5799,
    RetMonopolyMbtiReportRewardAlreadyTaken = 5800,
    RetEvolveBuildLevelGaming = 5801,
    RetEveolveBuildLevelBanRandom = 5802,
    RetEvolveBuildFirstRewardAlreadyTaken = 5803,
    RetEvolveBuildLevelUnfinish = 5804,
    RetEvolveBuildShopAbilityMaxLevel = 5805,
    RetEvolveBuildShopAbilityMinLevel = 5806,
    RetEvolveBuildShopAbilityNotGet = 5807,
    RetEvolveBuildLevelLock = 5808,
    RetEvolveBuildExpNotEnough = 5809,
    RetEvolveBuildShopAbilityLevelError = 5810,
    RetEvolveBuildActivityNotOpen = 5811,
    RetEvolveBuildShopAbilityEmpty = 5812,
    RetEvolveBuildLevelNotStart = 5813,
    RetEvolveBuildShopLock = 5814,
    RetEvolveBuildRewardLock = 5815,
    RetEvolveBuildRewardLevelMax = 5816,
    RetEvolveBuildRewardAlreadyAllTaken = 5717,
    RetClockParkConfigError = 5851,
    RetClockParkEffectError = 5852,
    RetClockParkScriptAlreadyUnlock = 5853,
    RetClockParkScriptUnlockConditionNotMeet = 5854,
    RetClockParkTalentAlreadyUnlock = 5855,
    RetClockParkScriptLocked = 5856,
    RetClockParkHasOngoingScript = 5857,
    RetClockParkNoOngoingScript = 5858,
    RetClockParkDicePlacementError = 5859,
    RetClockParkMismatchStatus = 5860,
    RetClockParkNoBuff = 5861,
    RetClockParkSlotMachineGachaReqDuplicated = 5862,
    RetClockParkSlotMachineCostNotEnough = 5863,
    RetClockParkSlotMachineGachaCntExceedLimit = 5864,
    RetClockParkNotOpen = 5865,
    RetTournRogueStatusMismatch = 5901,
    RetMagicRogueStatusMismatch = 5902,
    RetAutoMountMagicUnitNoMatchedMagicScepter = 5903,
    RetMagicUnitWorkbenchReforgeGenFail = 5904,
    RetMatchAlreadyInMatch = 6201,
    RetMatchNotInMatch = 6202,
    RetMatchPlayNotOpen = 6203,
    RetCrossStateError = 6204,
    RetMatchVersionNotEqual = 6205,
    RetMatchPlayerNotInLobbyRoom = 6206,
    RetLobbyStateNotMatch = 6207,
    RetLobbyRoomNotExist = 6208,
    RetLobbyRoomPalyerFull = 6209,
    RetLobbyRoomPalyerNotReady = 6210,
    RetLobbyRoomPalyerFighting = 6211,
    RetFightRoomNotExist = 6250,
    RetFightMatch3PlayerStateErr = 6251,
    RetFightMatch3RoomStateErr = 6252,
    RetCrossStateTimeOut = 6253,
    RetSwordTrainingNoActiveGame = 6301,
    RetSwordTrainingNoPendingActionMatch = 6302,
    RetSwordTrainingPartnerAbilityInvalid = 6303,
    RetSwordTrainingSkillAlreadyLearned = 6304,
    RetSwordTrainingConditionNotMeet = 6305,
    RetSwordTrainingParentSkillNotLearned = 6306,
    RetSwordTrainingSkillTypeNotUnlock = 6307,
    RetSwordTrainingGameAlreadyExist = 6308,
    RetSwordTrainingEndingHintNotMatch = 6309,
    RetSwordTrainingStorylineConfigNotFound = 6310,
    RetSwordTrainingStoryConfigNotFound = 6311,
    RetSwordTrainingUnlockNotFinish = 6312,
    RetSwordTrainingOptionMismatch = 6313,
    RetSwordTrainingRestoreWithoutExamFailed = 6314,
    RetSwordTrainingNoRestoreGameAvailable = 6315,
    RetSwordTrainingEndingStoryNotMatch = 6316,
    RetSwordTrainingEndingNotFinish = 6317,
    RetSwordTrainingEndingRewardTaken = 6318,
    RetSwordTrainingCombatRankNotChange = 6319,
    RetSwordTrainingDirectBattleDisable = 6320,
    RetFightFestPhaseNotMatch = 6351,
    RetFightFestScoreRaceAlreadyFinish = 6352,
    RetFightFestChallengeLocked = 6353,
    RetFightFestCoachSkillLocked = 6354,
    RetFightFestCoachSkillEquipTypeExisted = 6355,
    RetFightFestScoreRaceMissionDoind = 6356,
    RetFightFestCoachSkillNoEquip = 6357,
    RetPetNotExist = 6401,
    RetPetAlreadySummoned = 6402,
    RetPetNotSummoned = 6403,
    RetMusicRhythmLevelTimeTooShort = 6451,
    RetMusicRhythmNotInLevel = 6452,
    RetMusicRhythmPreDifficultyNotPass = 6453,
    RetMusicRhythmSongLimited = 6454,
    RetMusicRhythmSongLocked = 6455,
    RetMusicRhythmTrackLocked = 6456,
    RetMusicRhythmLevelNotUnlock = 6457,
    RetMusicRhythmSongSfxLocked = 6458,
    RetTrainPartyCoinNotEnough = 6501,
    RetTrainPartyDiyTagNotMatch = 6502,
    RetTrainPartyUseCardMobilityNotEnough = 6503,
    RetTrainPartyAreaUnlockCoinNotEnough = 6504,
    RetTarotBookEnergyNotEnough = 6601,
    RetTarotBookPackNotAvailable = 6602,
    RetTarotBookStoryAlreadyUnlock = 6603,
    RetTarotBookCardNotEnough = 6604,
    RetTarotBookClueNotEnough = 6605,
    RetTarotBookUnlockStoryCardNotSame = 6606,
    RetTarotBookStoryNotUnlock = 6607,
    RetTarotBookStoryAlreadyFinish = 6608,
    RetTarotBookInteractionAlreadyFinish = 6609,
    RetChimeraChimeraNotUnlock = 6621,
    RetChimeraChimeraDuplicated = 6622,
    RetChimeraChimeraTypeError = 6623,
    RetChimeraWorkMismatchRound = 6624,
    RetChimeraWorkRoundOptionNotMeet = 6625,
    RetChimeraEndlessNotUnlock = 6626,
    RetChimeraInEndless = 6627,
    RetChimeraNotInEndless = 6628,
    RetChimeraChimeraFallInEndless = 6629,
}
impl Retcode {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Retcode::RetSucc => "RET_SUCC",
            Retcode::RetFail => "RET_FAIL",
            Retcode::RetServerInternalError => "RET_SERVER_INTERNAL_ERROR",
            Retcode::RetTimeout => "RET_TIMEOUT",
            Retcode::RetRepeatedReq => "RET_REPEATED_REQ",
            Retcode::RetReqParaInvalid => "RET_REQ_PARA_INVALID",
            Retcode::RetPlayerDataError => "RET_PLAYER_DATA_ERROR",
            Retcode::RetPlayerClientPaused => "RET_PLAYER_CLIENT_PAUSED",
            Retcode::RetFuncCheckFailed => "RET_FUNC_CHECK_FAILED",
            Retcode::RetFeatureSwitchClosed => "RET_FEATURE_SWITCH_CLOSED",
            Retcode::RetFreqOverLimit => "RET_FREQ_OVER_LIMIT",
            Retcode::RetSystemBusy => "RET_SYSTEM_BUSY",
            Retcode::RetPlayerNotOnline => "RET_PLAYER_NOT_ONLINE",
            Retcode::RetOperationInCd => "RET_OPERATION_IN_CD",
            Retcode::RetRepeateLogin => "RET_REPEATE_LOGIN",
            Retcode::RetRetryLogin => "RET_RETRY_LOGIN",
            Retcode::RetWaitLogin => "RET_WAIT_LOGIN",
            Retcode::RetNotInWhiteList => "RET_NOT_IN_WHITE_LIST",
            Retcode::RetInBlackList => "RET_IN_BLACK_LIST",
            Retcode::RetAccountVerifyError => "RET_ACCOUNT_VERIFY_ERROR",
            Retcode::RetAccountParaError => "RET_ACCOUNT_PARA_ERROR",
            Retcode::RetAntiAddictLogin => "RET_ANTI_ADDICT_LOGIN",
            Retcode::RetCheckSumError => "RET_CHECK_SUM_ERROR",
            Retcode::RetReachMaxPlayerNum => "RET_REACH_MAX_PLAYER_NUM",
            Retcode::RetAlreadyRegistered => "RET_ALREADY_REGISTERED",
            Retcode::RetGenderError => "RET_GENDER_ERROR",
            Retcode::SetNicknameRetCallbackProcessing => {
                "SET_NICKNAME_RET_CALLBACK_PROCESSING"
            }
            Retcode::RetInGmBindAccess => "RET_IN_GM_BIND_ACCESS",
            Retcode::RetQuestRewardAlreadyTaken => "RET_QUEST_REWARD_ALREADY_TAKEN",
            Retcode::RetQuestNotAccept => "RET_QUEST_NOT_ACCEPT",
            Retcode::RetQuestNotFinish => "RET_QUEST_NOT_FINISH",
            Retcode::RetQuestStatusError => "RET_QUEST_STATUS_ERROR",
            Retcode::RetAchievementLevelNotReach => "RET_ACHIEVEMENT_LEVEL_NOT_REACH",
            Retcode::RetAchievementLevelAlreadyTaken => {
                "RET_ACHIEVEMENT_LEVEL_ALREADY_TAKEN"
            }
            Retcode::RetAvatarNotExist => "RET_AVATAR_NOT_EXIST",
            Retcode::RetAvatarResExpNotEnough => "RET_AVATAR_RES_EXP_NOT_ENOUGH",
            Retcode::RetAvatarExpReachPromotionLimit => {
                "RET_AVATAR_EXP_REACH_PROMOTION_LIMIT"
            }
            Retcode::RetAvatarReachMaxPromotion => "RET_AVATAR_REACH_MAX_PROMOTION",
            Retcode::RetSkilltreeConfigNotExist => "RET_SKILLTREE_CONFIG_NOT_EXIST",
            Retcode::RetSkilltreeAlreadyUnlock => "RET_SKILLTREE_ALREADY_UNLOCK",
            Retcode::RetSkilltreePreLocked => "RET_SKILLTREE_PRE_LOCKED",
            Retcode::RetSkilltreeLevelNotMeet => "RET_SKILLTREE_LEVEL_NOT_MEET",
            Retcode::RetSkilltreeRankNotMeet => "RET_SKILLTREE_RANK_NOT_MEET",
            Retcode::RetAvatarDressNoEquipment => "RET_AVATAR_DRESS_NO_EQUIPMENT",
            Retcode::RetAvatarExpItemNotExist => "RET_AVATAR_EXP_ITEM_NOT_EXIST",
            Retcode::RetSkilltreePointLocked => "RET_SKILLTREE_POINT_LOCKED",
            Retcode::RetSkilltreePointLevelUpgradeNotMatch => {
                "RET_SKILLTREE_POINT_LEVEL_UPGRADE_NOT_MATCH"
            }
            Retcode::RetSkilltreePointLevelReachMax => {
                "RET_SKILLTREE_POINT_LEVEL_REACH_MAX"
            }
            Retcode::RetWorldLevelNotMeet => "RET_WORLD_LEVEL_NOT_MEET",
            Retcode::RetPlayerLevelNotMeet => "RET_PLAYER_LEVEL_NOT_MEET",
            Retcode::RetAvatarRankNotMatch => "RET_AVATAR_RANK_NOT_MATCH",
            Retcode::RetAvatarRankReachMax => "RET_AVATAR_RANK_REACH_MAX",
            Retcode::RetHeroBasicTypeNotMatch => "RET_HERO_BASIC_TYPE_NOT_MATCH",
            Retcode::RetAvatarPromotionNotMeet => "RET_AVATAR_PROMOTION_NOT_MEET",
            Retcode::RetPromotionRewardConfigNotExist => {
                "RET_PROMOTION_REWARD_CONFIG_NOT_EXIST"
            }
            Retcode::RetPromotionRewardAlreadyTaken => {
                "RET_PROMOTION_REWARD_ALREADY_TAKEN"
            }
            Retcode::RetAvatarSkinItemNotExist => "RET_AVATAR_SKIN_ITEM_NOT_EXIST",
            Retcode::RetAvatarSkinAlreadyDressed => "RET_AVATAR_SKIN_ALREADY_DRESSED",
            Retcode::RetAvatarNotDressSkin => "RET_AVATAR_NOT_DRESS_SKIN",
            Retcode::RetAvatarSkinNotMatchAvatar => "RET_AVATAR_SKIN_NOT_MATCH_AVATAR",
            Retcode::RetAvatarPathNotMatch => "RET_AVATAR_PATH_NOT_MATCH",
            Retcode::RetItemNotExist => "RET_ITEM_NOT_EXIST",
            Retcode::RetItemCostNotEnough => "RET_ITEM_COST_NOT_ENOUGH",
            Retcode::RetItemCostTooMuch => "RET_ITEM_COST_TOO_MUCH",
            Retcode::RetItemNoCost => "RET_ITEM_NO_COST",
            Retcode::RetItemNotEnough => "RET_ITEM_NOT_ENOUGH",
            Retcode::RetItemInvalid => "RET_ITEM_INVALID",
            Retcode::RetItemConfigNotExist => "RET_ITEM_CONFIG_NOT_EXIST",
            Retcode::RetScoinNotEnough => "RET_SCOIN_NOT_ENOUGH",
            Retcode::RetItemRewardExceedLimit => "RET_ITEM_REWARD_EXCEED_LIMIT",
            Retcode::RetItemInvalidUse => "RET_ITEM_INVALID_USE",
            Retcode::RetItemUseConfigNotExist => "RET_ITEM_USE_CONFIG_NOT_EXIST",
            Retcode::RetRewardConfigNotExist => "RET_REWARD_CONFIG_NOT_EXIST",
            Retcode::RetItemExceedLimit => "RET_ITEM_EXCEED_LIMIT",
            Retcode::RetItemCountInvalid => "RET_ITEM_COUNT_INVALID",
            Retcode::RetItemUseTargetTypeInvalid => "RET_ITEM_USE_TARGET_TYPE_INVALID",
            Retcode::RetItemUseSatietyFull => "RET_ITEM_USE_SATIETY_FULL",
            Retcode::RetItemComposeNotExist => "RET_ITEM_COMPOSE_NOT_EXIST",
            Retcode::RetRelicComposeNotExist => "RET_RELIC_COMPOSE_NOT_EXIST",
            Retcode::RetItemCanNotSell => "RET_ITEM_CAN_NOT_SELL",
            Retcode::RetItemSellExceddLimit => "RET_ITEM_SELL_EXCEDD_LIMIT",
            Retcode::RetItemNotInCostList => "RET_ITEM_NOT_IN_COST_LIST",
            Retcode::RetItemSpecialCostNotEnough => "RET_ITEM_SPECIAL_COST_NOT_ENOUGH",
            Retcode::RetItemSpecialCostTooMuch => "RET_ITEM_SPECIAL_COST_TOO_MUCH",
            Retcode::RetItemFormulaNotExist => "RET_ITEM_FORMULA_NOT_EXIST",
            Retcode::RetItemAutoGiftOptionalNotExist => {
                "RET_ITEM_AUTO_GIFT_OPTIONAL_NOT_EXIST"
            }
            Retcode::RetRelicComposeRelicInvalid => "RET_RELIC_COMPOSE_RELIC_INVALID",
            Retcode::RetRelicComposeMainAffixIdInvalid => {
                "RET_RELIC_COMPOSE_MAIN_AFFIX_ID_INVALID"
            }
            Retcode::RetRelicComposeWrongFormulaType => {
                "RET_RELIC_COMPOSE_WRONG_FORMULA_TYPE"
            }
            Retcode::RetRelicComposeRelicNotExist => "RET_RELIC_COMPOSE_RELIC_NOT_EXIST",
            Retcode::RetRelicComposeBlackGoldCountInvalid => {
                "RET_RELIC_COMPOSE_BLACK_GOLD_COUNT_INVALID"
            }
            Retcode::RetRelicComposeBlackGoldNotNeed => {
                "RET_RELIC_COMPOSE_BLACK_GOLD_NOT_NEED"
            }
            Retcode::RetMonthCardCannotUse => "RET_MONTH_CARD_CANNOT_USE",
            Retcode::RetItemRewardExceedDisappear => "RET_ITEM_REWARD_EXCEED_DISAPPEAR",
            Retcode::RetItemNeedRecycle => "RET_ITEM_NEED_RECYCLE",
            Retcode::RetItemComposeExceedLimit => "RET_ITEM_COMPOSE_EXCEED_LIMIT",
            Retcode::RetItemCanNotDestroy => "RET_ITEM_CAN_NOT_DESTROY",
            Retcode::RetItemAlreadyMark => "RET_ITEM_ALREADY_MARK",
            Retcode::RetItemMarkExceedLimit => "RET_ITEM_MARK_EXCEED_LIMIT",
            Retcode::RetItemNotMark => "RET_ITEM_NOT_MARK",
            Retcode::RetItenTurnFoodNotSet => "RET_ITEN_TURN_FOOD_NOT_SET",
            Retcode::RetItemTurnFoodAlreadySet => "RET_ITEM_TURN_FOOD_ALREADY_SET",
            Retcode::RetItemTurnFoodConsumeTypeError => {
                "RET_ITEM_TURN_FOOD_CONSUME_TYPE_ERROR"
            }
            Retcode::RetItemTurnFoodSwitchAlreadyOpen => {
                "RET_ITEM_TURN_FOOD_SWITCH_ALREADY_OPEN"
            }
            Retcode::RetItemTurnFoodSwitchAlreadyClose => {
                "RET_ITEM_TURN_FOOD_SWITCH_ALREADY_CLOSE"
            }
            Retcode::RetHcoinExchangeTooMuch => "RET_HCOIN_EXCHANGE_TOO_MUCH",
            Retcode::RetItemTurnFoodSceneTypeError => {
                "RET_ITEM_TURN_FOOD_SCENE_TYPE_ERROR"
            }
            Retcode::RetEquipmentAlreadyDressed => "RET_EQUIPMENT_ALREADY_DRESSED",
            Retcode::RetEquipmentNotExist => "RET_EQUIPMENT_NOT_EXIST",
            Retcode::RetEquipmentReachLevelLimit => "RET_EQUIPMENT_REACH_LEVEL_LIMIT",
            Retcode::RetEquipmentConsumeSelf => "RET_EQUIPMENT_CONSUME_SELF",
            Retcode::RetEquipmentAlreadyLocked => "RET_EQUIPMENT_ALREADY_LOCKED",
            Retcode::RetEquipmentAlreadyUnlocked => "RET_EQUIPMENT_ALREADY_UNLOCKED",
            Retcode::RetEquipmentLocked => "RET_EQUIPMENT_LOCKED",
            Retcode::RetEquipmentSelectNumOverLimit => {
                "RET_EQUIPMENT_SELECT_NUM_OVER_LIMIT"
            }
            Retcode::RetEquipmentRankUpMustConsumeSameTid => {
                "RET_EQUIPMENT_RANK_UP_MUST_CONSUME_SAME_TID"
            }
            Retcode::RetEquipmentPromotionReachMax => "RET_EQUIPMENT_PROMOTION_REACH_MAX",
            Retcode::RetEquipmentRankUpReachMax => "RET_EQUIPMENT_RANK_UP_REACH_MAX",
            Retcode::RetEquipmentLevelReachMax => "RET_EQUIPMENT_LEVEL_REACH_MAX",
            Retcode::RetEquipmentExceedLimit => "RET_EQUIPMENT_EXCEED_LIMIT",
            Retcode::RetRelicNotExist => "RET_RELIC_NOT_EXIST",
            Retcode::RetRelicReachLevelLimit => "RET_RELIC_REACH_LEVEL_LIMIT",
            Retcode::RetRelicConsumeSelf => "RET_RELIC_CONSUME_SELF",
            Retcode::RetRelicAlreadyDressed => "RET_RELIC_ALREADY_DRESSED",
            Retcode::RetRelicLocked => "RET_RELIC_LOCKED",
            Retcode::RetRelicAlreadyLocked => "RET_RELIC_ALREADY_LOCKED",
            Retcode::RetRelicAlreadyUnlocked => "RET_RELIC_ALREADY_UNLOCKED",
            Retcode::RetRelicLevelIsNotZero => "RET_RELIC_LEVEL_IS_NOT_ZERO",
            Retcode::RetUniqueIdRepeated => "RET_UNIQUE_ID_REPEATED",
            Retcode::RetEquipmentLevelNotMeet => "RET_EQUIPMENT_LEVEL_NOT_MEET",
            Retcode::RetEquipmentItemNotInCostList => {
                "RET_EQUIPMENT_ITEM_NOT_IN_COST_LIST"
            }
            Retcode::RetEquipmentLevelGreaterThanOne => {
                "RET_EQUIPMENT_LEVEL_GREATER_THAN_ONE"
            }
            Retcode::RetEquipmentAlreadyRanked => "RET_EQUIPMENT_ALREADY_RANKED",
            Retcode::RetRelicExceedLimit => "RET_RELIC_EXCEED_LIMIT",
            Retcode::RetRelicAlreadyDiscarded => "RET_RELIC_ALREADY_DISCARDED",
            Retcode::RetRelicAlreadyUndiscarded => "RET_RELIC_ALREADY_UNDISCARDED",
            Retcode::RetEquipmentBatchLockTooFast => "RET_EQUIPMENT_BATCH_LOCK_TOO_FAST",
            Retcode::RetRelicFilterPlanSlotEmpty => "RET_RELIC_FILTER_PLAN_SLOT_EMPTY",
            Retcode::RetRelicFilterPlanNumExceedLimit => {
                "RET_RELIC_FILTER_PLAN_NUM_EXCEED_LIMIT"
            }
            Retcode::RetRelicFilterPlanNameUtf8Error => {
                "RET_RELIC_FILTER_PLAN_NAME_UTF8_ERROR"
            }
            Retcode::RetRelicFilterPlanNameFormatError => {
                "RET_RELIC_FILTER_PLAN_NAME_FORMAT_ERROR"
            }
            Retcode::RetRelicFilterPlanNoChange => "RET_RELIC_FILTER_PLAN_NO_CHANGE",
            Retcode::RetRelicReforgeNotConfirmed => "RET_RELIC_REFORGE_NOT_CONFIRMED",
            Retcode::RetLineupInvalidIndex => "RET_LINEUP_INVALID_INDEX",
            Retcode::RetLineupInvalidMemberPos => "RET_LINEUP_INVALID_MEMBER_POS",
            Retcode::RetLineupSwapNotExist => "RET_LINEUP_SWAP_NOT_EXIST",
            Retcode::RetLineupAvatarAlreadyIn => "RET_LINEUP_AVATAR_ALREADY_IN",
            Retcode::RetLineupCreateAvatarError => "RET_LINEUP_CREATE_AVATAR_ERROR",
            Retcode::RetLineupAvatarInitError => "RET_LINEUP_AVATAR_INIT_ERROR",
            Retcode::RetLineupNotExist => "RET_LINEUP_NOT_EXIST",
            Retcode::RetLineupOnlyOneMember => "RET_LINEUP_ONLY_ONE_MEMBER",
            Retcode::RetLineupSameLeaderSlot => "RET_LINEUP_SAME_LEADER_SLOT",
            Retcode::RetLineupNoLeaderSelect => "RET_LINEUP_NO_LEADER_SELECT",
            Retcode::RetLineupSwapSameSlot => "RET_LINEUP_SWAP_SAME_SLOT",
            Retcode::RetLineupAvatarNotExist => "RET_LINEUP_AVATAR_NOT_EXIST",
            Retcode::RetLineupTrialAvatarCanNotQuit => {
                "RET_LINEUP_TRIAL_AVATAR_CAN_NOT_QUIT"
            }
            Retcode::RetLineupVirtualLineupPlaneNotMatch => {
                "RET_LINEUP_VIRTUAL_LINEUP_PLANE_NOT_MATCH"
            }
            Retcode::RetLineupNotValidLeader => "RET_LINEUP_NOT_VALID_LEADER",
            Retcode::RetLineupSameIndex => "RET_LINEUP_SAME_INDEX",
            Retcode::RetLineupIsEmpty => "RET_LINEUP_IS_EMPTY",
            Retcode::RetLineupNameFormatError => "RET_LINEUP_NAME_FORMAT_ERROR",
            Retcode::RetLineupTypeNotMatch => "RET_LINEUP_TYPE_NOT_MATCH",
            Retcode::RetLineupReplaceAllFailed => "RET_LINEUP_REPLACE_ALL_FAILED",
            Retcode::RetLineupNotAllowEdit => "RET_LINEUP_NOT_ALLOW_EDIT",
            Retcode::RetLineupAvatarIsAlive => "RET_LINEUP_AVATAR_IS_ALIVE",
            Retcode::RetLineupAssistHasOnlyMember => "RET_LINEUP_ASSIST_HAS_ONLY_MEMBER",
            Retcode::RetLineupAssistCannotSwitch => "RET_LINEUP_ASSIST_CANNOT_SWITCH",
            Retcode::RetLineupAvatarTypeInvalid => "RET_LINEUP_AVATAR_TYPE_INVALID",
            Retcode::RetLineupNameUtf8Error => "RET_LINEUP_NAME_UTF8_ERROR",
            Retcode::RetLineupLeaderLock => "RET_LINEUP_LEADER_LOCK",
            Retcode::RetLineupStoryLineNotMatch => "RET_LINEUP_STORY_LINE_NOT_MATCH",
            Retcode::RetLineupAvatarLock => "RET_LINEUP_AVATAR_LOCK",
            Retcode::RetLineupAvatarInvalid => "RET_LINEUP_AVATAR_INVALID",
            Retcode::RetLineupAvatarAlreadyInit => "RET_LINEUP_AVATAR_ALREADY_INIT",
            Retcode::RetLineupLimited => "RET_LINEUP_LIMITED",
            Retcode::RetMailNotExist => "RET_MAIL_NOT_EXIST",
            Retcode::RetMailRangeInvalid => "RET_MAIL_RANGE_INVALID",
            Retcode::RetMailMailIdInvalid => "RET_MAIL_MAIL_ID_INVALID",
            Retcode::RetMailNoMailTakeAttachment => "RET_MAIL_NO_MAIL_TAKE_ATTACHMENT",
            Retcode::RetMailNoMailToDel => "RET_MAIL_NO_MAIL_TO_DEL",
            Retcode::RetMailTypeInvalid => "RET_MAIL_TYPE_INVALID",
            Retcode::RetMailParaInvalid => "RET_MAIL_PARA_INVALID",
            Retcode::RetMailAttachementInvalid => "RET_MAIL_ATTACHEMENT_INVALID",
            Retcode::RetMailTicketInvalid => "RET_MAIL_TICKET_INVALID",
            Retcode::RetMailTicketRepeated => "RET_MAIL_TICKET_REPEATED",
            Retcode::RetStageSettleError => "RET_STAGE_SETTLE_ERROR",
            Retcode::RetStageConfigNotExist => "RET_STAGE_CONFIG_NOT_EXIST",
            Retcode::RetStageNotFound => "RET_STAGE_NOT_FOUND",
            Retcode::RetStageCocoonPropNotValid => "RET_STAGE_COCOON_PROP_NOT_VALID",
            Retcode::RetStageCocoonWaveNotValid => "RET_STAGE_COCOON_WAVE_NOT_VALID",
            Retcode::RetStagePropIdNotEqual => "RET_STAGE_PROP_ID_NOT_EQUAL",
            Retcode::RetStageCocoonWaveOver => "RET_STAGE_COCOON_WAVE_OVER",
            Retcode::RetStageWeekCocoonOverCnt => "RET_STAGE_WEEK_COCOON_OVER_CNT",
            Retcode::RetStageCocoonNotOpen => "RET_STAGE_COCOON_NOT_OPEN",
            Retcode::RetStageTrialNotOpen => "RET_STAGE_TRIAL_NOT_OPEN",
            Retcode::RetStageFarmNotOpen => "RET_STAGE_FARM_NOT_OPEN",
            Retcode::RetStageFarmTypeError => "RET_STAGE_FARM_TYPE_ERROR",
            Retcode::RetChapterLock => "RET_CHAPTER_LOCK",
            Retcode::RetChapterChallengeNumNotEnough => {
                "RET_CHAPTER_CHALLENGE_NUM_NOT_ENOUGH"
            }
            Retcode::RetChapterRewardIdNotExist => "RET_CHAPTER_REWARD_ID_NOT_EXIST",
            Retcode::RetChapterRewardAlreadyTaken => "RET_CHAPTER_REWARD_ALREADY_TAKEN",
            Retcode::RetBattleStageNotMatch => "RET_BATTLE_STAGE_NOT_MATCH",
            Retcode::RetInBattleNow => "RET_IN_BATTLE_NOW",
            Retcode::RetBattleCheat => "RET_BATTLE_CHEAT",
            Retcode::RetBattleFail => "RET_BATTLE_FAIL",
            Retcode::RetBattleNoLineup => "RET_BATTLE_NO_LINEUP",
            Retcode::RetBattleLineupEmpty => "RET_BATTLE_LINEUP_EMPTY",
            Retcode::RetBattleVersionNotMatch => "RET_BATTLE_VERSION_NOT_MATCH",
            Retcode::RetBattleQuitByServer => "RET_BATTLE_QUIT_BY_SERVER",
            Retcode::RetInBattleCheck => "RET_IN_BATTLE_CHECK",
            Retcode::RetBattleCheckNeedRetry => "RET_BATTLE_CHECK_NEED_RETRY",
            Retcode::RetBattleCostTimeCheckFail => "RET_BATTLE_COST_TIME_CHECK_FAIL",
            Retcode::RetLackExchangeStaminaTimes => "RET_LACK_EXCHANGE_STAMINA_TIMES",
            Retcode::RetLackStamina => "RET_LACK_STAMINA",
            Retcode::RetStaminaFull => "RET_STAMINA_FULL",
            Retcode::RetAuthkeySignTypeError => "RET_AUTHKEY_SIGN_TYPE_ERROR",
            Retcode::RetAuthkeySignVerError => "RET_AUTHKEY_SIGN_VER_ERROR",
            Retcode::RetNicknameFormatError => "RET_NICKNAME_FORMAT_ERROR",
            Retcode::RetSensitiveWords => "RET_SENSITIVE_WORDS",
            Retcode::RetLevelRewardHasTaken => "RET_LEVEL_REWARD_HAS_TAKEN",
            Retcode::RetLevelRewardLevelError => "RET_LEVEL_REWARD_LEVEL_ERROR",
            Retcode::RetLanguageInvalid => "RET_LANGUAGE_INVALID",
            Retcode::RetNicknameInCd => "RET_NICKNAME_IN_CD",
            Retcode::RetGameplayBirthdayInvalid => "RET_GAMEPLAY_BIRTHDAY_INVALID",
            Retcode::RetGameplayBirthdayAlreadySet => "RET_GAMEPLAY_BIRTHDAY_ALREADY_SET",
            Retcode::RetNicknameUtf8Error => "RET_NICKNAME_UTF8_ERROR",
            Retcode::RetNicknameDigitLimitError => "RET_NICKNAME_DIGIT_LIMIT_ERROR",
            Retcode::RetSensitiveWordsPlatformError => {
                "RET_SENSITIVE_WORDS_PLATFORM_ERROR"
            }
            Retcode::RetPlayerSettingTypeInvalid => "RET_PLAYER_SETTING_TYPE_INVALID",
            Retcode::RetMazeLackTicket => "RET_MAZE_LACK_TICKET",
            Retcode::RetMazeNotUnlock => "RET_MAZE_NOT_UNLOCK",
            Retcode::RetMazeNoAbility => "RET_MAZE_NO_ABILITY",
            Retcode::RetMazeNoPlane => "RET_MAZE_NO_PLANE",
            Retcode::RetMazeMapNotExist => "RET_MAZE_MAP_NOT_EXIST",
            Retcode::RetMazeMpNotEnough => "RET_MAZE_MP_NOT_ENOUGH",
            Retcode::RetSpringNotEnable => "RET_SPRING_NOT_ENABLE",
            Retcode::RetSpringTooFar => "RET_SPRING_TOO_FAR",
            Retcode::RetNotInMaze => "RET_NOT_IN_MAZE",
            Retcode::RetMazeTimeOfDayTypeError => "RET_MAZE_TIME_OF_DAY_TYPE_ERROR",
            Retcode::RetSceneTransferLockedByTask => "RET_SCENE_TRANSFER_LOCKED_BY_TASK",
            Retcode::RetPlotNotUnlock => "RET_PLOT_NOT_UNLOCK",
            Retcode::RetMissionNotExist => "RET_MISSION_NOT_EXIST",
            Retcode::RetMissionAlreadyDone => "RET_MISSION_ALREADY_DONE",
            Retcode::RetDailyTaskNotFinish => "RET_DAILY_TASK_NOT_FINISH",
            Retcode::RetDailyTaskRewardHasTaken => "RET_DAILY_TASK_REWARD_HAS_TAKEN",
            Retcode::RetMissionNotFinish => "RET_MISSION_NOT_FINISH",
            Retcode::RetMissionNotDoing => "RET_MISSION_NOT_DOING",
            Retcode::RetMissionFinishWayNotMatch => "RET_MISSION_FINISH_WAY_NOT_MATCH",
            Retcode::RetMissionSceneNotMatch => "RET_MISSION_SCENE_NOT_MATCH",
            Retcode::RetMissionCustomValueNotValid => {
                "RET_MISSION_CUSTOM_VALUE_NOT_VALID"
            }
            Retcode::RetMissionSubMissionNotMatch => "RET_MISSION_SUB_MISSION_NOT_MATCH",
            Retcode::RetAdventureMapNotExist => "RET_ADVENTURE_MAP_NOT_EXIST",
            Retcode::RetSceneEntityNotExist => "RET_SCENE_ENTITY_NOT_EXIST",
            Retcode::RetNotInScene => "RET_NOT_IN_SCENE",
            Retcode::RetSceneMonsterNotExist => "RET_SCENE_MONSTER_NOT_EXIST",
            Retcode::RetInteractConfigNotExist => "RET_INTERACT_CONFIG_NOT_EXIST",
            Retcode::RetUnsupportedPropState => "RET_UNSUPPORTED_PROP_STATE",
            Retcode::RetSceneEntryIdNotMatch => "RET_SCENE_ENTRY_ID_NOT_MATCH",
            Retcode::RetSceneEntityMoveCheckFailed => {
                "RET_SCENE_ENTITY_MOVE_CHECK_FAILED"
            }
            Retcode::RetAssistMonsterCountLimit => "RET_ASSIST_MONSTER_COUNT_LIMIT",
            Retcode::RetSceneUseSkillFail => "RET_SCENE_USE_SKILL_FAIL",
            Retcode::RetPropIsHidden => "RET_PROP_IS_HIDDEN",
            Retcode::RetLoadingSuccAlready => "RET_LOADING_SUCC_ALREADY",
            Retcode::RetSceneEntityTypeInvalid => "RET_SCENE_ENTITY_TYPE_INVALID",
            Retcode::RetInteractTypeInvalid => "RET_INTERACT_TYPE_INVALID",
            Retcode::RetInteractNotInRegion => "RET_INTERACT_NOT_IN_REGION",
            Retcode::RetInteractSubTypeInvalid => "RET_INTERACT_SUB_TYPE_INVALID",
            Retcode::RetNotLeaderEntity => "RET_NOT_LEADER_ENTITY",
            Retcode::RetMonsterIsNotFarmElement => "RET_MONSTER_IS_NOT_FARM_ELEMENT",
            Retcode::RetMonsterConfigNotExist => "RET_MONSTER_CONFIG_NOT_EXIST",
            Retcode::RetAvatarHpAlreadyFull => "RET_AVATAR_HP_ALREADY_FULL",
            Retcode::RetCurInteractEntityNotMatch => "RET_CUR_INTERACT_ENTITY_NOT_MATCH",
            Retcode::RetPlaneTypeNotAllow => "RET_PLANE_TYPE_NOT_ALLOW",
            Retcode::RetGroupNotExist => "RET_GROUP_NOT_EXIST",
            Retcode::RetGroupSaveDataInCd => "RET_GROUP_SAVE_DATA_IN_CD",
            Retcode::RetGroupSaveLenghReachMax => "RET_GROUP_SAVE_LENGH_REACH_MAX",
            Retcode::RetRecentElementNotExist => "RET_RECENT_ELEMENT_NOT_EXIST",
            Retcode::RetRecentElementStageNotMatch => {
                "RET_RECENT_ELEMENT_STAGE_NOT_MATCH"
            }
            Retcode::RetScenePositionVersionNotMatch => {
                "RET_SCENE_POSITION_VERSION_NOT_MATCH"
            }
            Retcode::RetGameplayCounterNotExist => "RET_GAMEPLAY_COUNTER_NOT_EXIST",
            Retcode::RetGameplayCounterNotEnough => "RET_GAMEPLAY_COUNTER_NOT_ENOUGH",
            Retcode::RetGroupStateNotMatch => "RET_GROUP_STATE_NOT_MATCH",
            Retcode::RetSceneEntityPosNotMatch => "RET_SCENE_ENTITY_POS_NOT_MATCH",
            Retcode::RetGroupStateCustomSaveDataOff => {
                "RET_GROUP_STATE_CUSTOM_SAVE_DATA_OFF"
            }
            Retcode::RetSceneNotMatch => "RET_SCENE_NOT_MATCH",
            Retcode::RetPropTypeInvalid => "RET_PROP_TYPE_INVALID",
            Retcode::RetBuyTimesLimit => "RET_BUY_TIMES_LIMIT",
            Retcode::RetBuyLimitType => "RET_BUY_LIMIT_TYPE",
            Retcode::RetShopNotOpen => "RET_SHOP_NOT_OPEN",
            Retcode::RetGoodsNotOpen => "RET_GOODS_NOT_OPEN",
            Retcode::RetCityLevelRewardTaken => "RET_CITY_LEVEL_REWARD_TAKEN",
            Retcode::RetCityLevelNotMeet => "RET_CITY_LEVEL_NOT_MEET",
            Retcode::RetSingleBuyLimit => "RET_SINGLE_BUY_LIMIT",
            Retcode::RetTutorialNotUnlock => "RET_TUTORIAL_NOT_UNLOCK",
            Retcode::RetTutorialUnlockAlready => "RET_TUTORIAL_UNLOCK_ALREADY",
            Retcode::RetTutorialFinishAlready => "RET_TUTORIAL_FINISH_ALREADY",
            Retcode::RetTutorialPreNotUnlock => "RET_TUTORIAL_PRE_NOT_UNLOCK",
            Retcode::RetTutorialPlayerLevelNotMatch => {
                "RET_TUTORIAL_PLAYER_LEVEL_NOT_MATCH"
            }
            Retcode::RetTutorialTutorialNotFound => "RET_TUTORIAL_TUTORIAL_NOT_FOUND",
            Retcode::RetChallengeNotExist => "RET_CHALLENGE_NOT_EXIST",
            Retcode::RetChallengeNotUnlock => "RET_CHALLENGE_NOT_UNLOCK",
            Retcode::RetChallengeAlready => "RET_CHALLENGE_ALREADY",
            Retcode::RetChallengeLineupEditForbidden => {
                "RET_CHALLENGE_LINEUP_EDIT_FORBIDDEN"
            }
            Retcode::RetChallengeLineupEmpty => "RET_CHALLENGE_LINEUP_EMPTY",
            Retcode::RetChallengeNotDoing => "RET_CHALLENGE_NOT_DOING",
            Retcode::RetChallengeNotFinish => "RET_CHALLENGE_NOT_FINISH",
            Retcode::RetChallengeTargetNotFinish => "RET_CHALLENGE_TARGET_NOT_FINISH",
            Retcode::RetChallengeTargetRewardTaken => "RET_CHALLENGE_TARGET_REWARD_TAKEN",
            Retcode::RetChallengeTimeNotValid => "RET_CHALLENGE_TIME_NOT_VALID",
            Retcode::RetChallengeStarsCountNotMeet => {
                "RET_CHALLENGE_STARS_COUNT_NOT_MEET"
            }
            Retcode::RetChallengeStarsRewardTaken => "RET_CHALLENGE_STARS_REWARD_TAKEN",
            Retcode::RetChallengeStarsNotExist => "RET_CHALLENGE_STARS_NOT_EXIST",
            Retcode::RetChallengeCurSceneNotEntryFloor => {
                "RET_CHALLENGE_CUR_SCENE_NOT_ENTRY_FLOOR"
            }
            Retcode::RetChallengeNoTeamArchive => "RET_CHALLENGE_NO_TEAM_ARCHIVE",
            Retcode::RetChallengeLineupAvatarTypeInvalid => {
                "RET_CHALLENGE_LINEUP_AVATAR_TYPE_INVALID"
            }
            Retcode::RetChallengeLineupRecommendInCd => {
                "RET_CHALLENGE_LINEUP_RECOMMEND_IN_CD"
            }
            Retcode::RetBasicTypeAlready => "RET_BASIC_TYPE_ALREADY",
            Retcode::RetNoBasicType => "RET_NO_BASIC_TYPE",
            Retcode::RetNotChooseBasicType => "RET_NOT_CHOOSE_BASIC_TYPE",
            Retcode::RetNotFuncClose => "RET_NOT_FUNC_CLOSE",
            Retcode::RetNotChooseGender => "RET_NOT_CHOOSE_GENDER",
            Retcode::RetNotReqUnlockBasicType => "RET_NOT_REQ_UNLOCK_BASIC_TYPE",
            Retcode::RetAvatarPathLocked => "RET_AVATAR_PATH_LOCKED",
            Retcode::RetRogueStatusNotMatch => "RET_ROGUE_STATUS_NOT_MATCH",
            Retcode::RetRogueSelectBuffNotExist => "RET_ROGUE_SELECT_BUFF_NOT_EXIST",
            Retcode::RetRogueCoinNotEnough => "RET_ROGUE_COIN_NOT_ENOUGH",
            Retcode::RetRogueStaminaNotEnough => "RET_ROGUE_STAMINA_NOT_ENOUGH",
            Retcode::RetRogueAppraisalCountNotEnough => {
                "RET_ROGUE_APPRAISAL_COUNT_NOT_ENOUGH"
            }
            Retcode::RetRoguePropAlreadyUsed => "RET_ROGUE_PROP_ALREADY_USED",
            Retcode::RetRogueRecordAlreadySaved => "RET_ROGUE_RECORD_ALREADY_SAVED",
            Retcode::RetRogueRollBuffMaxCount => "RET_ROGUE_ROLL_BUFF_MAX_COUNT",
            Retcode::RetRoguePickAvatarInvalid => "RET_ROGUE_PICK_AVATAR_INVALID",
            Retcode::RetRogueQuestExpire => "RET_ROGUE_QUEST_EXPIRE",
            Retcode::RetRogueQuestRewardAlready => "RET_ROGUE_QUEST_REWARD_ALREADY",
            Retcode::RetRogueReviveCountNotEnough => "RET_ROGUE_REVIVE_COUNT_NOT_ENOUGH",
            Retcode::RetRogueAreaInvalid => "RET_ROGUE_AREA_INVALID",
            Retcode::RetRogueScoreRewardPoolInvalid => {
                "RET_ROGUE_SCORE_REWARD_POOL_INVALID"
            }
            Retcode::RetRogueScoreRewardRowInvalid => {
                "RET_ROGUE_SCORE_REWARD_ROW_INVALID"
            }
            Retcode::RetRogueAeonLevelNotMeet => "RET_ROGUE_AEON_LEVEL_NOT_MEET",
            Retcode::RetRogueAeonLevelRewardAlreadyTaken => {
                "RET_ROGUE_AEON_LEVEL_REWARD_ALREADY_TAKEN"
            }
            Retcode::RetRogueAeonConfigNotExist => "RET_ROGUE_AEON_CONFIG_NOT_EXIST",
            Retcode::RetRogueTrialAvatarInvalid => "RET_ROGUE_TRIAL_AVATAR_INVALID",
            Retcode::RetRogueHandbookRewardAlreadyTaken => {
                "RET_ROGUE_HANDBOOK_REWARD_ALREADY_TAKEN"
            }
            Retcode::RetRogueRoomTypeNotMatch => "RET_ROGUE_ROOM_TYPE_NOT_MATCH",
            Retcode::RetRogueShopGoodNotFound => "RET_ROGUE_SHOP_GOOD_NOT_FOUND",
            Retcode::RetRogueShopGoodAlreadyBought => {
                "RET_ROGUE_SHOP_GOOD_ALREADY_BOUGHT"
            }
            Retcode::RetRogueShopGoodAlreadyOwn => "RET_ROGUE_SHOP_GOOD_ALREADY_OWN",
            Retcode::RetRogueShopMiracleNotExist => "RET_ROGUE_SHOP_MIRACLE_NOT_EXIST",
            Retcode::RetRogueShopNotExist => "RET_ROGUE_SHOP_NOT_EXIST",
            Retcode::RetRogueShopCannotRefresh => "RET_ROGUE_SHOP_CANNOT_REFRESH",
            Retcode::RetRogueSelectBuffCertainMismatch => {
                "RET_ROGUE_SELECT_BUFF_CERTAIN_MISMATCH"
            }
            Retcode::RetRogueActionQueueNotEmptyBattle => {
                "RET_ROGUE_ACTION_QUEUE_NOT_EMPTY_BATTLE"
            }
            Retcode::RetRogueActionQueueNotEmptyOthers => {
                "RET_ROGUE_ACTION_QUEUE_NOT_EMPTY_OTHERS"
            }
            Retcode::RetMissionEventConfigNotExist => {
                "RET_MISSION_EVENT_CONFIG_NOT_EXIST"
            }
            Retcode::RetMissionEventNotClient => "RET_MISSION_EVENT_NOT_CLIENT",
            Retcode::RetMissionEventFinished => "RET_MISSION_EVENT_FINISHED",
            Retcode::RetMissionEventDoing => "RET_MISSION_EVENT_DOING",
            Retcode::RetHasChallengeMissionEvent => "RET_HAS_CHALLENGE_MISSION_EVENT",
            Retcode::RetNotChallengeMissionEvent => "RET_NOT_CHALLENGE_MISSION_EVENT",
            Retcode::RetGachaIdNotExist => "RET_GACHA_ID_NOT_EXIST",
            Retcode::RetGachaNumInvalid => "RET_GACHA_NUM_INVALID",
            Retcode::RetGachaFirstGachaMustOne => "RET_GACHA_FIRST_GACHA_MUST_ONE",
            Retcode::RetGachaReqDuplicated => "RET_GACHA_REQ_DUPLICATED",
            Retcode::RetGachaNotInSchedule => "RET_GACHA_NOT_IN_SCHEDULE",
            Retcode::RetGachaNewbieClose => "RET_GACHA_NEWBIE_CLOSE",
            Retcode::RetGachaTodayLimited => "RET_GACHA_TODAY_LIMITED",
            Retcode::RetGachaNotSupport => "RET_GACHA_NOT_SUPPORT",
            Retcode::RetGachaCeilingNotEnough => "RET_GACHA_CEILING_NOT_ENOUGH",
            Retcode::RetGachaCeilingClose => "RET_GACHA_CEILING_CLOSE",
            Retcode::RetNotInRaid => "RET_NOT_IN_RAID",
            Retcode::RetRaidDoing => "RET_RAID_DOING",
            Retcode::RetNotProp => "RET_NOT_PROP",
            Retcode::RetRaidIdNotMatch => "RET_RAID_ID_NOT_MATCH",
            Retcode::RetRaidRestartNotMatch => "RET_RAID_RESTART_NOT_MATCH",
            Retcode::RetRaidLimit => "RET_RAID_LIMIT",
            Retcode::RetRaidAvatarListEmpty => "RET_RAID_AVATAR_LIST_EMPTY",
            Retcode::RetRaidAvatarNotExist => "RET_RAID_AVATAR_NOT_EXIST",
            Retcode::RetChallengeRaidRewardAlready => "RET_CHALLENGE_RAID_REWARD_ALREADY",
            Retcode::RetChallengeRaidScoreNotReach => {
                "RET_CHALLENGE_RAID_SCORE_NOT_REACH"
            }
            Retcode::RetChallengeRaidNotOpen => "RET_CHALLENGE_RAID_NOT_OPEN",
            Retcode::RetRaidFinished => "RET_RAID_FINISHED",
            Retcode::RetRaidWorldLevelNotLock => "RET_RAID_WORLD_LEVEL_NOT_LOCK",
            Retcode::RetRaidCannotUseAssist => "RET_RAID_CANNOT_USE_ASSIST",
            Retcode::RetRaidAvatarNotMatch => "RET_RAID_AVATAR_NOT_MATCH",
            Retcode::RetRaidCanNotSave => "RET_RAID_CAN_NOT_SAVE",
            Retcode::RetRaidNoSave => "RET_RAID_NO_SAVE",
            Retcode::RetActivityRaidNotOpen => "RET_ACTIVITY_RAID_NOT_OPEN",
            Retcode::RetRaidAvatarCaptainNotExist => "RET_RAID_AVATAR_CAPTAIN_NOT_EXIST",
            Retcode::RetRaidStoryLineNotMatch => "RET_RAID_STORY_LINE_NOT_MATCH",
            Retcode::RetTalkEventAlreadyTaken => "RET_TALK_EVENT_ALREADY_TAKEN",
            Retcode::RetNpcAlreadyMeet => "RET_NPC_ALREADY_MEET",
            Retcode::RetNpcNotInConfig => "RET_NPC_NOT_IN_CONFIG",
            Retcode::RetDialogueGroupDismatch => "RET_DIALOGUE_GROUP_DISMATCH",
            Retcode::RetDialogueEventInvalid => "RET_DIALOGUE_EVENT_INVALID",
            Retcode::RetTalkEventTakeProtoNotMatch => {
                "RET_TALK_EVENT_TAKE_PROTO_NOT_MATCH"
            }
            Retcode::RetTalkEventNotValid => "RET_TALK_EVENT_NOT_VALID",
            Retcode::RetExpeditionConfigNotExist => "RET_EXPEDITION_CONFIG_NOT_EXIST",
            Retcode::RetExpeditionRewardConfigNotExist => {
                "RET_EXPEDITION_REWARD_CONFIG_NOT_EXIST"
            }
            Retcode::RetExpeditionNotUnlocked => "RET_EXPEDITION_NOT_UNLOCKED",
            Retcode::RetExpeditionAlreadyAccepted => "RET_EXPEDITION_ALREADY_ACCEPTED",
            Retcode::RetExpeditionRepeatedAvatar => "RET_EXPEDITION_REPEATED_AVATAR",
            Retcode::RetAvatarAlreadyDispatched => "RET_AVATAR_ALREADY_DISPATCHED",
            Retcode::RetExpeditionNotAccepted => "RET_EXPEDITION_NOT_ACCEPTED",
            Retcode::RetExpeditionNotFinish => "RET_EXPEDITION_NOT_FINISH",
            Retcode::RetExpeditionAlreadyFinish => "RET_EXPEDITION_ALREADY_FINISH",
            Retcode::RetExpeditionTeamCountLimit => "RET_EXPEDITION_TEAM_COUNT_LIMIT",
            Retcode::RetExpeditionAvatarNumNotMatch => {
                "RET_EXPEDITION_AVATAR_NUM_NOT_MATCH"
            }
            Retcode::RetExpeditionNotOpen => "RET_EXPEDITION_NOT_OPEN",
            Retcode::RetExpeditionFriendAvatarNotValid => {
                "RET_EXPEDITION_FRIEND_AVATAR_NOT_VALID"
            }
            Retcode::RetExpeditionNotPublished => "RET_EXPEDITION_NOT_PUBLISHED",
            Retcode::RetLoginActivityHasTaken => "RET_LOGIN_ACTIVITY_HAS_TAKEN",
            Retcode::RetLoginActivityDaysLack => "RET_LOGIN_ACTIVITY_DAYS_LACK",
            Retcode::RetTrialActivityRewardAlreadyTake => {
                "RET_TRIAL_ACTIVITY_REWARD_ALREADY_TAKE"
            }
            Retcode::RetTrialActivityStageNotFinish => {
                "RET_TRIAL_ACTIVITY_STAGE_NOT_FINISH"
            }
            Retcode::RetMaterialSubmitActivityHasTaken => {
                "RET_MATERIAL_SUBMIT_ACTIVITY_HAS_TAKEN"
            }
            Retcode::RetMaterialSubmitActivityMaterialNotSubmitted => {
                "RET_MATERIAL_SUBMIT_ACTIVITY_MATERIAL_NOT_SUBMITTED"
            }
            Retcode::RetMaterialSubmitActivityMaterialAlreadySubmitted => {
                "RET_MATERIAL_SUBMIT_ACTIVITY_MATERIAL_ALREADY_SUBMITTED"
            }
            Retcode::RetFantasticStoryActivityStoryError => {
                "RET_FANTASTIC_STORY_ACTIVITY_STORY_ERROR"
            }
            Retcode::RetFantasticStoryActivityStoryNotOpen => {
                "RET_FANTASTIC_STORY_ACTIVITY_STORY_NOT_OPEN"
            }
            Retcode::RetFantasticStoryActivityBattleError => {
                "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_ERROR"
            }
            Retcode::RetFantasticStoryActivityBattleNotOpen => {
                "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_NOT_OPEN"
            }
            Retcode::RetFantasticStoryActivityBattleAvatarError => {
                "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_AVATAR_ERROR"
            }
            Retcode::RetFantasticStoryActivityBattleBuffError => {
                "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_BUFF_ERROR"
            }
            Retcode::RetFantasticStoryActivityPreBattleScoreNotEnough => {
                "RET_FANTASTIC_STORY_ACTIVITY_PRE_BATTLE_SCORE_NOT_ENOUGH"
            }
            Retcode::RetTrialActivityAlreadyInTrialActivity => {
                "RET_TRIAL_ACTIVITY_ALREADY_IN_TRIAL_ACTIVITY"
            }
            Retcode::RetCommonActivityNotOpen => "RET_COMMON_ACTIVITY_NOT_OPEN",
            Retcode::RetBenefitNotReady => "RET_BENEFIT_NOT_READY",
            Retcode::RetCommonActivityBusy => "RET_COMMON_ACTIVITY_BUSY",
            Retcode::RetMessageConfigNotExist => "RET_MESSAGE_CONFIG_NOT_EXIST",
            Retcode::RetMessageSectionNotTake => "RET_MESSAGE_SECTION_NOT_TAKE",
            Retcode::RetMessageGroupNotTake => "RET_MESSAGE_GROUP_NOT_TAKE",
            Retcode::RetMessageSectionIdNotMatch => "RET_MESSAGE_SECTION_ID_NOT_MATCH",
            Retcode::RetMessageSectionCanNotFinish => {
                "RET_MESSAGE_SECTION_CAN_NOT_FINISH"
            }
            Retcode::RetMessageItemCanNotFinish => "RET_MESSAGE_ITEM_CAN_NOT_FINISH",
            Retcode::RetMessageItemRaidCanNotFinish => {
                "RET_MESSAGE_ITEM_RAID_CAN_NOT_FINISH"
            }
            Retcode::RetFriendAlreadyIsFriend => "RET_FRIEND_ALREADY_IS_FRIEND",
            Retcode::RetFriendIsNotFriend => "RET_FRIEND_IS_NOT_FRIEND",
            Retcode::RetFriendApplyExpire => "RET_FRIEND_APPLY_EXPIRE",
            Retcode::RetFriendInBlacklist => "RET_FRIEND_IN_BLACKLIST",
            Retcode::RetFriendNotInBlacklist => "RET_FRIEND_NOT_IN_BLACKLIST",
            Retcode::RetFriendNumberLimit => "RET_FRIEND_NUMBER_LIMIT",
            Retcode::RetFriendBlacklistNumberLimit => "RET_FRIEND_BLACKLIST_NUMBER_LIMIT",
            Retcode::RetFriendDailyApplyLimit => "RET_FRIEND_DAILY_APPLY_LIMIT",
            Retcode::RetFriendInHandleLimit => "RET_FRIEND_IN_HANDLE_LIMIT",
            Retcode::RetFriendApplyInCd => "RET_FRIEND_APPLY_IN_CD",
            Retcode::RetFriendRemarkNameFormatError => {
                "RET_FRIEND_REMARK_NAME_FORMAT_ERROR"
            }
            Retcode::RetFriendPlayerNotFound => "RET_FRIEND_PLAYER_NOT_FOUND",
            Retcode::RetFriendInTargetBlacklist => "RET_FRIEND_IN_TARGET_BLACKLIST",
            Retcode::RetFriendTargetNumberLimit => "RET_FRIEND_TARGET_NUMBER_LIMIT",
            Retcode::RetAssistQueryTooFast => "RET_ASSIST_QUERY_TOO_FAST",
            Retcode::RetAssistNotExist => "RET_ASSIST_NOT_EXIST",
            Retcode::RetAssistUsedAlready => "RET_ASSIST_USED_ALREADY",
            Retcode::RetFriendReportReasonFormatError => {
                "RET_FRIEND_REPORT_REASON_FORMAT_ERROR"
            }
            Retcode::RetFriendReportSensitiveWords => "RET_FRIEND_REPORT_SENSITIVE_WORDS",
            Retcode::RetAssistUsedTimesOver => "RET_ASSIST_USED_TIMES_OVER",
            Retcode::RetAssistQuitAlready => "RET_ASSIST_QUIT_ALREADY",
            Retcode::RetAssistAvatarInLineup => "RET_ASSIST_AVATAR_IN_LINEUP",
            Retcode::RetAssistNoReward => "RET_ASSIST_NO_REWARD",
            Retcode::RetFriendSearchNumLimit => "RET_FRIEND_SEARCH_NUM_LIMIT",
            Retcode::RetFriendSearchInCd => "RET_FRIEND_SEARCH_IN_CD",
            Retcode::RetFriendRemarkNameUtf8Error => "RET_FRIEND_REMARK_NAME_UTF8_ERROR",
            Retcode::RetFriendReportReasonUtf8Error => {
                "RET_FRIEND_REPORT_REASON_UTF8_ERROR"
            }
            Retcode::RetAssistSetAlready => "RET_ASSIST_SET_ALREADY",
            Retcode::RetFriendTargetForbidOtherApply => {
                "RET_FRIEND_TARGET_FORBID_OTHER_APPLY"
            }
            Retcode::RetFriendMarkedCntMax => "RET_FRIEND_MARKED_CNT_MAX",
            Retcode::RetFriendMarkedAlready => "RET_FRIEND_MARKED_ALREADY",
            Retcode::RetFriendNotMarked => "RET_FRIEND_NOT_MARKED",
            Retcode::RetFriendChallengeLineupRecommendInCd => {
                "RET_FRIEND_CHALLENGE_LINEUP_RECOMMEND_IN_CD"
            }
            Retcode::RetViewPlayerCardInCd => "RET_VIEW_PLAYER_CARD_IN_CD",
            Retcode::RetViewPlayerBattleRecordInCd => {
                "RET_VIEW_PLAYER_BATTLE_RECORD_IN_CD"
            }
            Retcode::RetPlayerBoardHeadIconNotExist => {
                "RET_PLAYER_BOARD_HEAD_ICON_NOT_EXIST"
            }
            Retcode::RetPlayerBoardHeadIconLocked => "RET_PLAYER_BOARD_HEAD_ICON_LOCKED",
            Retcode::RetPlayerBoardHeadIconAlreadyUnlocked => {
                "RET_PLAYER_BOARD_HEAD_ICON_ALREADY_UNLOCKED"
            }
            Retcode::RetPlayerBoardDisplayAvatarNotExist => {
                "RET_PLAYER_BOARD_DISPLAY_AVATAR_NOT_EXIST"
            }
            Retcode::RetPlayerBoardDisplayAvatarExceedLimit => {
                "RET_PLAYER_BOARD_DISPLAY_AVATAR_EXCEED_LIMIT"
            }
            Retcode::RetPlayerBoardDisplayRepeatedAvatar => {
                "RET_PLAYER_BOARD_DISPLAY_REPEATED_AVATAR"
            }
            Retcode::RetPlayerBoardDisplayAvatarSamePos => {
                "RET_PLAYER_BOARD_DISPLAY_AVATAR_SAME_POS"
            }
            Retcode::RetPlayerBoardDisplayAvatarLocked => {
                "RET_PLAYER_BOARD_DISPLAY_AVATAR_LOCKED"
            }
            Retcode::RetSignatureLengthExceedLimit => "RET_SIGNATURE_LENGTH_EXCEED_LIMIT",
            Retcode::RetSignatureSensitiveWords => "RET_SIGNATURE_SENSITIVE_WORDS",
            Retcode::RetPlayerBoardAssistAvatarNotExist => {
                "RET_PLAYER_BOARD_ASSIST_AVATAR_NOT_EXIST"
            }
            Retcode::RetPlayerBoardAssistAvatarLocked => {
                "RET_PLAYER_BOARD_ASSIST_AVATAR_LOCKED"
            }
            Retcode::RetSignatureUtf8Error => "RET_SIGNATURE_UTF8_ERROR",
            Retcode::RetPlayerBoardAssistAvatarCntError => {
                "RET_PLAYER_BOARD_ASSIST_AVATAR_CNT_ERROR"
            }
            Retcode::RetBattlePassTierNotValid => "RET_BATTLE_PASS_TIER_NOT_VALID",
            Retcode::RetBattlePassLevelNotMeet => "RET_BATTLE_PASS_LEVEL_NOT_MEET",
            Retcode::RetBattlePassRewardTakeAlready => {
                "RET_BATTLE_PASS_REWARD_TAKE_ALREADY"
            }
            Retcode::RetBattlePassNotPremium => "RET_BATTLE_PASS_NOT_PREMIUM",
            Retcode::RetBattlePassNotDoing => "RET_BATTLE_PASS_NOT_DOING",
            Retcode::RetBattlePassLevelInvalid => "RET_BATTLE_PASS_LEVEL_INVALID",
            Retcode::RetBattlePassNotUnlock => "RET_BATTLE_PASS_NOT_UNLOCK",
            Retcode::RetBattlePassNoReward => "RET_BATTLE_PASS_NO_REWARD",
            Retcode::RetBattlePassQuestNotValid => "RET_BATTLE_PASS_QUEST_NOT_VALID",
            Retcode::RetBattlePassNotChooseOptional => {
                "RET_BATTLE_PASS_NOT_CHOOSE_OPTIONAL"
            }
            Retcode::RetBattlePassNotTakeReward => "RET_BATTLE_PASS_NOT_TAKE_REWARD",
            Retcode::RetBattlePassOptionalNotValid => {
                "RET_BATTLE_PASS_OPTIONAL_NOT_VALID"
            }
            Retcode::RetBattlePassBuyAlready => "RET_BATTLE_PASS_BUY_ALREADY",
            Retcode::RetBattlePassNearEnd => "RET_BATTLE_PASS_NEAR_END",
            Retcode::RetMusicLocked => "RET_MUSIC_LOCKED",
            Retcode::RetMusicNotExist => "RET_MUSIC_NOT_EXIST",
            Retcode::RetMusicUnlockFailed => "RET_MUSIC_UNLOCK_FAILED",
            Retcode::RetPunkLordLackSummonTimes => "RET_PUNK_LORD_LACK_SUMMON_TIMES",
            Retcode::RetPunkLordAttackingMonsterLimit => {
                "RET_PUNK_LORD_ATTACKING_MONSTER_LIMIT"
            }
            Retcode::RetPunkLordMonsterNotExist => "RET_PUNK_LORD_MONSTER_NOT_EXIST",
            Retcode::RetPunkLordMonsterAlreadyShared => {
                "RET_PUNK_LORD_MONSTER_ALREADY_SHARED"
            }
            Retcode::RetPunkLordMonsterExpired => "RET_PUNK_LORD_MONSTER_EXPIRED",
            Retcode::RetPunkLordSelfMonsterAttackLimit => {
                "RET_PUNK_LORD_SELF_MONSTER_ATTACK_LIMIT"
            }
            Retcode::RetPunkLordLackSupportTimes => "RET_PUNK_LORD_LACK_SUPPORT_TIMES",
            Retcode::RetPunkLordMonsterAlreadyKilled => {
                "RET_PUNK_LORD_MONSTER_ALREADY_KILLED"
            }
            Retcode::RetPunkLordMonsterAttackerLimit => {
                "RET_PUNK_LORD_MONSTER_ATTACKER_LIMIT"
            }
            Retcode::RetPunkLordWorldLevleNotValid => {
                "RET_PUNK_LORD_WORLD_LEVLE_NOT_VALID"
            }
            Retcode::RetPunkLordRewardLevleNotExist => {
                "RET_PUNK_LORD_REWARD_LEVLE_NOT_EXIST"
            }
            Retcode::RetPunkLordPointNotMeet => "RET_PUNK_LORD_POINT_NOT_MEET",
            Retcode::RetPunkLordInAttacking => "RET_PUNK_LORD_IN_ATTACKING",
            Retcode::RetPunkLordOperationInCd => "RET_PUNK_LORD_OPERATION_IN_CD",
            Retcode::RetPunkLordRewardAlreadyTaken => {
                "RET_PUNK_LORD_REWARD_ALREADY_TAKEN"
            }
            Retcode::RetPunkLordOverBonusRewardLimit => {
                "RET_PUNK_LORD_OVER_BONUS_REWARD_LIMIT"
            }
            Retcode::RetPunkLordNotInSchedule => "RET_PUNK_LORD_NOT_IN_SCHEDULE",
            Retcode::RetPunkLordMonsterNotAttacked => {
                "RET_PUNK_LORD_MONSTER_NOT_ATTACKED"
            }
            Retcode::RetPunkLordMonsterNotKilled => "RET_PUNK_LORD_MONSTER_NOT_KILLED",
            Retcode::RetPunkLordMonsterKilledScoreAlreadyTake => {
                "RET_PUNK_LORD_MONSTER_KILLED_SCORE_ALREADY_TAKE"
            }
            Retcode::RetPunkLordRewardLevleAlreadyTake => {
                "RET_PUNK_LORD_REWARD_LEVLE_ALREADY_TAKE"
            }
            Retcode::RetDailyActiveLevelInvalid => "RET_DAILY_ACTIVE_LEVEL_INVALID",
            Retcode::RetDailyActiveLevelRewardAlreadyTaken => {
                "RET_DAILY_ACTIVE_LEVEL_REWARD_ALREADY_TAKEN"
            }
            Retcode::RetDailyActiveLevelApNotEnough => {
                "RET_DAILY_ACTIVE_LEVEL_AP_NOT_ENOUGH"
            }
            Retcode::RetDailyMeetPam => "RET_DAILY_MEET_PAM",
            Retcode::RetReplayIdNotMatch => "RET_REPLAY_ID_NOT_MATCH",
            Retcode::RetReplayReqNotValid => "RET_REPLAY_REQ_NOT_VALID",
            Retcode::RetFightActivityDifficultyLevelNotPassed => {
                "RET_FIGHT_ACTIVITY_DIFFICULTY_LEVEL_NOT_PASSED"
            }
            Retcode::RetFightActivityDifficultyLevelRewardAlreadyTake => {
                "RET_FIGHT_ACTIVITY_DIFFICULTY_LEVEL_REWARD_ALREADY_TAKE"
            }
            Retcode::RetFightActivityStageNotOpen => "RET_FIGHT_ACTIVITY_STAGE_NOT_OPEN",
            Retcode::RetFightActivityLevelNotUnlock => {
                "RET_FIGHT_ACTIVITY_LEVEL_NOT_UNLOCK"
            }
            Retcode::RetTrainVisitorVisitorNotExist => {
                "RET_TRAIN_VISITOR_VISITOR_NOT_EXIST"
            }
            Retcode::RetTrainVisitorBehaviorNotExist => {
                "RET_TRAIN_VISITOR_BEHAVIOR_NOT_EXIST"
            }
            Retcode::RetTrainVisitorBehaviorFinished => {
                "RET_TRAIN_VISITOR_BEHAVIOR_FINISHED"
            }
            Retcode::RetTrainVisitorAllBehaviorRewardTaken => {
                "RET_TRAIN_VISITOR_ALL_BEHAVIOR_REWARD_TAKEN"
            }
            Retcode::RetTrainVisitorGetOnMissionNotFinish => {
                "RET_TRAIN_VISITOR_GET_ON_MISSION_NOT_FINISH"
            }
            Retcode::RetTrainVisitorNotGetOffOrBeTrainMember => {
                "RET_TRAIN_VISITOR_NOT_GET_OFF_OR_BE_TRAIN_MEMBER"
            }
            Retcode::RetTextJoinUnknowIsOverride => "RET_TEXT_JOIN_UNKNOW_IS_OVERRIDE",
            Retcode::RetTextJoinIdNotExist => "RET_TEXT_JOIN_ID_NOT_EXIST",
            Retcode::RetTextJoinCanNotOverride => "RET_TEXT_JOIN_CAN_NOT_OVERRIDE",
            Retcode::RetTextJoinItemIdError => "RET_TEXT_JOIN_ITEM_ID_ERROR",
            Retcode::RetTextJoinSensitiveCheckError => {
                "RET_TEXT_JOIN_SENSITIVE_CHECK_ERROR"
            }
            Retcode::RetTextJoinMustOverride => "RET_TEXT_JOIN_MUST_OVERRIDE",
            Retcode::RetTextJoinTextEmpty => "RET_TEXT_JOIN_TEXT_EMPTY",
            Retcode::RetTextJoinTextFormatError => "RET_TEXT_JOIN_TEXT_FORMAT_ERROR",
            Retcode::RetTextJoinTextUtf8Error => "RET_TEXT_JOIN_TEXT_UTF8_ERROR",
            Retcode::RetTextJoinBatchReqIdRepeat => "RET_TEXT_JOIN_BATCH_REQ_ID_REPEAT",
            Retcode::RetTextJoinTypeNotSupportBatchReq => {
                "RET_TEXT_JOIN_TYPE_NOT_SUPPORT_BATCH_REQ"
            }
            Retcode::RetTextJoinAvatarIdNotExist => "RET_TEXT_JOIN_AVATAR_ID_NOT_EXIST",
            Retcode::RetTextJoinUnknowType => "RET_TEXT_JOIN_UNKNOW_TYPE",
            Retcode::RetPamMissionMissionIdError => "RET_PAM_MISSION_MISSION_ID_ERROR",
            Retcode::RetPamMissionMissionExpire => "RET_PAM_MISSION_MISSION_EXPIRE",
            Retcode::RetChatTypeNotExist => "RET_CHAT_TYPE_NOT_EXIST",
            Retcode::RetMsgTypeNotExist => "RET_MSG_TYPE_NOT_EXIST",
            Retcode::RetChatNoTargetUid => "RET_CHAT_NO_TARGET_UID",
            Retcode::RetChatMsgEmpty => "RET_CHAT_MSG_EMPTY",
            Retcode::RetChatMsgExceedLimit => "RET_CHAT_MSG_EXCEED_LIMIT",
            Retcode::RetChatMsgSensitiveCheckError => {
                "RET_CHAT_MSG_SENSITIVE_CHECK_ERROR"
            }
            Retcode::RetChatMsgUtf8Error => "RET_CHAT_MSG_UTF8_ERROR",
            Retcode::RetChatForbidSwitchOpen => "RET_CHAT_FORBID_SWITCH_OPEN",
            Retcode::RetChatForbid => "RET_CHAT_FORBID",
            Retcode::RetChatMsgIncludeSpecialStr => "RET_CHAT_MSG_INCLUDE_SPECIAL_STR",
            Retcode::RetChatMsgEmojiNotExist => "RET_CHAT_MSG_EMOJI_NOT_EXIST",
            Retcode::RetChatMsgEmojiGenderNotMatch => {
                "RET_CHAT_MSG_EMOJI_GENDER_NOT_MATCH"
            }
            Retcode::RetChatMsgEmojiNotMarked => "RET_CHAT_MSG_EMOJI_NOT_MARKED",
            Retcode::RetChatMsgEmojiAlreadyMarked => "RET_CHAT_MSG_EMOJI_ALREADY_MARKED",
            Retcode::RetChatMsgEmojiMarkedMaxLimit => {
                "RET_CHAT_MSG_EMOJI_MARKED_MAX_LIMIT"
            }
            Retcode::RetBoxingClubChallengeNotOpen => {
                "RET_BOXING_CLUB_CHALLENGE_NOT_OPEN"
            }
            Retcode::RetMuseumNotOpen => "RET_MUSEUM_NOT_OPEN",
            Retcode::RetMuseumTurnCntNotMatch => "RET_MUSEUM_TURN_CNT_NOT_MATCH",
            Retcode::RetMuseumPhaseNotReach => "RET_MUSEUM_PHASE_NOT_REACH",
            Retcode::RetMuseumUnknowStuff => "RET_MUSEUM_UNKNOW_STUFF",
            Retcode::RetMuseumUnknowArea => "RET_MUSEUM_UNKNOW_AREA",
            Retcode::RetMuseumUnknowPos => "RET_MUSEUM_UNKNOW_POS",
            Retcode::RetMuseumStuffAlreadyInArea => "RET_MUSEUM_STUFF_ALREADY_IN_AREA",
            Retcode::RetMuseumStuffNotInArea => "RET_MUSEUM_STUFF_NOT_IN_AREA",
            Retcode::RetMuseumGetNpcRepeat => "RET_MUSEUM_GET_NPC_REPEAT",
            Retcode::RetMuseumGetNpcUnlock => "RET_MUSEUM_GET_NPC_UNLOCK",
            Retcode::RetMuseumGetNpcNotEnough => "RET_MUSEUM_GET_NPC_NOT_ENOUGH",
            Retcode::RetMuseumChangeStuffAreaError => {
                "RET_MUSEUM_CHANGE_STUFF_AREA_ERROR"
            }
            Retcode::RetMuseumNotInit => "RET_MUSEUM_NOT_INIT",
            Retcode::RetMuseumEventError => "RET_MUSEUM_EVENT_ERROR",
            Retcode::RetMuseumUnknowChooseEventId => "RET_MUSEUM_UNKNOW_CHOOSE_EVENT_ID",
            Retcode::RetMuseumEventOrderNotMatch => "RET_MUSEUM_EVENT_ORDER_NOT_MATCH",
            Retcode::RetMuseumEventPhaseNotUnlock => "RET_MUSEUM_EVENT_PHASE_NOT_UNLOCK",
            Retcode::RetMuseumEventMissionNotFound => {
                "RET_MUSEUM_EVENT_MISSION_NOT_FOUND"
            }
            Retcode::RetMuseumAreaLevelUpAlready => "RET_MUSEUM_AREA_LEVEL_UP_ALREADY",
            Retcode::RetMuseumStuffAlreadyUsed => "RET_MUSEUM_STUFF_ALREADY_USED",
            Retcode::RetMuseumEventRoundNotUnlock => "RET_MUSEUM_EVENT_ROUND_NOT_UNLOCK",
            Retcode::RetMuseumStuffInArea => "RET_MUSEUM_STUFF_IN_AREA",
            Retcode::RetMuseumStuffDispatch => "RET_MUSEUM_STUFF_DISPATCH",
            Retcode::RetMuseumIsEnd => "RET_MUSEUM_IS_END",
            Retcode::RetMuseumStuffLeaving => "RET_MUSEUM_STUFF_LEAVING",
            Retcode::RetMuseumEventMissionNotFinish => {
                "RET_MUSEUM_EVENT_MISSION_NOT_FINISH"
            }
            Retcode::RetMuseumCollectRewardNotExist => {
                "RET_MUSEUM_COLLECT_REWARD_NOT_EXIST"
            }
            Retcode::RetMuseumCollectRewardAlreadyTaken => {
                "RET_MUSEUM_COLLECT_REWARD_ALREADY_TAKEN"
            }
            Retcode::RetMuseumAcceptMissionMaxLimit => {
                "RET_MUSEUM_ACCEPT_MISSION_MAX_LIMIT"
            }
            Retcode::RetRogueChallengeNotOpen => "RET_ROGUE_CHALLENGE_NOT_OPEN",
            Retcode::RetRogueChallengeAssisRefreshLimit => {
                "RET_ROGUE_CHALLENGE_ASSIS_REFRESH_LIMIT"
            }
            Retcode::RetAlleyNotInit => "RET_ALLEY_NOT_INIT",
            Retcode::RetAlleyNotOpen => "RET_ALLEY_NOT_OPEN",
            Retcode::RetAlleyMapNotExist => "RET_ALLEY_MAP_NOT_EXIST",
            Retcode::RetAlleyEmptyPosList => "RET_ALLEY_EMPTY_POS_LIST",
            Retcode::RetAlleyLinePosInvalid => "RET_ALLEY_LINE_POS_INVALID",
            Retcode::RetAlleyShopNotUnlock => "RET_ALLEY_SHOP_NOT_UNLOCK",
            Retcode::RetAlleyDepotFull => "RET_ALLEY_DEPOT_FULL",
            Retcode::RetAlleyShopNotInclude => "RET_ALLEY_SHOP_NOT_INCLUDE",
            Retcode::RetAlleyEventNotUnlock => "RET_ALLEY_EVENT_NOT_UNLOCK",
            Retcode::RetAlleyEventNotRefresh => "RET_ALLEY_EVENT_NOT_REFRESH",
            Retcode::RetAlleyEventStateDoing => "RET_ALLEY_EVENT_STATE_DOING",
            Retcode::RetAlleyEventStateFinish => "RET_ALLEY_EVENT_STATE_FINISH",
            Retcode::RetAlleyEventError => "RET_ALLEY_EVENT_ERROR",
            Retcode::RetAlleyRewardLevelError => "RET_ALLEY_REWARD_LEVEL_ERROR",
            Retcode::RetAlleyRewardPrestigeNotEnough => {
                "RET_ALLEY_REWARD_PRESTIGE_NOT_ENOUGH"
            }
            Retcode::RetAlleyShipEmpty => "RET_ALLEY_SHIP_EMPTY",
            Retcode::RetAlleyShipIdDismatch => "RET_ALLEY_SHIP_ID_DISMATCH",
            Retcode::RetAlleyShipNotExist => "RET_ALLEY_SHIP_NOT_EXIST",
            Retcode::RetAlleyShipNotUnlock => "RET_ALLEY_SHIP_NOT_UNLOCK",
            Retcode::RetAlleyGoodsNotExist => "RET_ALLEY_GOODS_NOT_EXIST",
            Retcode::RetAlleyGoodsNotUnlock => "RET_ALLEY_GOODS_NOT_UNLOCK",
            Retcode::RetAlleyProfitNotPositive => "RET_ALLEY_PROFIT_NOT_POSITIVE",
            Retcode::RetAlleySpecialOrderDismatch => "RET_ALLEY_SPECIAL_ORDER_DISMATCH",
            Retcode::RetAlleyOrderGoodsOverLimit => "RET_ALLEY_ORDER_GOODS_OVER_LIMIT",
            Retcode::RetAlleySpecialOrderConditionNotMeet => {
                "RET_ALLEY_SPECIAL_ORDER_CONDITION_NOT_MEET"
            }
            Retcode::RetAlleyDepotSizeOverLimit => "RET_ALLEY_DEPOT_SIZE_OVER_LIMIT",
            Retcode::RetAlleyGoodsNotEnough => "RET_ALLEY_GOODS_NOT_ENOUGH",
            Retcode::RetAlleyOrderIndexInvalid => "RET_ALLEY_ORDER_INDEX_INVALID",
            Retcode::RetAlleyRewardAlreadyTake => "RET_ALLEY_REWARD_ALREADY_TAKE",
            Retcode::RetAlleyRewardNotExist => "RET_ALLEY_REWARD_NOT_EXIST",
            Retcode::RetAlleyMainMissionNotDoing => "RET_ALLEY_MAIN_MISSION_NOT_DOING",
            Retcode::RetAlleyCriticalEventNotFinish => {
                "RET_ALLEY_CRITICAL_EVENT_NOT_FINISH"
            }
            Retcode::RetAlleyShopGoodsNotValid => "RET_ALLEY_SHOP_GOODS_NOT_VALID",
            Retcode::RetAlleySlashNotOpen => "RET_ALLEY_SLASH_NOT_OPEN",
            Retcode::RetAlleyPlacingAnchorInvalid => "RET_ALLEY_PLACING_ANCHOR_INVALID",
            Retcode::RetAlleyPlacingGoodsIndexInvalid => {
                "RET_ALLEY_PLACING_GOODS_INDEX_INVALID"
            }
            Retcode::RetAlleySaveMapTooQuick => "RET_ALLEY_SAVE_MAP_TOO_QUICK",
            Retcode::RetAlleyMapNotLink => "RET_ALLEY_MAP_NOT_LINK",
            Retcode::RetAlleyFundsNotLowerBase => "RET_ALLEY_FUNDS_NOT_LOWER_BASE",
            Retcode::RetAlleyEventNotFinish => "RET_ALLEY_EVENT_NOT_FINISH",
            Retcode::RetAlleyNormalOrderNotMeet => "RET_ALLEY_NORMAL_ORDER_NOT_MEET",
            Retcode::RetPlayerReturnNotOpen => "RET_PLAYER_RETURN_NOT_OPEN",
            Retcode::RetPlayerReturnIsSigned => "RET_PLAYER_RETURN_IS_SIGNED",
            Retcode::RetPlayerReturnPointNotEnough => {
                "RET_PLAYER_RETURN_POINT_NOT_ENOUGH"
            }
            Retcode::RetPlayerReturnConditionInvalid => {
                "RET_PLAYER_RETURN_CONDITION_INVALID"
            }
            Retcode::RetPlayerReturnHasSigned => "RET_PLAYER_RETURN_HAS_SIGNED",
            Retcode::RetPlayerReturnRewardTaken => "RET_PLAYER_RETURN_REWARD_TAKEN",
            Retcode::RetAetherDivideNoLineup => "RET_AETHER_DIVIDE_NO_LINEUP",
            Retcode::RetAetherDivideLineupInvalid => "RET_AETHER_DIVIDE_LINEUP_INVALID",
            Retcode::RetChatBubbleIdError => "RET_CHAT_BUBBLE_ID_ERROR",
            Retcode::RetChatBubbleIdNotUnlock => "RET_CHAT_BUBBLE_ID_NOT_UNLOCK",
            Retcode::RetPhoneThemeIdError => "RET_PHONE_THEME_ID_ERROR",
            Retcode::RetPhoneThemeIdNotUnlock => "RET_PHONE_THEME_ID_NOT_UNLOCK",
            Retcode::RetChatBubbleSelectIsCurrent => "RET_CHAT_BUBBLE_SELECT_IS_CURRENT",
            Retcode::RetPhoneThemeSelectIsCurrent => "RET_PHONE_THEME_SELECT_IS_CURRENT",
            Retcode::RetChessRogueConfigNotFound => "RET_CHESS_ROGUE_CONFIG_NOT_FOUND",
            Retcode::RetChessRogueConfigInvalid => "RET_CHESS_ROGUE_CONFIG_INVALID",
            Retcode::RetChessRogueNoValidRoom => "RET_CHESS_ROGUE_NO_VALID_ROOM",
            Retcode::RetChessRogueNoCellInfo => "RET_CHESS_ROGUE_NO_CELL_INFO",
            Retcode::RetChessRogueCellNotFinish => "RET_CHESS_ROGUE_CELL_NOT_FINISH",
            Retcode::RetChessRogueCellIsLocked => "RET_CHESS_ROGUE_CELL_IS_LOCKED",
            Retcode::RetChessRogueScheduleNotMatch => {
                "RET_CHESS_ROGUE_SCHEDULE_NOT_MATCH"
            }
            Retcode::RetChessRogueStatusFail => "RET_CHESS_ROGUE_STATUS_FAIL",
            Retcode::RetChessRogueAreaNotExist => "RET_CHESS_ROGUE_AREA_NOT_EXIST",
            Retcode::RetChessRogueLineupFail => "RET_CHESS_ROGUE_LINEUP_FAIL",
            Retcode::RetChessRogueAeonFail => "RET_CHESS_ROGUE_AEON_FAIL",
            Retcode::RetChessRogueEnterCellFail => "RET_CHESS_ROGUE_ENTER_CELL_FAIL",
            Retcode::RetChessRogueRollDiceFail => "RET_CHESS_ROGUE_ROLL_DICE_FAIL",
            Retcode::RetChessRogueDiceStatusFail => "RET_CHESS_ROGUE_DICE_STATUS_FAIL",
            Retcode::RetChessRogueDiceCntNotFull => "RET_CHESS_ROGUE_DICE_CNT_NOT_FULL",
            Retcode::RetChessRogueUnlock => "RET_CHESS_ROGUE_UNLOCK",
            Retcode::RetChessRoguePickAvatarFail => "RET_CHESS_ROGUE_PICK_AVATAR_FAIL",
            Retcode::RetChessRogueAvatarInvalid => "RET_CHESS_ROGUE_AVATAR_INVALID",
            Retcode::RetChessRogueCellCanNotSelect => {
                "RET_CHESS_ROGUE_CELL_CAN_NOT_SELECT"
            }
            Retcode::RetChessRogueDiceConfirmed => "RET_CHESS_ROGUE_DICE_CONFIRMED",
            Retcode::RetChessRogueNousDiceNotMatch => {
                "RET_CHESS_ROGUE_NOUS_DICE_NOT_MATCH"
            }
            Retcode::RetChessRogueNousDiceRarityFail => {
                "RET_CHESS_ROGUE_NOUS_DICE_RARITY_FAIL"
            }
            Retcode::RetChessRogueNousDiceSurfaceDuplicate => {
                "RET_CHESS_ROGUE_NOUS_DICE_SURFACE_DUPLICATE"
            }
            Retcode::RetChessRogueNotInRogue => "RET_CHESS_ROGUE_NOT_IN_ROGUE",
            Retcode::RetChessRogueNousDiceBranchLimit => {
                "RET_CHESS_ROGUE_NOUS_DICE_BRANCH_LIMIT"
            }
            Retcode::RetHeliobusNotOpen => "RET_HELIOBUS_NOT_OPEN",
            Retcode::RetHeliobusSnsPostNotUnlock => "RET_HELIOBUS_SNS_POST_NOT_UNLOCK",
            Retcode::RetHeliobusSnsAlreadyRead => "RET_HELIOBUS_SNS_ALREADY_READ",
            Retcode::RetHeliobusSnsAlreadyLiked => "RET_HELIOBUS_SNS_ALREADY_LIKED",
            Retcode::RetHeliobusSnsAlreadyCommented => {
                "RET_HELIOBUS_SNS_ALREADY_COMMENTED"
            }
            Retcode::RetHeliobusSnsInMission => "RET_HELIOBUS_SNS_IN_MISSION",
            Retcode::RetHeliobusSnsAlreadyPosted => "RET_HELIOBUS_SNS_ALREADY_POSTED",
            Retcode::RetHeliobusSnsNotDoingMission => {
                "RET_HELIOBUS_SNS_NOT_DOING_MISSION"
            }
            Retcode::RetHeliobusRewardLevelMax => "RET_HELIOBUS_REWARD_LEVEL_MAX",
            Retcode::RetHeliobusIncomeNotEnough => "RET_HELIOBUS_INCOME_NOT_ENOUGH",
            Retcode::RetHeliobusSnsCommentNotUnlock => {
                "RET_HELIOBUS_SNS_COMMENT_NOT_UNLOCK"
            }
            Retcode::RetHeliobusChallengeNotUnlock => "RET_HELIOBUS_CHALLENGE_NOT_UNLOCK",
            Retcode::RetHeliobusChallengeIdError => "RET_HELIOBUS_CHALLENGE_ID_ERROR",
            Retcode::RetHeliobusSkillNotUnlock => "RET_HELIOBUS_SKILL_NOT_UNLOCK",
            Retcode::RetHeliobusAcceptPostMissionFail => {
                "RET_HELIOBUS_ACCEPT_POST_MISSION_FAIL"
            }
            Retcode::RetHeliobusSkillNotSelected => "RET_HELIOBUS_SKILL_NOT_SELECTED",
            Retcode::RetHeliobusPlaneTypeInvalid => "RET_HELIOBUS_PLANE_TYPE_INVALID",
            Retcode::RetReddotParamInvalid => "RET_REDDOT_PARAM_INVALID",
            Retcode::RetReddotActivityNotOpen => "RET_REDDOT_ACTIVITY_NOT_OPEN",
            Retcode::RetRogueEndlessActivityConfigError => {
                "RET_ROGUE_ENDLESS_ACTIVITY_CONFIG_ERROR"
            }
            Retcode::RetRogueEndlessActivityNotOpen => {
                "RET_ROGUE_ENDLESS_ACTIVITY_NOT_OPEN"
            }
            Retcode::RetRogueEndlessActivityOverBonusRewardLimit => {
                "RET_ROGUE_ENDLESS_ACTIVITY_OVER_BONUS_REWARD_LIMIT"
            }
            Retcode::RetRogueEndlessActivityScoreNotMeet => {
                "RET_ROGUE_ENDLESS_ACTIVITY_SCORE_NOT_MEET"
            }
            Retcode::RetRogueEndlessActivityRewardLevleAlreadyTake => {
                "RET_ROGUE_ENDLESS_ACTIVITY_REWARD_LEVLE_ALREADY_TAKE"
            }
            Retcode::RetHeartDialScriptNotFound => "RET_HEART_DIAL_SCRIPT_NOT_FOUND",
            Retcode::RetHeartDialScriptEmotionTheSame => {
                "RET_HEART_DIAL_SCRIPT_EMOTION_THE_SAME"
            }
            Retcode::RetHeartDialScriptStepNotNormal => {
                "RET_HEART_DIAL_SCRIPT_STEP_NOT_NORMAL"
            }
            Retcode::RetHeartDialScriptConditionNotMatch => {
                "RET_HEART_DIAL_SCRIPT_CONDITION_NOT_MATCH"
            }
            Retcode::RetHeartDialScriptSubmitItemNumNotMatch => {
                "RET_HEART_DIAL_SCRIPT_SUBMIT_ITEM_NUM_NOT_MATCH"
            }
            Retcode::RetHeartDialScriptSubmitItemIdNotMatch => {
                "RET_HEART_DIAL_SCRIPT_SUBMIT_ITEM_ID_NOT_MATCH"
            }
            Retcode::RetHeartDialDialogueNotFound => "RET_HEART_DIAL_DIALOGUE_NOT_FOUND",
            Retcode::RetHeartDialDialogueAlreadyPerformed => {
                "RET_HEART_DIAL_DIALOGUE_ALREADY_PERFORMED"
            }
            Retcode::RetHeartDialNpcNotFound => "RET_HEART_DIAL_NPC_NOT_FOUND",
            Retcode::RetHeartDialTraceConfigNotFound => {
                "RET_HEART_DIAL_TRACE_CONFIG_NOT_FOUND"
            }
            Retcode::RetHeartDialFloorTraceExist => "RET_HEART_DIAL_FLOOR_TRACE_EXIST",
            Retcode::RetHeartDialTraceFloorNotMatch => {
                "RET_HEART_DIAL_TRACE_FLOOR_NOT_MATCH"
            }
            Retcode::RetTravelBrochureConfigError => "RET_TRAVEL_BROCHURE_CONFIG_ERROR",
            Retcode::RetTravelBrochureParamInvalid => "RET_TRAVEL_BROCHURE_PARAM_INVALID",
            Retcode::RetTravelBrochureLocked => "RET_TRAVEL_BROCHURE_LOCKED",
            Retcode::RetTravelBrochureCannotOperate => {
                "RET_TRAVEL_BROCHURE_CANNOT_OPERATE"
            }
            Retcode::RetTravelBrochureWorldIdNotMatch => {
                "RET_TRAVEL_BROCHURE_WORLD_ID_NOT_MATCH"
            }
            Retcode::RetTravelBrochureHasNoWorldBook => {
                "RET_TRAVEL_BROCHURE_HAS_NO_WORLD_BOOK"
            }
            Retcode::RetTravelBrochurePageFull => "RET_TRAVEL_BROCHURE_PAGE_FULL",
            Retcode::RetMapRotationNotInRegion => "RET_MAP_ROTATION_NOT_IN_REGION",
            Retcode::RetMapRotationRotaterAlreadyDeployed => {
                "RET_MAP_ROTATION_ROTATER_ALREADY_DEPLOYED"
            }
            Retcode::RetMapRotationEnergyNotEnough => {
                "RET_MAP_ROTATION_ENERGY_NOT_ENOUGH"
            }
            Retcode::RetMapRotationEntityNotOnCurPose => {
                "RET_MAP_ROTATION_ENTITY_NOT_ON_CUR_POSE"
            }
            Retcode::RetMapRotationRotaterNotDeployed => {
                "RET_MAP_ROTATION_ROTATER_NOT_DEPLOYED"
            }
            Retcode::RetMapRotationPoseRotaterMismatch => {
                "RET_MAP_ROTATION_POSE_ROTATER_MISMATCH"
            }
            Retcode::RetMapRotationRotaterNotRemovable => {
                "RET_MAP_ROTATION_ROTATER_NOT_REMOVABLE"
            }
            Retcode::RetMapRotationRotaterDisposable => {
                "RET_MAP_ROTATION_ROTATER_DISPOSABLE"
            }
            Retcode::RetSpaceZooActivityCatNotFound => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_NOT_FOUND"
            }
            Retcode::RetSpaceZooActivityCatParamInvalid => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_PARAM_INVALID"
            }
            Retcode::RetSpaceZooActivityCatItemNotEnough => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_ITEM_NOT_ENOUGH"
            }
            Retcode::RetSpaceZooActivityCatBagFull => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_BAG_FULL"
            }
            Retcode::RetSpaceZooActivityCatNotToMutate => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_NOT_TO_MUTATE"
            }
            Retcode::RetSpaceZooActivityCatStateError => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_STATE_ERROR"
            }
            Retcode::RetSpaceZooActivityCatCatteryLocked => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_CATTERY_LOCKED"
            }
            Retcode::RetSpaceZooActivityCatOutNow => "RET_SPACE_ZOO_ACTIVITY_CAT_OUT_NOW",
            Retcode::RetSpaceZooActivityCatConfigNotFound => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_CONFIG_NOT_FOUND"
            }
            Retcode::RetSpaceZooActivityCatFeatureNotFound => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_FEATURE_NOT_FOUND"
            }
            Retcode::RetSpaceZooActivityCatAddCatError => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_ADD_CAT_ERROR"
            }
            Retcode::RetSpaceZooActivityCatMoneyNotEnough => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_MONEY_NOT_ENOUGH"
            }
            Retcode::RetSpaceZooActivityCatCondNotMatch => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_COND_NOT_MATCH"
            }
            Retcode::RetStrongChallengeActivityStageCfgMiss => {
                "RET_STRONG_CHALLENGE_ACTIVITY_STAGE_CFG_MISS"
            }
            Retcode::RetStrongChallengeActivityStageNotOpen => {
                "RET_STRONG_CHALLENGE_ACTIVITY_STAGE_NOT_OPEN"
            }
            Retcode::RetStrongChallengeActivityBuffError => {
                "RET_STRONG_CHALLENGE_ACTIVITY_BUFF_ERROR"
            }
            Retcode::RetRollShopNotFound => "RET_ROLL_SHOP_NOT_FOUND",
            Retcode::RetRollShopGroupEmpty => "RET_ROLL_SHOP_GROUP_EMPTY",
            Retcode::RetRollShopEmpty => "RET_ROLL_SHOP_EMPTY",
            Retcode::RetRollShopGachaReqDuplicated => {
                "RET_ROLL_SHOP_GACHA_REQ_DUPLICATED"
            }
            Retcode::RetRollShopRandomError => "RET_ROLL_SHOP_RANDOM_ERROR",
            Retcode::RetRollShopGroupTypeNotFound => "RET_ROLL_SHOP_GROUP_TYPE_NOT_FOUND",
            Retcode::RetRollShopHasStoredRewardAlready => {
                "RET_ROLL_SHOP_HAS_STORED_REWARD_ALREADY"
            }
            Retcode::RetRollShopNoStoredReward => "RET_ROLL_SHOP_NO_STORED_REWARD",
            Retcode::RetRollShopNotInValidScene => "RET_ROLL_SHOP_NOT_IN_VALID_SCENE",
            Retcode::RetRollShopInvalidRollShopType => {
                "RET_ROLL_SHOP_INVALID_ROLL_SHOP_TYPE"
            }
            Retcode::RetActivityRaidCollectionPrevNotFinish => {
                "RET_ACTIVITY_RAID_COLLECTION_PREV_NOT_FINISH"
            }
            Retcode::RetActivityRaidCollectionGroupEnterNextUnavailable => {
                "RET_ACTIVITY_RAID_COLLECTION_GROUP_ENTER_NEXT_UNAVAILABLE"
            }
            Retcode::RetActivityRaidCollectionIsLast => {
                "RET_ACTIVITY_RAID_COLLECTION_IS_LAST"
            }
            Retcode::RetActivityRaidCollectionIsNotNext => {
                "RET_ACTIVITY_RAID_COLLECTION_IS_NOT_NEXT"
            }
            Retcode::RetOfferingNotUnlock => "RET_OFFERING_NOT_UNLOCK",
            Retcode::RetOfferingLevelNotUnlock => "RET_OFFERING_LEVEL_NOT_UNLOCK",
            Retcode::RetOfferingReachMaxLevel => "RET_OFFERING_REACH_MAX_LEVEL",
            Retcode::RetOfferingItemNotEnough => "RET_OFFERING_ITEM_NOT_ENOUGH",
            Retcode::RetOfferingLongtailNotOpen => "RET_OFFERING_LONGTAIL_NOT_OPEN",
            Retcode::RetOfferingRewardCondition => "RET_OFFERING_REWARD_CONDITION",
            Retcode::RetDrinkMakerChatInvalid => "RET_DRINK_MAKER_CHAT_INVALID",
            Retcode::RetDrinkMakerParamInvalid => "RET_DRINK_MAKER_PARAM_INVALID",
            Retcode::RetDrinkMakerParamNotUnlock => "RET_DRINK_MAKER_PARAM_NOT_UNLOCK",
            Retcode::RetDrinkMakerConfigNotFound => "RET_DRINK_MAKER_CONFIG_NOT_FOUND",
            Retcode::RetDrinkMakerNotLastChat => "RET_DRINK_MAKER_NOT_LAST_CHAT",
            Retcode::RetDrinkMakerDayAndFreePhaseNotOpen => {
                "RET_DRINK_MAKER_DAY_AND_FREE_PHASE_NOT_OPEN"
            }
            Retcode::RetMonopolyNotOpen => "RET_MONOPOLY_NOT_OPEN",
            Retcode::RetMonopolyConfigError => "RET_MONOPOLY_CONFIG_ERROR",
            Retcode::RetMonopolyDiceNotEnough => "RET_MONOPOLY_DICE_NOT_ENOUGH",
            Retcode::RetMonopolyCurCellNotFinish => "RET_MONOPOLY_CUR_CELL_NOT_FINISH",
            Retcode::RetMonopolyCoinNotEnough => "RET_MONOPOLY_COIN_NOT_ENOUGH",
            Retcode::RetMonopolyCellWaitPending => "RET_MONOPOLY_CELL_WAIT_PENDING",
            Retcode::RetMonopolyCellStateError => "RET_MONOPOLY_CELL_STATE_ERROR",
            Retcode::RetMonopolyCellContentError => "RET_MONOPOLY_CELL_CONTENT_ERROR",
            Retcode::RetMonopolyItemNotEnough => "RET_MONOPOLY_ITEM_NOT_ENOUGH",
            Retcode::RetMonopolyCellContentCannotGiveup => {
                "RET_MONOPOLY_CELL_CONTENT_CANNOT_GIVEUP"
            }
            Retcode::RetMonopolyAssetLevelInvalid => "RET_MONOPOLY_ASSET_LEVEL_INVALID",
            Retcode::RetMonopolyTurnNotFinish => "RET_MONOPOLY_TURN_NOT_FINISH",
            Retcode::RetMonopolyGuideNotFinish => "RET_MONOPOLY_GUIDE_NOT_FINISH",
            Retcode::RetMonopolyRaffleRewardReissued => {
                "RET_MONOPOLY_RAFFLE_REWARD_REISSUED"
            }
            Retcode::RetMonopolyNoGameActive => "RET_MONOPOLY_NO_GAME_ACTIVE",
            Retcode::RetMonopolyGameRatioNotIncreasable => {
                "RET_MONOPOLY_GAME_RATIO_NOT_INCREASABLE"
            }
            Retcode::RetMonopolyGameRatioMax => "RET_MONOPOLY_GAME_RATIO_MAX",
            Retcode::RetMonopolyGameTargetRatioInvalid => {
                "RET_MONOPOLY_GAME_TARGET_RATIO_INVALID"
            }
            Retcode::RetMonopolyGameBingoFlipPosInvalid => {
                "RET_MONOPOLY_GAME_BINGO_FLIP_POS_INVALID"
            }
            Retcode::RetMonopolyGameGuessAlreadyChoose => {
                "RET_MONOPOLY_GAME_GUESS_ALREADY_CHOOSE"
            }
            Retcode::RetMonopolyGameGuessChooseInvalid => {
                "RET_MONOPOLY_GAME_GUESS_CHOOSE_INVALID"
            }
            Retcode::RetMonopolyGameGuessInformationAlreadyBought => {
                "RET_MONOPOLY_GAME_GUESS_INFORMATION_ALREADY_BOUGHT"
            }
            Retcode::RetMonopolyGameRaiseRatioNotUnlock => {
                "RET_MONOPOLY_GAME_RAISE_RATIO_NOT_UNLOCK"
            }
            Retcode::RetMonopolyFriendNotSynced => "RET_MONOPOLY_FRIEND_NOT_SYNCED",
            Retcode::RetMonopolyGetFriendRankingListInCd => {
                "RET_MONOPOLY_GET_FRIEND_RANKING_LIST_IN_CD"
            }
            Retcode::RetMonopolyLikeTargetNotFriend => {
                "RET_MONOPOLY_LIKE_TARGET_NOT_FRIEND"
            }
            Retcode::RetMonopolyDailyAlreadyLiked => "RET_MONOPOLY_DAILY_ALREADY_LIKED",
            Retcode::RetMonopolySocialEventStatusNotMatch => {
                "RET_MONOPOLY_SOCIAL_EVENT_STATUS_NOT_MATCH"
            }
            Retcode::RetMonopolySocialEventServerCacheNotExist => {
                "RET_MONOPOLY_SOCIAL_EVENT_SERVER_CACHE_NOT_EXIST"
            }
            Retcode::RetMonopolyActivityIdNotMatch => {
                "RET_MONOPOLY_ACTIVITY_ID_NOT_MATCH"
            }
            Retcode::RetMonopolyRafflePoolNotExist => {
                "RET_MONOPOLY_RAFFLE_POOL_NOT_EXIST"
            }
            Retcode::RetMonopolyRafflePoolTimeNotMatch => {
                "RET_MONOPOLY_RAFFLE_POOL_TIME_NOT_MATCH"
            }
            Retcode::RetMonopolyRafflePoolPhaseNotMeet => {
                "RET_MONOPOLY_RAFFLE_POOL_PHASE_NOT_MEET"
            }
            Retcode::RetMonopolyRafflePoolShowTimeNotMeet => {
                "RET_MONOPOLY_RAFFLE_POOL_SHOW_TIME_NOT_MEET"
            }
            Retcode::RetMonopolyRaffleTicketNotFound => {
                "RET_MONOPOLY_RAFFLE_TICKET_NOT_FOUND"
            }
            Retcode::RetMonopolyRaffleTicketTimeNotMeet => {
                "RET_MONOPOLY_RAFFLE_TICKET_TIME_NOT_MEET"
            }
            Retcode::RetMonopolyRaffleTicketRewardAlreadyTaken => {
                "RET_MONOPOLY_RAFFLE_TICKET_REWARD_ALREADY_TAKEN"
            }
            Retcode::RetMonopolyRafflePoolNotInRaffleTime => {
                "RET_MONOPOLY_RAFFLE_POOL_NOT_IN_RAFFLE_TIME"
            }
            Retcode::RetMonopolyMbtiReportRewardAlreadyTaken => {
                "RET_MONOPOLY_MBTI_REPORT_REWARD_ALREADY_TAKEN"
            }
            Retcode::RetEvolveBuildLevelGaming => "RET_EVOLVE_BUILD_LEVEL_GAMING",
            Retcode::RetEveolveBuildLevelBanRandom => {
                "RET_EVEOLVE_BUILD_LEVEL_BAN_RANDOM"
            }
            Retcode::RetEvolveBuildFirstRewardAlreadyTaken => {
                "RET_EVOLVE_BUILD_FIRST_REWARD_ALREADY_TAKEN"
            }
            Retcode::RetEvolveBuildLevelUnfinish => "RET_EVOLVE_BUILD_LEVEL_UNFINISH",
            Retcode::RetEvolveBuildShopAbilityMaxLevel => {
                "RET_EVOLVE_BUILD_SHOP_ABILITY_MAX_LEVEL"
            }
            Retcode::RetEvolveBuildShopAbilityMinLevel => {
                "RET_EVOLVE_BUILD_SHOP_ABILITY_MIN_LEVEL"
            }
            Retcode::RetEvolveBuildShopAbilityNotGet => {
                "RET_EVOLVE_BUILD_SHOP_ABILITY_NOT_GET"
            }
            Retcode::RetEvolveBuildLevelLock => "RET_EVOLVE_BUILD_LEVEL_LOCK",
            Retcode::RetEvolveBuildExpNotEnough => "RET_EVOLVE_BUILD_EXP_NOT_ENOUGH",
            Retcode::RetEvolveBuildShopAbilityLevelError => {
                "RET_EVOLVE_BUILD_SHOP_ABILITY_LEVEL_ERROR"
            }
            Retcode::RetEvolveBuildActivityNotOpen => {
                "RET_EVOLVE_BUILD_ACTIVITY_NOT_OPEN"
            }
            Retcode::RetEvolveBuildShopAbilityEmpty => {
                "RET_EVOLVE_BUILD_SHOP_ABILITY_EMPTY"
            }
            Retcode::RetEvolveBuildLevelNotStart => "RET_EVOLVE_BUILD_LEVEL_NOT_START",
            Retcode::RetEvolveBuildShopLock => "RET_EVOLVE_BUILD_SHOP_LOCK",
            Retcode::RetEvolveBuildRewardLock => "RET_EVOLVE_BUILD_REWARD_LOCK",
            Retcode::RetEvolveBuildRewardLevelMax => "RET_EVOLVE_BUILD_REWARD_LEVEL_MAX",
            Retcode::RetEvolveBuildRewardAlreadyAllTaken => {
                "RET_EVOLVE_BUILD_REWARD_ALREADY_ALL_TAKEN"
            }
            Retcode::RetClockParkConfigError => "RET_CLOCK_PARK_CONFIG_ERROR",
            Retcode::RetClockParkEffectError => "RET_CLOCK_PARK_EFFECT_ERROR",
            Retcode::RetClockParkScriptAlreadyUnlock => {
                "RET_CLOCK_PARK_SCRIPT_ALREADY_UNLOCK"
            }
            Retcode::RetClockParkScriptUnlockConditionNotMeet => {
                "RET_CLOCK_PARK_SCRIPT_UNLOCK_CONDITION_NOT_MEET"
            }
            Retcode::RetClockParkTalentAlreadyUnlock => {
                "RET_CLOCK_PARK_TALENT_ALREADY_UNLOCK"
            }
            Retcode::RetClockParkScriptLocked => "RET_CLOCK_PARK_SCRIPT_LOCKED",
            Retcode::RetClockParkHasOngoingScript => "RET_CLOCK_PARK_HAS_ONGOING_SCRIPT",
            Retcode::RetClockParkNoOngoingScript => "RET_CLOCK_PARK_NO_ONGOING_SCRIPT",
            Retcode::RetClockParkDicePlacementError => {
                "RET_CLOCK_PARK_DICE_PLACEMENT_ERROR"
            }
            Retcode::RetClockParkMismatchStatus => "RET_CLOCK_PARK_MISMATCH_STATUS",
            Retcode::RetClockParkNoBuff => "RET_CLOCK_PARK_NO_BUFF",
            Retcode::RetClockParkSlotMachineGachaReqDuplicated => {
                "RET_CLOCK_PARK_SLOT_MACHINE_GACHA_REQ_DUPLICATED"
            }
            Retcode::RetClockParkSlotMachineCostNotEnough => {
                "RET_CLOCK_PARK_SLOT_MACHINE_COST_NOT_ENOUGH"
            }
            Retcode::RetClockParkSlotMachineGachaCntExceedLimit => {
                "RET_CLOCK_PARK_SLOT_MACHINE_GACHA_CNT_EXCEED_LIMIT"
            }
            Retcode::RetClockParkNotOpen => "RET_CLOCK_PARK_NOT_OPEN",
            Retcode::RetTournRogueStatusMismatch => "RET_TOURN_ROGUE_STATUS_MISMATCH",
            Retcode::RetMagicRogueStatusMismatch => "RET_MAGIC_ROGUE_STATUS_MISMATCH",
            Retcode::RetAutoMountMagicUnitNoMatchedMagicScepter => {
                "RET_AUTO_MOUNT_MAGIC_UNIT_NO_MATCHED_MAGIC_SCEPTER"
            }
            Retcode::RetMagicUnitWorkbenchReforgeGenFail => {
                "RET_MAGIC_UNIT_WORKBENCH_REFORGE_GEN_FAIL"
            }
            Retcode::RetMatchAlreadyInMatch => "RET_MATCH_ALREADY_IN_MATCH",
            Retcode::RetMatchNotInMatch => "RET_MATCH_NOT_IN_MATCH",
            Retcode::RetMatchPlayNotOpen => "RET_MATCH_PLAY_NOT_OPEN",
            Retcode::RetCrossStateError => "RET_CROSS_STATE_ERROR",
            Retcode::RetMatchVersionNotEqual => "RET_MATCH_VERSION_NOT_EQUAL",
            Retcode::RetMatchPlayerNotInLobbyRoom => "RET_MATCH_PLAYER_NOT_IN_LOBBY_ROOM",
            Retcode::RetLobbyStateNotMatch => "RET_LOBBY_STATE_NOT_MATCH",
            Retcode::RetLobbyRoomNotExist => "RET_LOBBY_ROOM_NOT_EXIST",
            Retcode::RetLobbyRoomPalyerFull => "RET_LOBBY_ROOM_PALYER_FULL",
            Retcode::RetLobbyRoomPalyerNotReady => "RET_LOBBY_ROOM_PALYER_NOT_READY",
            Retcode::RetLobbyRoomPalyerFighting => "RET_LOBBY_ROOM_PALYER_FIGHTING",
            Retcode::RetFightRoomNotExist => "RET_FIGHT_ROOM_NOT_EXIST",
            Retcode::RetFightMatch3PlayerStateErr => "RET_FIGHT_MATCH3_PLAYER_STATE_ERR",
            Retcode::RetFightMatch3RoomStateErr => "RET_FIGHT_MATCH3_ROOM_STATE_ERR",
            Retcode::RetCrossStateTimeOut => "RET_CROSS_STATE_TIME_OUT",
            Retcode::RetSwordTrainingNoActiveGame => "RET_SWORD_TRAINING_NO_ACTIVE_GAME",
            Retcode::RetSwordTrainingNoPendingActionMatch => {
                "RET_SWORD_TRAINING_NO_PENDING_ACTION_MATCH"
            }
            Retcode::RetSwordTrainingPartnerAbilityInvalid => {
                "RET_SWORD_TRAINING_PARTNER_ABILITY_INVALID"
            }
            Retcode::RetSwordTrainingSkillAlreadyLearned => {
                "RET_SWORD_TRAINING_SKILL_ALREADY_LEARNED"
            }
            Retcode::RetSwordTrainingConditionNotMeet => {
                "RET_SWORD_TRAINING_CONDITION_NOT_MEET"
            }
            Retcode::RetSwordTrainingParentSkillNotLearned => {
                "RET_SWORD_TRAINING_PARENT_SKILL_NOT_LEARNED"
            }
            Retcode::RetSwordTrainingSkillTypeNotUnlock => {
                "RET_SWORD_TRAINING_SKILL_TYPE_NOT_UNLOCK"
            }
            Retcode::RetSwordTrainingGameAlreadyExist => {
                "RET_SWORD_TRAINING_GAME_ALREADY_EXIST"
            }
            Retcode::RetSwordTrainingEndingHintNotMatch => {
                "RET_SWORD_TRAINING_ENDING_HINT_NOT_MATCH"
            }
            Retcode::RetSwordTrainingStorylineConfigNotFound => {
                "RET_SWORD_TRAINING_STORYLINE_CONFIG_NOT_FOUND"
            }
            Retcode::RetSwordTrainingStoryConfigNotFound => {
                "RET_SWORD_TRAINING_STORY_CONFIG_NOT_FOUND"
            }
            Retcode::RetSwordTrainingUnlockNotFinish => {
                "RET_SWORD_TRAINING_UNLOCK_NOT_FINISH"
            }
            Retcode::RetSwordTrainingOptionMismatch => {
                "RET_SWORD_TRAINING_OPTION_MISMATCH"
            }
            Retcode::RetSwordTrainingRestoreWithoutExamFailed => {
                "RET_SWORD_TRAINING_RESTORE_WITHOUT_EXAM_FAILED"
            }
            Retcode::RetSwordTrainingNoRestoreGameAvailable => {
                "RET_SWORD_TRAINING_NO_RESTORE_GAME_AVAILABLE"
            }
            Retcode::RetSwordTrainingEndingStoryNotMatch => {
                "RET_SWORD_TRAINING_ENDING_STORY_NOT_MATCH"
            }
            Retcode::RetSwordTrainingEndingNotFinish => {
                "RET_SWORD_TRAINING_ENDING_NOT_FINISH"
            }
            Retcode::RetSwordTrainingEndingRewardTaken => {
                "RET_SWORD_TRAINING_ENDING_REWARD_TAKEN"
            }
            Retcode::RetSwordTrainingCombatRankNotChange => {
                "RET_SWORD_TRAINING_COMBAT_RANK_NOT_CHANGE"
            }
            Retcode::RetSwordTrainingDirectBattleDisable => {
                "RET_SWORD_TRAINING_DIRECT_BATTLE_DISABLE"
            }
            Retcode::RetFightFestPhaseNotMatch => "RET_FIGHT_FEST_PHASE_NOT_MATCH",
            Retcode::RetFightFestScoreRaceAlreadyFinish => {
                "RET_FIGHT_FEST_SCORE_RACE_ALREADY_FINISH"
            }
            Retcode::RetFightFestChallengeLocked => "RET_FIGHT_FEST_CHALLENGE_LOCKED",
            Retcode::RetFightFestCoachSkillLocked => "RET_FIGHT_FEST_COACH_SKILL_LOCKED",
            Retcode::RetFightFestCoachSkillEquipTypeExisted => {
                "RET_FIGHT_FEST_COACH_SKILL_EQUIP_TYPE_EXISTED"
            }
            Retcode::RetFightFestScoreRaceMissionDoind => {
                "RET_FIGHT_FEST_SCORE_RACE_MISSION_DOIND"
            }
            Retcode::RetFightFestCoachSkillNoEquip => {
                "RET_FIGHT_FEST_COACH_SKILL_NO_EQUIP"
            }
            Retcode::RetPetNotExist => "RET_PET_NOT_EXIST",
            Retcode::RetPetAlreadySummoned => "RET_PET_ALREADY_SUMMONED",
            Retcode::RetPetNotSummoned => "RET_PET_NOT_SUMMONED",
            Retcode::RetMusicRhythmLevelTimeTooShort => {
                "RET_MUSIC_RHYTHM_LEVEL_TIME_TOO_SHORT"
            }
            Retcode::RetMusicRhythmNotInLevel => "RET_MUSIC_RHYTHM_NOT_IN_LEVEL",
            Retcode::RetMusicRhythmPreDifficultyNotPass => {
                "RET_MUSIC_RHYTHM_PRE_DIFFICULTY_NOT_PASS"
            }
            Retcode::RetMusicRhythmSongLimited => "RET_MUSIC_RHYTHM_SONG_LIMITED",
            Retcode::RetMusicRhythmSongLocked => "RET_MUSIC_RHYTHM_SONG_LOCKED",
            Retcode::RetMusicRhythmTrackLocked => "RET_MUSIC_RHYTHM_TRACK_LOCKED",
            Retcode::RetMusicRhythmLevelNotUnlock => "RET_MUSIC_RHYTHM_LEVEL_NOT_UNLOCK",
            Retcode::RetMusicRhythmSongSfxLocked => "RET_MUSIC_RHYTHM_SONG_SFX_LOCKED",
            Retcode::RetTrainPartyCoinNotEnough => "RET_TRAIN_PARTY_COIN_NOT_ENOUGH",
            Retcode::RetTrainPartyDiyTagNotMatch => "RET_TRAIN_PARTY_DIY_TAG_NOT_MATCH",
            Retcode::RetTrainPartyUseCardMobilityNotEnough => {
                "RET_TRAIN_PARTY_USE_CARD_MOBILITY_NOT_ENOUGH"
            }
            Retcode::RetTrainPartyAreaUnlockCoinNotEnough => {
                "RET_TRAIN_PARTY_AREA_UNLOCK_COIN_NOT_ENOUGH"
            }
            Retcode::RetTarotBookEnergyNotEnough => "RET_TAROT_BOOK_ENERGY_NOT_ENOUGH",
            Retcode::RetTarotBookPackNotAvailable => "RET_TAROT_BOOK_PACK_NOT_AVAILABLE",
            Retcode::RetTarotBookStoryAlreadyUnlock => {
                "RET_TAROT_BOOK_STORY_ALREADY_UNLOCK"
            }
            Retcode::RetTarotBookCardNotEnough => "RET_TAROT_BOOK_CARD_NOT_ENOUGH",
            Retcode::RetTarotBookClueNotEnough => "RET_TAROT_BOOK_CLUE_NOT_ENOUGH",
            Retcode::RetTarotBookUnlockStoryCardNotSame => {
                "RET_TAROT_BOOK_UNLOCK_STORY_CARD_NOT_SAME"
            }
            Retcode::RetTarotBookStoryNotUnlock => "RET_TAROT_BOOK_STORY_NOT_UNLOCK",
            Retcode::RetTarotBookStoryAlreadyFinish => {
                "RET_TAROT_BOOK_STORY_ALREADY_FINISH"
            }
            Retcode::RetTarotBookInteractionAlreadyFinish => {
                "RET_TAROT_BOOK_INTERACTION_ALREADY_FINISH"
            }
            Retcode::RetChimeraChimeraNotUnlock => "RET_CHIMERA_CHIMERA_NOT_UNLOCK",
            Retcode::RetChimeraChimeraDuplicated => "RET_CHIMERA_CHIMERA_DUPLICATED",
            Retcode::RetChimeraChimeraTypeError => "RET_CHIMERA_CHIMERA_TYPE_ERROR",
            Retcode::RetChimeraWorkMismatchRound => "RET_CHIMERA_WORK_MISMATCH_ROUND",
            Retcode::RetChimeraWorkRoundOptionNotMeet => {
                "RET_CHIMERA_WORK_ROUND_OPTION_NOT_MEET"
            }
            Retcode::RetChimeraEndlessNotUnlock => "RET_CHIMERA_ENDLESS_NOT_UNLOCK",
            Retcode::RetChimeraInEndless => "RET_CHIMERA_IN_ENDLESS",
            Retcode::RetChimeraNotInEndless => "RET_CHIMERA_NOT_IN_ENDLESS",
            Retcode::RetChimeraChimeraFallInEndless => {
                "RET_CHIMERA_CHIMERA_FALL_IN_ENDLESS"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "RET_SUCC" => Some(Self::RetSucc),
            "RET_FAIL" => Some(Self::RetFail),
            "RET_SERVER_INTERNAL_ERROR" => Some(Self::RetServerInternalError),
            "RET_TIMEOUT" => Some(Self::RetTimeout),
            "RET_REPEATED_REQ" => Some(Self::RetRepeatedReq),
            "RET_REQ_PARA_INVALID" => Some(Self::RetReqParaInvalid),
            "RET_PLAYER_DATA_ERROR" => Some(Self::RetPlayerDataError),
            "RET_PLAYER_CLIENT_PAUSED" => Some(Self::RetPlayerClientPaused),
            "RET_FUNC_CHECK_FAILED" => Some(Self::RetFuncCheckFailed),
            "RET_FEATURE_SWITCH_CLOSED" => Some(Self::RetFeatureSwitchClosed),
            "RET_FREQ_OVER_LIMIT" => Some(Self::RetFreqOverLimit),
            "RET_SYSTEM_BUSY" => Some(Self::RetSystemBusy),
            "RET_PLAYER_NOT_ONLINE" => Some(Self::RetPlayerNotOnline),
            "RET_OPERATION_IN_CD" => Some(Self::RetOperationInCd),
            "RET_REPEATE_LOGIN" => Some(Self::RetRepeateLogin),
            "RET_RETRY_LOGIN" => Some(Self::RetRetryLogin),
            "RET_WAIT_LOGIN" => Some(Self::RetWaitLogin),
            "RET_NOT_IN_WHITE_LIST" => Some(Self::RetNotInWhiteList),
            "RET_IN_BLACK_LIST" => Some(Self::RetInBlackList),
            "RET_ACCOUNT_VERIFY_ERROR" => Some(Self::RetAccountVerifyError),
            "RET_ACCOUNT_PARA_ERROR" => Some(Self::RetAccountParaError),
            "RET_ANTI_ADDICT_LOGIN" => Some(Self::RetAntiAddictLogin),
            "RET_CHECK_SUM_ERROR" => Some(Self::RetCheckSumError),
            "RET_REACH_MAX_PLAYER_NUM" => Some(Self::RetReachMaxPlayerNum),
            "RET_ALREADY_REGISTERED" => Some(Self::RetAlreadyRegistered),
            "RET_GENDER_ERROR" => Some(Self::RetGenderError),
            "SET_NICKNAME_RET_CALLBACK_PROCESSING" => {
                Some(Self::SetNicknameRetCallbackProcessing)
            }
            "RET_IN_GM_BIND_ACCESS" => Some(Self::RetInGmBindAccess),
            "RET_QUEST_REWARD_ALREADY_TAKEN" => Some(Self::RetQuestRewardAlreadyTaken),
            "RET_QUEST_NOT_ACCEPT" => Some(Self::RetQuestNotAccept),
            "RET_QUEST_NOT_FINISH" => Some(Self::RetQuestNotFinish),
            "RET_QUEST_STATUS_ERROR" => Some(Self::RetQuestStatusError),
            "RET_ACHIEVEMENT_LEVEL_NOT_REACH" => Some(Self::RetAchievementLevelNotReach),
            "RET_ACHIEVEMENT_LEVEL_ALREADY_TAKEN" => {
                Some(Self::RetAchievementLevelAlreadyTaken)
            }
            "RET_AVATAR_NOT_EXIST" => Some(Self::RetAvatarNotExist),
            "RET_AVATAR_RES_EXP_NOT_ENOUGH" => Some(Self::RetAvatarResExpNotEnough),
            "RET_AVATAR_EXP_REACH_PROMOTION_LIMIT" => {
                Some(Self::RetAvatarExpReachPromotionLimit)
            }
            "RET_AVATAR_REACH_MAX_PROMOTION" => Some(Self::RetAvatarReachMaxPromotion),
            "RET_SKILLTREE_CONFIG_NOT_EXIST" => Some(Self::RetSkilltreeConfigNotExist),
            "RET_SKILLTREE_ALREADY_UNLOCK" => Some(Self::RetSkilltreeAlreadyUnlock),
            "RET_SKILLTREE_PRE_LOCKED" => Some(Self::RetSkilltreePreLocked),
            "RET_SKILLTREE_LEVEL_NOT_MEET" => Some(Self::RetSkilltreeLevelNotMeet),
            "RET_SKILLTREE_RANK_NOT_MEET" => Some(Self::RetSkilltreeRankNotMeet),
            "RET_AVATAR_DRESS_NO_EQUIPMENT" => Some(Self::RetAvatarDressNoEquipment),
            "RET_AVATAR_EXP_ITEM_NOT_EXIST" => Some(Self::RetAvatarExpItemNotExist),
            "RET_SKILLTREE_POINT_LOCKED" => Some(Self::RetSkilltreePointLocked),
            "RET_SKILLTREE_POINT_LEVEL_UPGRADE_NOT_MATCH" => {
                Some(Self::RetSkilltreePointLevelUpgradeNotMatch)
            }
            "RET_SKILLTREE_POINT_LEVEL_REACH_MAX" => {
                Some(Self::RetSkilltreePointLevelReachMax)
            }
            "RET_WORLD_LEVEL_NOT_MEET" => Some(Self::RetWorldLevelNotMeet),
            "RET_PLAYER_LEVEL_NOT_MEET" => Some(Self::RetPlayerLevelNotMeet),
            "RET_AVATAR_RANK_NOT_MATCH" => Some(Self::RetAvatarRankNotMatch),
            "RET_AVATAR_RANK_REACH_MAX" => Some(Self::RetAvatarRankReachMax),
            "RET_HERO_BASIC_TYPE_NOT_MATCH" => Some(Self::RetHeroBasicTypeNotMatch),
            "RET_AVATAR_PROMOTION_NOT_MEET" => Some(Self::RetAvatarPromotionNotMeet),
            "RET_PROMOTION_REWARD_CONFIG_NOT_EXIST" => {
                Some(Self::RetPromotionRewardConfigNotExist)
            }
            "RET_PROMOTION_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetPromotionRewardAlreadyTaken)
            }
            "RET_AVATAR_SKIN_ITEM_NOT_EXIST" => Some(Self::RetAvatarSkinItemNotExist),
            "RET_AVATAR_SKIN_ALREADY_DRESSED" => Some(Self::RetAvatarSkinAlreadyDressed),
            "RET_AVATAR_NOT_DRESS_SKIN" => Some(Self::RetAvatarNotDressSkin),
            "RET_AVATAR_SKIN_NOT_MATCH_AVATAR" => Some(Self::RetAvatarSkinNotMatchAvatar),
            "RET_AVATAR_PATH_NOT_MATCH" => Some(Self::RetAvatarPathNotMatch),
            "RET_ITEM_NOT_EXIST" => Some(Self::RetItemNotExist),
            "RET_ITEM_COST_NOT_ENOUGH" => Some(Self::RetItemCostNotEnough),
            "RET_ITEM_COST_TOO_MUCH" => Some(Self::RetItemCostTooMuch),
            "RET_ITEM_NO_COST" => Some(Self::RetItemNoCost),
            "RET_ITEM_NOT_ENOUGH" => Some(Self::RetItemNotEnough),
            "RET_ITEM_INVALID" => Some(Self::RetItemInvalid),
            "RET_ITEM_CONFIG_NOT_EXIST" => Some(Self::RetItemConfigNotExist),
            "RET_SCOIN_NOT_ENOUGH" => Some(Self::RetScoinNotEnough),
            "RET_ITEM_REWARD_EXCEED_LIMIT" => Some(Self::RetItemRewardExceedLimit),
            "RET_ITEM_INVALID_USE" => Some(Self::RetItemInvalidUse),
            "RET_ITEM_USE_CONFIG_NOT_EXIST" => Some(Self::RetItemUseConfigNotExist),
            "RET_REWARD_CONFIG_NOT_EXIST" => Some(Self::RetRewardConfigNotExist),
            "RET_ITEM_EXCEED_LIMIT" => Some(Self::RetItemExceedLimit),
            "RET_ITEM_COUNT_INVALID" => Some(Self::RetItemCountInvalid),
            "RET_ITEM_USE_TARGET_TYPE_INVALID" => Some(Self::RetItemUseTargetTypeInvalid),
            "RET_ITEM_USE_SATIETY_FULL" => Some(Self::RetItemUseSatietyFull),
            "RET_ITEM_COMPOSE_NOT_EXIST" => Some(Self::RetItemComposeNotExist),
            "RET_RELIC_COMPOSE_NOT_EXIST" => Some(Self::RetRelicComposeNotExist),
            "RET_ITEM_CAN_NOT_SELL" => Some(Self::RetItemCanNotSell),
            "RET_ITEM_SELL_EXCEDD_LIMIT" => Some(Self::RetItemSellExceddLimit),
            "RET_ITEM_NOT_IN_COST_LIST" => Some(Self::RetItemNotInCostList),
            "RET_ITEM_SPECIAL_COST_NOT_ENOUGH" => Some(Self::RetItemSpecialCostNotEnough),
            "RET_ITEM_SPECIAL_COST_TOO_MUCH" => Some(Self::RetItemSpecialCostTooMuch),
            "RET_ITEM_FORMULA_NOT_EXIST" => Some(Self::RetItemFormulaNotExist),
            "RET_ITEM_AUTO_GIFT_OPTIONAL_NOT_EXIST" => {
                Some(Self::RetItemAutoGiftOptionalNotExist)
            }
            "RET_RELIC_COMPOSE_RELIC_INVALID" => Some(Self::RetRelicComposeRelicInvalid),
            "RET_RELIC_COMPOSE_MAIN_AFFIX_ID_INVALID" => {
                Some(Self::RetRelicComposeMainAffixIdInvalid)
            }
            "RET_RELIC_COMPOSE_WRONG_FORMULA_TYPE" => {
                Some(Self::RetRelicComposeWrongFormulaType)
            }
            "RET_RELIC_COMPOSE_RELIC_NOT_EXIST" => {
                Some(Self::RetRelicComposeRelicNotExist)
            }
            "RET_RELIC_COMPOSE_BLACK_GOLD_COUNT_INVALID" => {
                Some(Self::RetRelicComposeBlackGoldCountInvalid)
            }
            "RET_RELIC_COMPOSE_BLACK_GOLD_NOT_NEED" => {
                Some(Self::RetRelicComposeBlackGoldNotNeed)
            }
            "RET_MONTH_CARD_CANNOT_USE" => Some(Self::RetMonthCardCannotUse),
            "RET_ITEM_REWARD_EXCEED_DISAPPEAR" => {
                Some(Self::RetItemRewardExceedDisappear)
            }
            "RET_ITEM_NEED_RECYCLE" => Some(Self::RetItemNeedRecycle),
            "RET_ITEM_COMPOSE_EXCEED_LIMIT" => Some(Self::RetItemComposeExceedLimit),
            "RET_ITEM_CAN_NOT_DESTROY" => Some(Self::RetItemCanNotDestroy),
            "RET_ITEM_ALREADY_MARK" => Some(Self::RetItemAlreadyMark),
            "RET_ITEM_MARK_EXCEED_LIMIT" => Some(Self::RetItemMarkExceedLimit),
            "RET_ITEM_NOT_MARK" => Some(Self::RetItemNotMark),
            "RET_ITEN_TURN_FOOD_NOT_SET" => Some(Self::RetItenTurnFoodNotSet),
            "RET_ITEM_TURN_FOOD_ALREADY_SET" => Some(Self::RetItemTurnFoodAlreadySet),
            "RET_ITEM_TURN_FOOD_CONSUME_TYPE_ERROR" => {
                Some(Self::RetItemTurnFoodConsumeTypeError)
            }
            "RET_ITEM_TURN_FOOD_SWITCH_ALREADY_OPEN" => {
                Some(Self::RetItemTurnFoodSwitchAlreadyOpen)
            }
            "RET_ITEM_TURN_FOOD_SWITCH_ALREADY_CLOSE" => {
                Some(Self::RetItemTurnFoodSwitchAlreadyClose)
            }
            "RET_HCOIN_EXCHANGE_TOO_MUCH" => Some(Self::RetHcoinExchangeTooMuch),
            "RET_ITEM_TURN_FOOD_SCENE_TYPE_ERROR" => {
                Some(Self::RetItemTurnFoodSceneTypeError)
            }
            "RET_EQUIPMENT_ALREADY_DRESSED" => Some(Self::RetEquipmentAlreadyDressed),
            "RET_EQUIPMENT_NOT_EXIST" => Some(Self::RetEquipmentNotExist),
            "RET_EQUIPMENT_REACH_LEVEL_LIMIT" => Some(Self::RetEquipmentReachLevelLimit),
            "RET_EQUIPMENT_CONSUME_SELF" => Some(Self::RetEquipmentConsumeSelf),
            "RET_EQUIPMENT_ALREADY_LOCKED" => Some(Self::RetEquipmentAlreadyLocked),
            "RET_EQUIPMENT_ALREADY_UNLOCKED" => Some(Self::RetEquipmentAlreadyUnlocked),
            "RET_EQUIPMENT_LOCKED" => Some(Self::RetEquipmentLocked),
            "RET_EQUIPMENT_SELECT_NUM_OVER_LIMIT" => {
                Some(Self::RetEquipmentSelectNumOverLimit)
            }
            "RET_EQUIPMENT_RANK_UP_MUST_CONSUME_SAME_TID" => {
                Some(Self::RetEquipmentRankUpMustConsumeSameTid)
            }
            "RET_EQUIPMENT_PROMOTION_REACH_MAX" => {
                Some(Self::RetEquipmentPromotionReachMax)
            }
            "RET_EQUIPMENT_RANK_UP_REACH_MAX" => Some(Self::RetEquipmentRankUpReachMax),
            "RET_EQUIPMENT_LEVEL_REACH_MAX" => Some(Self::RetEquipmentLevelReachMax),
            "RET_EQUIPMENT_EXCEED_LIMIT" => Some(Self::RetEquipmentExceedLimit),
            "RET_RELIC_NOT_EXIST" => Some(Self::RetRelicNotExist),
            "RET_RELIC_REACH_LEVEL_LIMIT" => Some(Self::RetRelicReachLevelLimit),
            "RET_RELIC_CONSUME_SELF" => Some(Self::RetRelicConsumeSelf),
            "RET_RELIC_ALREADY_DRESSED" => Some(Self::RetRelicAlreadyDressed),
            "RET_RELIC_LOCKED" => Some(Self::RetRelicLocked),
            "RET_RELIC_ALREADY_LOCKED" => Some(Self::RetRelicAlreadyLocked),
            "RET_RELIC_ALREADY_UNLOCKED" => Some(Self::RetRelicAlreadyUnlocked),
            "RET_RELIC_LEVEL_IS_NOT_ZERO" => Some(Self::RetRelicLevelIsNotZero),
            "RET_UNIQUE_ID_REPEATED" => Some(Self::RetUniqueIdRepeated),
            "RET_EQUIPMENT_LEVEL_NOT_MEET" => Some(Self::RetEquipmentLevelNotMeet),
            "RET_EQUIPMENT_ITEM_NOT_IN_COST_LIST" => {
                Some(Self::RetEquipmentItemNotInCostList)
            }
            "RET_EQUIPMENT_LEVEL_GREATER_THAN_ONE" => {
                Some(Self::RetEquipmentLevelGreaterThanOne)
            }
            "RET_EQUIPMENT_ALREADY_RANKED" => Some(Self::RetEquipmentAlreadyRanked),
            "RET_RELIC_EXCEED_LIMIT" => Some(Self::RetRelicExceedLimit),
            "RET_RELIC_ALREADY_DISCARDED" => Some(Self::RetRelicAlreadyDiscarded),
            "RET_RELIC_ALREADY_UNDISCARDED" => Some(Self::RetRelicAlreadyUndiscarded),
            "RET_EQUIPMENT_BATCH_LOCK_TOO_FAST" => {
                Some(Self::RetEquipmentBatchLockTooFast)
            }
            "RET_RELIC_FILTER_PLAN_SLOT_EMPTY" => Some(Self::RetRelicFilterPlanSlotEmpty),
            "RET_RELIC_FILTER_PLAN_NUM_EXCEED_LIMIT" => {
                Some(Self::RetRelicFilterPlanNumExceedLimit)
            }
            "RET_RELIC_FILTER_PLAN_NAME_UTF8_ERROR" => {
                Some(Self::RetRelicFilterPlanNameUtf8Error)
            }
            "RET_RELIC_FILTER_PLAN_NAME_FORMAT_ERROR" => {
                Some(Self::RetRelicFilterPlanNameFormatError)
            }
            "RET_RELIC_FILTER_PLAN_NO_CHANGE" => Some(Self::RetRelicFilterPlanNoChange),
            "RET_RELIC_REFORGE_NOT_CONFIRMED" => Some(Self::RetRelicReforgeNotConfirmed),
            "RET_LINEUP_INVALID_INDEX" => Some(Self::RetLineupInvalidIndex),
            "RET_LINEUP_INVALID_MEMBER_POS" => Some(Self::RetLineupInvalidMemberPos),
            "RET_LINEUP_SWAP_NOT_EXIST" => Some(Self::RetLineupSwapNotExist),
            "RET_LINEUP_AVATAR_ALREADY_IN" => Some(Self::RetLineupAvatarAlreadyIn),
            "RET_LINEUP_CREATE_AVATAR_ERROR" => Some(Self::RetLineupCreateAvatarError),
            "RET_LINEUP_AVATAR_INIT_ERROR" => Some(Self::RetLineupAvatarInitError),
            "RET_LINEUP_NOT_EXIST" => Some(Self::RetLineupNotExist),
            "RET_LINEUP_ONLY_ONE_MEMBER" => Some(Self::RetLineupOnlyOneMember),
            "RET_LINEUP_SAME_LEADER_SLOT" => Some(Self::RetLineupSameLeaderSlot),
            "RET_LINEUP_NO_LEADER_SELECT" => Some(Self::RetLineupNoLeaderSelect),
            "RET_LINEUP_SWAP_SAME_SLOT" => Some(Self::RetLineupSwapSameSlot),
            "RET_LINEUP_AVATAR_NOT_EXIST" => Some(Self::RetLineupAvatarNotExist),
            "RET_LINEUP_TRIAL_AVATAR_CAN_NOT_QUIT" => {
                Some(Self::RetLineupTrialAvatarCanNotQuit)
            }
            "RET_LINEUP_VIRTUAL_LINEUP_PLANE_NOT_MATCH" => {
                Some(Self::RetLineupVirtualLineupPlaneNotMatch)
            }
            "RET_LINEUP_NOT_VALID_LEADER" => Some(Self::RetLineupNotValidLeader),
            "RET_LINEUP_SAME_INDEX" => Some(Self::RetLineupSameIndex),
            "RET_LINEUP_IS_EMPTY" => Some(Self::RetLineupIsEmpty),
            "RET_LINEUP_NAME_FORMAT_ERROR" => Some(Self::RetLineupNameFormatError),
            "RET_LINEUP_TYPE_NOT_MATCH" => Some(Self::RetLineupTypeNotMatch),
            "RET_LINEUP_REPLACE_ALL_FAILED" => Some(Self::RetLineupReplaceAllFailed),
            "RET_LINEUP_NOT_ALLOW_EDIT" => Some(Self::RetLineupNotAllowEdit),
            "RET_LINEUP_AVATAR_IS_ALIVE" => Some(Self::RetLineupAvatarIsAlive),
            "RET_LINEUP_ASSIST_HAS_ONLY_MEMBER" => {
                Some(Self::RetLineupAssistHasOnlyMember)
            }
            "RET_LINEUP_ASSIST_CANNOT_SWITCH" => Some(Self::RetLineupAssistCannotSwitch),
            "RET_LINEUP_AVATAR_TYPE_INVALID" => Some(Self::RetLineupAvatarTypeInvalid),
            "RET_LINEUP_NAME_UTF8_ERROR" => Some(Self::RetLineupNameUtf8Error),
            "RET_LINEUP_LEADER_LOCK" => Some(Self::RetLineupLeaderLock),
            "RET_LINEUP_STORY_LINE_NOT_MATCH" => Some(Self::RetLineupStoryLineNotMatch),
            "RET_LINEUP_AVATAR_LOCK" => Some(Self::RetLineupAvatarLock),
            "RET_LINEUP_AVATAR_INVALID" => Some(Self::RetLineupAvatarInvalid),
            "RET_LINEUP_AVATAR_ALREADY_INIT" => Some(Self::RetLineupAvatarAlreadyInit),
            "RET_LINEUP_LIMITED" => Some(Self::RetLineupLimited),
            "RET_MAIL_NOT_EXIST" => Some(Self::RetMailNotExist),
            "RET_MAIL_RANGE_INVALID" => Some(Self::RetMailRangeInvalid),
            "RET_MAIL_MAIL_ID_INVALID" => Some(Self::RetMailMailIdInvalid),
            "RET_MAIL_NO_MAIL_TAKE_ATTACHMENT" => Some(Self::RetMailNoMailTakeAttachment),
            "RET_MAIL_NO_MAIL_TO_DEL" => Some(Self::RetMailNoMailToDel),
            "RET_MAIL_TYPE_INVALID" => Some(Self::RetMailTypeInvalid),
            "RET_MAIL_PARA_INVALID" => Some(Self::RetMailParaInvalid),
            "RET_MAIL_ATTACHEMENT_INVALID" => Some(Self::RetMailAttachementInvalid),
            "RET_MAIL_TICKET_INVALID" => Some(Self::RetMailTicketInvalid),
            "RET_MAIL_TICKET_REPEATED" => Some(Self::RetMailTicketRepeated),
            "RET_STAGE_SETTLE_ERROR" => Some(Self::RetStageSettleError),
            "RET_STAGE_CONFIG_NOT_EXIST" => Some(Self::RetStageConfigNotExist),
            "RET_STAGE_NOT_FOUND" => Some(Self::RetStageNotFound),
            "RET_STAGE_COCOON_PROP_NOT_VALID" => Some(Self::RetStageCocoonPropNotValid),
            "RET_STAGE_COCOON_WAVE_NOT_VALID" => Some(Self::RetStageCocoonWaveNotValid),
            "RET_STAGE_PROP_ID_NOT_EQUAL" => Some(Self::RetStagePropIdNotEqual),
            "RET_STAGE_COCOON_WAVE_OVER" => Some(Self::RetStageCocoonWaveOver),
            "RET_STAGE_WEEK_COCOON_OVER_CNT" => Some(Self::RetStageWeekCocoonOverCnt),
            "RET_STAGE_COCOON_NOT_OPEN" => Some(Self::RetStageCocoonNotOpen),
            "RET_STAGE_TRIAL_NOT_OPEN" => Some(Self::RetStageTrialNotOpen),
            "RET_STAGE_FARM_NOT_OPEN" => Some(Self::RetStageFarmNotOpen),
            "RET_STAGE_FARM_TYPE_ERROR" => Some(Self::RetStageFarmTypeError),
            "RET_CHAPTER_LOCK" => Some(Self::RetChapterLock),
            "RET_CHAPTER_CHALLENGE_NUM_NOT_ENOUGH" => {
                Some(Self::RetChapterChallengeNumNotEnough)
            }
            "RET_CHAPTER_REWARD_ID_NOT_EXIST" => Some(Self::RetChapterRewardIdNotExist),
            "RET_CHAPTER_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetChapterRewardAlreadyTaken)
            }
            "RET_BATTLE_STAGE_NOT_MATCH" => Some(Self::RetBattleStageNotMatch),
            "RET_IN_BATTLE_NOW" => Some(Self::RetInBattleNow),
            "RET_BATTLE_CHEAT" => Some(Self::RetBattleCheat),
            "RET_BATTLE_FAIL" => Some(Self::RetBattleFail),
            "RET_BATTLE_NO_LINEUP" => Some(Self::RetBattleNoLineup),
            "RET_BATTLE_LINEUP_EMPTY" => Some(Self::RetBattleLineupEmpty),
            "RET_BATTLE_VERSION_NOT_MATCH" => Some(Self::RetBattleVersionNotMatch),
            "RET_BATTLE_QUIT_BY_SERVER" => Some(Self::RetBattleQuitByServer),
            "RET_IN_BATTLE_CHECK" => Some(Self::RetInBattleCheck),
            "RET_BATTLE_CHECK_NEED_RETRY" => Some(Self::RetBattleCheckNeedRetry),
            "RET_BATTLE_COST_TIME_CHECK_FAIL" => Some(Self::RetBattleCostTimeCheckFail),
            "RET_LACK_EXCHANGE_STAMINA_TIMES" => Some(Self::RetLackExchangeStaminaTimes),
            "RET_LACK_STAMINA" => Some(Self::RetLackStamina),
            "RET_STAMINA_FULL" => Some(Self::RetStaminaFull),
            "RET_AUTHKEY_SIGN_TYPE_ERROR" => Some(Self::RetAuthkeySignTypeError),
            "RET_AUTHKEY_SIGN_VER_ERROR" => Some(Self::RetAuthkeySignVerError),
            "RET_NICKNAME_FORMAT_ERROR" => Some(Self::RetNicknameFormatError),
            "RET_SENSITIVE_WORDS" => Some(Self::RetSensitiveWords),
            "RET_LEVEL_REWARD_HAS_TAKEN" => Some(Self::RetLevelRewardHasTaken),
            "RET_LEVEL_REWARD_LEVEL_ERROR" => Some(Self::RetLevelRewardLevelError),
            "RET_LANGUAGE_INVALID" => Some(Self::RetLanguageInvalid),
            "RET_NICKNAME_IN_CD" => Some(Self::RetNicknameInCd),
            "RET_GAMEPLAY_BIRTHDAY_INVALID" => Some(Self::RetGameplayBirthdayInvalid),
            "RET_GAMEPLAY_BIRTHDAY_ALREADY_SET" => {
                Some(Self::RetGameplayBirthdayAlreadySet)
            }
            "RET_NICKNAME_UTF8_ERROR" => Some(Self::RetNicknameUtf8Error),
            "RET_NICKNAME_DIGIT_LIMIT_ERROR" => Some(Self::RetNicknameDigitLimitError),
            "RET_SENSITIVE_WORDS_PLATFORM_ERROR" => {
                Some(Self::RetSensitiveWordsPlatformError)
            }
            "RET_PLAYER_SETTING_TYPE_INVALID" => Some(Self::RetPlayerSettingTypeInvalid),
            "RET_MAZE_LACK_TICKET" => Some(Self::RetMazeLackTicket),
            "RET_MAZE_NOT_UNLOCK" => Some(Self::RetMazeNotUnlock),
            "RET_MAZE_NO_ABILITY" => Some(Self::RetMazeNoAbility),
            "RET_MAZE_NO_PLANE" => Some(Self::RetMazeNoPlane),
            "RET_MAZE_MAP_NOT_EXIST" => Some(Self::RetMazeMapNotExist),
            "RET_MAZE_MP_NOT_ENOUGH" => Some(Self::RetMazeMpNotEnough),
            "RET_SPRING_NOT_ENABLE" => Some(Self::RetSpringNotEnable),
            "RET_SPRING_TOO_FAR" => Some(Self::RetSpringTooFar),
            "RET_NOT_IN_MAZE" => Some(Self::RetNotInMaze),
            "RET_MAZE_TIME_OF_DAY_TYPE_ERROR" => Some(Self::RetMazeTimeOfDayTypeError),
            "RET_SCENE_TRANSFER_LOCKED_BY_TASK" => {
                Some(Self::RetSceneTransferLockedByTask)
            }
            "RET_PLOT_NOT_UNLOCK" => Some(Self::RetPlotNotUnlock),
            "RET_MISSION_NOT_EXIST" => Some(Self::RetMissionNotExist),
            "RET_MISSION_ALREADY_DONE" => Some(Self::RetMissionAlreadyDone),
            "RET_DAILY_TASK_NOT_FINISH" => Some(Self::RetDailyTaskNotFinish),
            "RET_DAILY_TASK_REWARD_HAS_TAKEN" => Some(Self::RetDailyTaskRewardHasTaken),
            "RET_MISSION_NOT_FINISH" => Some(Self::RetMissionNotFinish),
            "RET_MISSION_NOT_DOING" => Some(Self::RetMissionNotDoing),
            "RET_MISSION_FINISH_WAY_NOT_MATCH" => Some(Self::RetMissionFinishWayNotMatch),
            "RET_MISSION_SCENE_NOT_MATCH" => Some(Self::RetMissionSceneNotMatch),
            "RET_MISSION_CUSTOM_VALUE_NOT_VALID" => {
                Some(Self::RetMissionCustomValueNotValid)
            }
            "RET_MISSION_SUB_MISSION_NOT_MATCH" => {
                Some(Self::RetMissionSubMissionNotMatch)
            }
            "RET_ADVENTURE_MAP_NOT_EXIST" => Some(Self::RetAdventureMapNotExist),
            "RET_SCENE_ENTITY_NOT_EXIST" => Some(Self::RetSceneEntityNotExist),
            "RET_NOT_IN_SCENE" => Some(Self::RetNotInScene),
            "RET_SCENE_MONSTER_NOT_EXIST" => Some(Self::RetSceneMonsterNotExist),
            "RET_INTERACT_CONFIG_NOT_EXIST" => Some(Self::RetInteractConfigNotExist),
            "RET_UNSUPPORTED_PROP_STATE" => Some(Self::RetUnsupportedPropState),
            "RET_SCENE_ENTRY_ID_NOT_MATCH" => Some(Self::RetSceneEntryIdNotMatch),
            "RET_SCENE_ENTITY_MOVE_CHECK_FAILED" => {
                Some(Self::RetSceneEntityMoveCheckFailed)
            }
            "RET_ASSIST_MONSTER_COUNT_LIMIT" => Some(Self::RetAssistMonsterCountLimit),
            "RET_SCENE_USE_SKILL_FAIL" => Some(Self::RetSceneUseSkillFail),
            "RET_PROP_IS_HIDDEN" => Some(Self::RetPropIsHidden),
            "RET_LOADING_SUCC_ALREADY" => Some(Self::RetLoadingSuccAlready),
            "RET_SCENE_ENTITY_TYPE_INVALID" => Some(Self::RetSceneEntityTypeInvalid),
            "RET_INTERACT_TYPE_INVALID" => Some(Self::RetInteractTypeInvalid),
            "RET_INTERACT_NOT_IN_REGION" => Some(Self::RetInteractNotInRegion),
            "RET_INTERACT_SUB_TYPE_INVALID" => Some(Self::RetInteractSubTypeInvalid),
            "RET_NOT_LEADER_ENTITY" => Some(Self::RetNotLeaderEntity),
            "RET_MONSTER_IS_NOT_FARM_ELEMENT" => Some(Self::RetMonsterIsNotFarmElement),
            "RET_MONSTER_CONFIG_NOT_EXIST" => Some(Self::RetMonsterConfigNotExist),
            "RET_AVATAR_HP_ALREADY_FULL" => Some(Self::RetAvatarHpAlreadyFull),
            "RET_CUR_INTERACT_ENTITY_NOT_MATCH" => {
                Some(Self::RetCurInteractEntityNotMatch)
            }
            "RET_PLANE_TYPE_NOT_ALLOW" => Some(Self::RetPlaneTypeNotAllow),
            "RET_GROUP_NOT_EXIST" => Some(Self::RetGroupNotExist),
            "RET_GROUP_SAVE_DATA_IN_CD" => Some(Self::RetGroupSaveDataInCd),
            "RET_GROUP_SAVE_LENGH_REACH_MAX" => Some(Self::RetGroupSaveLenghReachMax),
            "RET_RECENT_ELEMENT_NOT_EXIST" => Some(Self::RetRecentElementNotExist),
            "RET_RECENT_ELEMENT_STAGE_NOT_MATCH" => {
                Some(Self::RetRecentElementStageNotMatch)
            }
            "RET_SCENE_POSITION_VERSION_NOT_MATCH" => {
                Some(Self::RetScenePositionVersionNotMatch)
            }
            "RET_GAMEPLAY_COUNTER_NOT_EXIST" => Some(Self::RetGameplayCounterNotExist),
            "RET_GAMEPLAY_COUNTER_NOT_ENOUGH" => Some(Self::RetGameplayCounterNotEnough),
            "RET_GROUP_STATE_NOT_MATCH" => Some(Self::RetGroupStateNotMatch),
            "RET_SCENE_ENTITY_POS_NOT_MATCH" => Some(Self::RetSceneEntityPosNotMatch),
            "RET_GROUP_STATE_CUSTOM_SAVE_DATA_OFF" => {
                Some(Self::RetGroupStateCustomSaveDataOff)
            }
            "RET_SCENE_NOT_MATCH" => Some(Self::RetSceneNotMatch),
            "RET_PROP_TYPE_INVALID" => Some(Self::RetPropTypeInvalid),
            "RET_BUY_TIMES_LIMIT" => Some(Self::RetBuyTimesLimit),
            "RET_BUY_LIMIT_TYPE" => Some(Self::RetBuyLimitType),
            "RET_SHOP_NOT_OPEN" => Some(Self::RetShopNotOpen),
            "RET_GOODS_NOT_OPEN" => Some(Self::RetGoodsNotOpen),
            "RET_CITY_LEVEL_REWARD_TAKEN" => Some(Self::RetCityLevelRewardTaken),
            "RET_CITY_LEVEL_NOT_MEET" => Some(Self::RetCityLevelNotMeet),
            "RET_SINGLE_BUY_LIMIT" => Some(Self::RetSingleBuyLimit),
            "RET_TUTORIAL_NOT_UNLOCK" => Some(Self::RetTutorialNotUnlock),
            "RET_TUTORIAL_UNLOCK_ALREADY" => Some(Self::RetTutorialUnlockAlready),
            "RET_TUTORIAL_FINISH_ALREADY" => Some(Self::RetTutorialFinishAlready),
            "RET_TUTORIAL_PRE_NOT_UNLOCK" => Some(Self::RetTutorialPreNotUnlock),
            "RET_TUTORIAL_PLAYER_LEVEL_NOT_MATCH" => {
                Some(Self::RetTutorialPlayerLevelNotMatch)
            }
            "RET_TUTORIAL_TUTORIAL_NOT_FOUND" => Some(Self::RetTutorialTutorialNotFound),
            "RET_CHALLENGE_NOT_EXIST" => Some(Self::RetChallengeNotExist),
            "RET_CHALLENGE_NOT_UNLOCK" => Some(Self::RetChallengeNotUnlock),
            "RET_CHALLENGE_ALREADY" => Some(Self::RetChallengeAlready),
            "RET_CHALLENGE_LINEUP_EDIT_FORBIDDEN" => {
                Some(Self::RetChallengeLineupEditForbidden)
            }
            "RET_CHALLENGE_LINEUP_EMPTY" => Some(Self::RetChallengeLineupEmpty),
            "RET_CHALLENGE_NOT_DOING" => Some(Self::RetChallengeNotDoing),
            "RET_CHALLENGE_NOT_FINISH" => Some(Self::RetChallengeNotFinish),
            "RET_CHALLENGE_TARGET_NOT_FINISH" => Some(Self::RetChallengeTargetNotFinish),
            "RET_CHALLENGE_TARGET_REWARD_TAKEN" => {
                Some(Self::RetChallengeTargetRewardTaken)
            }
            "RET_CHALLENGE_TIME_NOT_VALID" => Some(Self::RetChallengeTimeNotValid),
            "RET_CHALLENGE_STARS_COUNT_NOT_MEET" => {
                Some(Self::RetChallengeStarsCountNotMeet)
            }
            "RET_CHALLENGE_STARS_REWARD_TAKEN" => {
                Some(Self::RetChallengeStarsRewardTaken)
            }
            "RET_CHALLENGE_STARS_NOT_EXIST" => Some(Self::RetChallengeStarsNotExist),
            "RET_CHALLENGE_CUR_SCENE_NOT_ENTRY_FLOOR" => {
                Some(Self::RetChallengeCurSceneNotEntryFloor)
            }
            "RET_CHALLENGE_NO_TEAM_ARCHIVE" => Some(Self::RetChallengeNoTeamArchive),
            "RET_CHALLENGE_LINEUP_AVATAR_TYPE_INVALID" => {
                Some(Self::RetChallengeLineupAvatarTypeInvalid)
            }
            "RET_CHALLENGE_LINEUP_RECOMMEND_IN_CD" => {
                Some(Self::RetChallengeLineupRecommendInCd)
            }
            "RET_BASIC_TYPE_ALREADY" => Some(Self::RetBasicTypeAlready),
            "RET_NO_BASIC_TYPE" => Some(Self::RetNoBasicType),
            "RET_NOT_CHOOSE_BASIC_TYPE" => Some(Self::RetNotChooseBasicType),
            "RET_NOT_FUNC_CLOSE" => Some(Self::RetNotFuncClose),
            "RET_NOT_CHOOSE_GENDER" => Some(Self::RetNotChooseGender),
            "RET_NOT_REQ_UNLOCK_BASIC_TYPE" => Some(Self::RetNotReqUnlockBasicType),
            "RET_AVATAR_PATH_LOCKED" => Some(Self::RetAvatarPathLocked),
            "RET_ROGUE_STATUS_NOT_MATCH" => Some(Self::RetRogueStatusNotMatch),
            "RET_ROGUE_SELECT_BUFF_NOT_EXIST" => Some(Self::RetRogueSelectBuffNotExist),
            "RET_ROGUE_COIN_NOT_ENOUGH" => Some(Self::RetRogueCoinNotEnough),
            "RET_ROGUE_STAMINA_NOT_ENOUGH" => Some(Self::RetRogueStaminaNotEnough),
            "RET_ROGUE_APPRAISAL_COUNT_NOT_ENOUGH" => {
                Some(Self::RetRogueAppraisalCountNotEnough)
            }
            "RET_ROGUE_PROP_ALREADY_USED" => Some(Self::RetRoguePropAlreadyUsed),
            "RET_ROGUE_RECORD_ALREADY_SAVED" => Some(Self::RetRogueRecordAlreadySaved),
            "RET_ROGUE_ROLL_BUFF_MAX_COUNT" => Some(Self::RetRogueRollBuffMaxCount),
            "RET_ROGUE_PICK_AVATAR_INVALID" => Some(Self::RetRoguePickAvatarInvalid),
            "RET_ROGUE_QUEST_EXPIRE" => Some(Self::RetRogueQuestExpire),
            "RET_ROGUE_QUEST_REWARD_ALREADY" => Some(Self::RetRogueQuestRewardAlready),
            "RET_ROGUE_REVIVE_COUNT_NOT_ENOUGH" => {
                Some(Self::RetRogueReviveCountNotEnough)
            }
            "RET_ROGUE_AREA_INVALID" => Some(Self::RetRogueAreaInvalid),
            "RET_ROGUE_SCORE_REWARD_POOL_INVALID" => {
                Some(Self::RetRogueScoreRewardPoolInvalid)
            }
            "RET_ROGUE_SCORE_REWARD_ROW_INVALID" => {
                Some(Self::RetRogueScoreRewardRowInvalid)
            }
            "RET_ROGUE_AEON_LEVEL_NOT_MEET" => Some(Self::RetRogueAeonLevelNotMeet),
            "RET_ROGUE_AEON_LEVEL_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetRogueAeonLevelRewardAlreadyTaken)
            }
            "RET_ROGUE_AEON_CONFIG_NOT_EXIST" => Some(Self::RetRogueAeonConfigNotExist),
            "RET_ROGUE_TRIAL_AVATAR_INVALID" => Some(Self::RetRogueTrialAvatarInvalid),
            "RET_ROGUE_HANDBOOK_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetRogueHandbookRewardAlreadyTaken)
            }
            "RET_ROGUE_ROOM_TYPE_NOT_MATCH" => Some(Self::RetRogueRoomTypeNotMatch),
            "RET_ROGUE_SHOP_GOOD_NOT_FOUND" => Some(Self::RetRogueShopGoodNotFound),
            "RET_ROGUE_SHOP_GOOD_ALREADY_BOUGHT" => {
                Some(Self::RetRogueShopGoodAlreadyBought)
            }
            "RET_ROGUE_SHOP_GOOD_ALREADY_OWN" => Some(Self::RetRogueShopGoodAlreadyOwn),
            "RET_ROGUE_SHOP_MIRACLE_NOT_EXIST" => Some(Self::RetRogueShopMiracleNotExist),
            "RET_ROGUE_SHOP_NOT_EXIST" => Some(Self::RetRogueShopNotExist),
            "RET_ROGUE_SHOP_CANNOT_REFRESH" => Some(Self::RetRogueShopCannotRefresh),
            "RET_ROGUE_SELECT_BUFF_CERTAIN_MISMATCH" => {
                Some(Self::RetRogueSelectBuffCertainMismatch)
            }
            "RET_ROGUE_ACTION_QUEUE_NOT_EMPTY_BATTLE" => {
                Some(Self::RetRogueActionQueueNotEmptyBattle)
            }
            "RET_ROGUE_ACTION_QUEUE_NOT_EMPTY_OTHERS" => {
                Some(Self::RetRogueActionQueueNotEmptyOthers)
            }
            "RET_MISSION_EVENT_CONFIG_NOT_EXIST" => {
                Some(Self::RetMissionEventConfigNotExist)
            }
            "RET_MISSION_EVENT_NOT_CLIENT" => Some(Self::RetMissionEventNotClient),
            "RET_MISSION_EVENT_FINISHED" => Some(Self::RetMissionEventFinished),
            "RET_MISSION_EVENT_DOING" => Some(Self::RetMissionEventDoing),
            "RET_HAS_CHALLENGE_MISSION_EVENT" => Some(Self::RetHasChallengeMissionEvent),
            "RET_NOT_CHALLENGE_MISSION_EVENT" => Some(Self::RetNotChallengeMissionEvent),
            "RET_GACHA_ID_NOT_EXIST" => Some(Self::RetGachaIdNotExist),
            "RET_GACHA_NUM_INVALID" => Some(Self::RetGachaNumInvalid),
            "RET_GACHA_FIRST_GACHA_MUST_ONE" => Some(Self::RetGachaFirstGachaMustOne),
            "RET_GACHA_REQ_DUPLICATED" => Some(Self::RetGachaReqDuplicated),
            "RET_GACHA_NOT_IN_SCHEDULE" => Some(Self::RetGachaNotInSchedule),
            "RET_GACHA_NEWBIE_CLOSE" => Some(Self::RetGachaNewbieClose),
            "RET_GACHA_TODAY_LIMITED" => Some(Self::RetGachaTodayLimited),
            "RET_GACHA_NOT_SUPPORT" => Some(Self::RetGachaNotSupport),
            "RET_GACHA_CEILING_NOT_ENOUGH" => Some(Self::RetGachaCeilingNotEnough),
            "RET_GACHA_CEILING_CLOSE" => Some(Self::RetGachaCeilingClose),
            "RET_NOT_IN_RAID" => Some(Self::RetNotInRaid),
            "RET_RAID_DOING" => Some(Self::RetRaidDoing),
            "RET_NOT_PROP" => Some(Self::RetNotProp),
            "RET_RAID_ID_NOT_MATCH" => Some(Self::RetRaidIdNotMatch),
            "RET_RAID_RESTART_NOT_MATCH" => Some(Self::RetRaidRestartNotMatch),
            "RET_RAID_LIMIT" => Some(Self::RetRaidLimit),
            "RET_RAID_AVATAR_LIST_EMPTY" => Some(Self::RetRaidAvatarListEmpty),
            "RET_RAID_AVATAR_NOT_EXIST" => Some(Self::RetRaidAvatarNotExist),
            "RET_CHALLENGE_RAID_REWARD_ALREADY" => {
                Some(Self::RetChallengeRaidRewardAlready)
            }
            "RET_CHALLENGE_RAID_SCORE_NOT_REACH" => {
                Some(Self::RetChallengeRaidScoreNotReach)
            }
            "RET_CHALLENGE_RAID_NOT_OPEN" => Some(Self::RetChallengeRaidNotOpen),
            "RET_RAID_FINISHED" => Some(Self::RetRaidFinished),
            "RET_RAID_WORLD_LEVEL_NOT_LOCK" => Some(Self::RetRaidWorldLevelNotLock),
            "RET_RAID_CANNOT_USE_ASSIST" => Some(Self::RetRaidCannotUseAssist),
            "RET_RAID_AVATAR_NOT_MATCH" => Some(Self::RetRaidAvatarNotMatch),
            "RET_RAID_CAN_NOT_SAVE" => Some(Self::RetRaidCanNotSave),
            "RET_RAID_NO_SAVE" => Some(Self::RetRaidNoSave),
            "RET_ACTIVITY_RAID_NOT_OPEN" => Some(Self::RetActivityRaidNotOpen),
            "RET_RAID_AVATAR_CAPTAIN_NOT_EXIST" => {
                Some(Self::RetRaidAvatarCaptainNotExist)
            }
            "RET_RAID_STORY_LINE_NOT_MATCH" => Some(Self::RetRaidStoryLineNotMatch),
            "RET_TALK_EVENT_ALREADY_TAKEN" => Some(Self::RetTalkEventAlreadyTaken),
            "RET_NPC_ALREADY_MEET" => Some(Self::RetNpcAlreadyMeet),
            "RET_NPC_NOT_IN_CONFIG" => Some(Self::RetNpcNotInConfig),
            "RET_DIALOGUE_GROUP_DISMATCH" => Some(Self::RetDialogueGroupDismatch),
            "RET_DIALOGUE_EVENT_INVALID" => Some(Self::RetDialogueEventInvalid),
            "RET_TALK_EVENT_TAKE_PROTO_NOT_MATCH" => {
                Some(Self::RetTalkEventTakeProtoNotMatch)
            }
            "RET_TALK_EVENT_NOT_VALID" => Some(Self::RetTalkEventNotValid),
            "RET_EXPEDITION_CONFIG_NOT_EXIST" => Some(Self::RetExpeditionConfigNotExist),
            "RET_EXPEDITION_REWARD_CONFIG_NOT_EXIST" => {
                Some(Self::RetExpeditionRewardConfigNotExist)
            }
            "RET_EXPEDITION_NOT_UNLOCKED" => Some(Self::RetExpeditionNotUnlocked),
            "RET_EXPEDITION_ALREADY_ACCEPTED" => Some(Self::RetExpeditionAlreadyAccepted),
            "RET_EXPEDITION_REPEATED_AVATAR" => Some(Self::RetExpeditionRepeatedAvatar),
            "RET_AVATAR_ALREADY_DISPATCHED" => Some(Self::RetAvatarAlreadyDispatched),
            "RET_EXPEDITION_NOT_ACCEPTED" => Some(Self::RetExpeditionNotAccepted),
            "RET_EXPEDITION_NOT_FINISH" => Some(Self::RetExpeditionNotFinish),
            "RET_EXPEDITION_ALREADY_FINISH" => Some(Self::RetExpeditionAlreadyFinish),
            "RET_EXPEDITION_TEAM_COUNT_LIMIT" => Some(Self::RetExpeditionTeamCountLimit),
            "RET_EXPEDITION_AVATAR_NUM_NOT_MATCH" => {
                Some(Self::RetExpeditionAvatarNumNotMatch)
            }
            "RET_EXPEDITION_NOT_OPEN" => Some(Self::RetExpeditionNotOpen),
            "RET_EXPEDITION_FRIEND_AVATAR_NOT_VALID" => {
                Some(Self::RetExpeditionFriendAvatarNotValid)
            }
            "RET_EXPEDITION_NOT_PUBLISHED" => Some(Self::RetExpeditionNotPublished),
            "RET_LOGIN_ACTIVITY_HAS_TAKEN" => Some(Self::RetLoginActivityHasTaken),
            "RET_LOGIN_ACTIVITY_DAYS_LACK" => Some(Self::RetLoginActivityDaysLack),
            "RET_TRIAL_ACTIVITY_REWARD_ALREADY_TAKE" => {
                Some(Self::RetTrialActivityRewardAlreadyTake)
            }
            "RET_TRIAL_ACTIVITY_STAGE_NOT_FINISH" => {
                Some(Self::RetTrialActivityStageNotFinish)
            }
            "RET_MATERIAL_SUBMIT_ACTIVITY_HAS_TAKEN" => {
                Some(Self::RetMaterialSubmitActivityHasTaken)
            }
            "RET_MATERIAL_SUBMIT_ACTIVITY_MATERIAL_NOT_SUBMITTED" => {
                Some(Self::RetMaterialSubmitActivityMaterialNotSubmitted)
            }
            "RET_MATERIAL_SUBMIT_ACTIVITY_MATERIAL_ALREADY_SUBMITTED" => {
                Some(Self::RetMaterialSubmitActivityMaterialAlreadySubmitted)
            }
            "RET_FANTASTIC_STORY_ACTIVITY_STORY_ERROR" => {
                Some(Self::RetFantasticStoryActivityStoryError)
            }
            "RET_FANTASTIC_STORY_ACTIVITY_STORY_NOT_OPEN" => {
                Some(Self::RetFantasticStoryActivityStoryNotOpen)
            }
            "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_ERROR" => {
                Some(Self::RetFantasticStoryActivityBattleError)
            }
            "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_NOT_OPEN" => {
                Some(Self::RetFantasticStoryActivityBattleNotOpen)
            }
            "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_AVATAR_ERROR" => {
                Some(Self::RetFantasticStoryActivityBattleAvatarError)
            }
            "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_BUFF_ERROR" => {
                Some(Self::RetFantasticStoryActivityBattleBuffError)
            }
            "RET_FANTASTIC_STORY_ACTIVITY_PRE_BATTLE_SCORE_NOT_ENOUGH" => {
                Some(Self::RetFantasticStoryActivityPreBattleScoreNotEnough)
            }
            "RET_TRIAL_ACTIVITY_ALREADY_IN_TRIAL_ACTIVITY" => {
                Some(Self::RetTrialActivityAlreadyInTrialActivity)
            }
            "RET_COMMON_ACTIVITY_NOT_OPEN" => Some(Self::RetCommonActivityNotOpen),
            "RET_BENEFIT_NOT_READY" => Some(Self::RetBenefitNotReady),
            "RET_COMMON_ACTIVITY_BUSY" => Some(Self::RetCommonActivityBusy),
            "RET_MESSAGE_CONFIG_NOT_EXIST" => Some(Self::RetMessageConfigNotExist),
            "RET_MESSAGE_SECTION_NOT_TAKE" => Some(Self::RetMessageSectionNotTake),
            "RET_MESSAGE_GROUP_NOT_TAKE" => Some(Self::RetMessageGroupNotTake),
            "RET_MESSAGE_SECTION_ID_NOT_MATCH" => Some(Self::RetMessageSectionIdNotMatch),
            "RET_MESSAGE_SECTION_CAN_NOT_FINISH" => {
                Some(Self::RetMessageSectionCanNotFinish)
            }
            "RET_MESSAGE_ITEM_CAN_NOT_FINISH" => Some(Self::RetMessageItemCanNotFinish),
            "RET_MESSAGE_ITEM_RAID_CAN_NOT_FINISH" => {
                Some(Self::RetMessageItemRaidCanNotFinish)
            }
            "RET_FRIEND_ALREADY_IS_FRIEND" => Some(Self::RetFriendAlreadyIsFriend),
            "RET_FRIEND_IS_NOT_FRIEND" => Some(Self::RetFriendIsNotFriend),
            "RET_FRIEND_APPLY_EXPIRE" => Some(Self::RetFriendApplyExpire),
            "RET_FRIEND_IN_BLACKLIST" => Some(Self::RetFriendInBlacklist),
            "RET_FRIEND_NOT_IN_BLACKLIST" => Some(Self::RetFriendNotInBlacklist),
            "RET_FRIEND_NUMBER_LIMIT" => Some(Self::RetFriendNumberLimit),
            "RET_FRIEND_BLACKLIST_NUMBER_LIMIT" => {
                Some(Self::RetFriendBlacklistNumberLimit)
            }
            "RET_FRIEND_DAILY_APPLY_LIMIT" => Some(Self::RetFriendDailyApplyLimit),
            "RET_FRIEND_IN_HANDLE_LIMIT" => Some(Self::RetFriendInHandleLimit),
            "RET_FRIEND_APPLY_IN_CD" => Some(Self::RetFriendApplyInCd),
            "RET_FRIEND_REMARK_NAME_FORMAT_ERROR" => {
                Some(Self::RetFriendRemarkNameFormatError)
            }
            "RET_FRIEND_PLAYER_NOT_FOUND" => Some(Self::RetFriendPlayerNotFound),
            "RET_FRIEND_IN_TARGET_BLACKLIST" => Some(Self::RetFriendInTargetBlacklist),
            "RET_FRIEND_TARGET_NUMBER_LIMIT" => Some(Self::RetFriendTargetNumberLimit),
            "RET_ASSIST_QUERY_TOO_FAST" => Some(Self::RetAssistQueryTooFast),
            "RET_ASSIST_NOT_EXIST" => Some(Self::RetAssistNotExist),
            "RET_ASSIST_USED_ALREADY" => Some(Self::RetAssistUsedAlready),
            "RET_FRIEND_REPORT_REASON_FORMAT_ERROR" => {
                Some(Self::RetFriendReportReasonFormatError)
            }
            "RET_FRIEND_REPORT_SENSITIVE_WORDS" => {
                Some(Self::RetFriendReportSensitiveWords)
            }
            "RET_ASSIST_USED_TIMES_OVER" => Some(Self::RetAssistUsedTimesOver),
            "RET_ASSIST_QUIT_ALREADY" => Some(Self::RetAssistQuitAlready),
            "RET_ASSIST_AVATAR_IN_LINEUP" => Some(Self::RetAssistAvatarInLineup),
            "RET_ASSIST_NO_REWARD" => Some(Self::RetAssistNoReward),
            "RET_FRIEND_SEARCH_NUM_LIMIT" => Some(Self::RetFriendSearchNumLimit),
            "RET_FRIEND_SEARCH_IN_CD" => Some(Self::RetFriendSearchInCd),
            "RET_FRIEND_REMARK_NAME_UTF8_ERROR" => {
                Some(Self::RetFriendRemarkNameUtf8Error)
            }
            "RET_FRIEND_REPORT_REASON_UTF8_ERROR" => {
                Some(Self::RetFriendReportReasonUtf8Error)
            }
            "RET_ASSIST_SET_ALREADY" => Some(Self::RetAssistSetAlready),
            "RET_FRIEND_TARGET_FORBID_OTHER_APPLY" => {
                Some(Self::RetFriendTargetForbidOtherApply)
            }
            "RET_FRIEND_MARKED_CNT_MAX" => Some(Self::RetFriendMarkedCntMax),
            "RET_FRIEND_MARKED_ALREADY" => Some(Self::RetFriendMarkedAlready),
            "RET_FRIEND_NOT_MARKED" => Some(Self::RetFriendNotMarked),
            "RET_FRIEND_CHALLENGE_LINEUP_RECOMMEND_IN_CD" => {
                Some(Self::RetFriendChallengeLineupRecommendInCd)
            }
            "RET_VIEW_PLAYER_CARD_IN_CD" => Some(Self::RetViewPlayerCardInCd),
            "RET_VIEW_PLAYER_BATTLE_RECORD_IN_CD" => {
                Some(Self::RetViewPlayerBattleRecordInCd)
            }
            "RET_PLAYER_BOARD_HEAD_ICON_NOT_EXIST" => {
                Some(Self::RetPlayerBoardHeadIconNotExist)
            }
            "RET_PLAYER_BOARD_HEAD_ICON_LOCKED" => {
                Some(Self::RetPlayerBoardHeadIconLocked)
            }
            "RET_PLAYER_BOARD_HEAD_ICON_ALREADY_UNLOCKED" => {
                Some(Self::RetPlayerBoardHeadIconAlreadyUnlocked)
            }
            "RET_PLAYER_BOARD_DISPLAY_AVATAR_NOT_EXIST" => {
                Some(Self::RetPlayerBoardDisplayAvatarNotExist)
            }
            "RET_PLAYER_BOARD_DISPLAY_AVATAR_EXCEED_LIMIT" => {
                Some(Self::RetPlayerBoardDisplayAvatarExceedLimit)
            }
            "RET_PLAYER_BOARD_DISPLAY_REPEATED_AVATAR" => {
                Some(Self::RetPlayerBoardDisplayRepeatedAvatar)
            }
            "RET_PLAYER_BOARD_DISPLAY_AVATAR_SAME_POS" => {
                Some(Self::RetPlayerBoardDisplayAvatarSamePos)
            }
            "RET_PLAYER_BOARD_DISPLAY_AVATAR_LOCKED" => {
                Some(Self::RetPlayerBoardDisplayAvatarLocked)
            }
            "RET_SIGNATURE_LENGTH_EXCEED_LIMIT" => {
                Some(Self::RetSignatureLengthExceedLimit)
            }
            "RET_SIGNATURE_SENSITIVE_WORDS" => Some(Self::RetSignatureSensitiveWords),
            "RET_PLAYER_BOARD_ASSIST_AVATAR_NOT_EXIST" => {
                Some(Self::RetPlayerBoardAssistAvatarNotExist)
            }
            "RET_PLAYER_BOARD_ASSIST_AVATAR_LOCKED" => {
                Some(Self::RetPlayerBoardAssistAvatarLocked)
            }
            "RET_SIGNATURE_UTF8_ERROR" => Some(Self::RetSignatureUtf8Error),
            "RET_PLAYER_BOARD_ASSIST_AVATAR_CNT_ERROR" => {
                Some(Self::RetPlayerBoardAssistAvatarCntError)
            }
            "RET_BATTLE_PASS_TIER_NOT_VALID" => Some(Self::RetBattlePassTierNotValid),
            "RET_BATTLE_PASS_LEVEL_NOT_MEET" => Some(Self::RetBattlePassLevelNotMeet),
            "RET_BATTLE_PASS_REWARD_TAKE_ALREADY" => {
                Some(Self::RetBattlePassRewardTakeAlready)
            }
            "RET_BATTLE_PASS_NOT_PREMIUM" => Some(Self::RetBattlePassNotPremium),
            "RET_BATTLE_PASS_NOT_DOING" => Some(Self::RetBattlePassNotDoing),
            "RET_BATTLE_PASS_LEVEL_INVALID" => Some(Self::RetBattlePassLevelInvalid),
            "RET_BATTLE_PASS_NOT_UNLOCK" => Some(Self::RetBattlePassNotUnlock),
            "RET_BATTLE_PASS_NO_REWARD" => Some(Self::RetBattlePassNoReward),
            "RET_BATTLE_PASS_QUEST_NOT_VALID" => Some(Self::RetBattlePassQuestNotValid),
            "RET_BATTLE_PASS_NOT_CHOOSE_OPTIONAL" => {
                Some(Self::RetBattlePassNotChooseOptional)
            }
            "RET_BATTLE_PASS_NOT_TAKE_REWARD" => Some(Self::RetBattlePassNotTakeReward),
            "RET_BATTLE_PASS_OPTIONAL_NOT_VALID" => {
                Some(Self::RetBattlePassOptionalNotValid)
            }
            "RET_BATTLE_PASS_BUY_ALREADY" => Some(Self::RetBattlePassBuyAlready),
            "RET_BATTLE_PASS_NEAR_END" => Some(Self::RetBattlePassNearEnd),
            "RET_MUSIC_LOCKED" => Some(Self::RetMusicLocked),
            "RET_MUSIC_NOT_EXIST" => Some(Self::RetMusicNotExist),
            "RET_MUSIC_UNLOCK_FAILED" => Some(Self::RetMusicUnlockFailed),
            "RET_PUNK_LORD_LACK_SUMMON_TIMES" => Some(Self::RetPunkLordLackSummonTimes),
            "RET_PUNK_LORD_ATTACKING_MONSTER_LIMIT" => {
                Some(Self::RetPunkLordAttackingMonsterLimit)
            }
            "RET_PUNK_LORD_MONSTER_NOT_EXIST" => Some(Self::RetPunkLordMonsterNotExist),
            "RET_PUNK_LORD_MONSTER_ALREADY_SHARED" => {
                Some(Self::RetPunkLordMonsterAlreadyShared)
            }
            "RET_PUNK_LORD_MONSTER_EXPIRED" => Some(Self::RetPunkLordMonsterExpired),
            "RET_PUNK_LORD_SELF_MONSTER_ATTACK_LIMIT" => {
                Some(Self::RetPunkLordSelfMonsterAttackLimit)
            }
            "RET_PUNK_LORD_LACK_SUPPORT_TIMES" => Some(Self::RetPunkLordLackSupportTimes),
            "RET_PUNK_LORD_MONSTER_ALREADY_KILLED" => {
                Some(Self::RetPunkLordMonsterAlreadyKilled)
            }
            "RET_PUNK_LORD_MONSTER_ATTACKER_LIMIT" => {
                Some(Self::RetPunkLordMonsterAttackerLimit)
            }
            "RET_PUNK_LORD_WORLD_LEVLE_NOT_VALID" => {
                Some(Self::RetPunkLordWorldLevleNotValid)
            }
            "RET_PUNK_LORD_REWARD_LEVLE_NOT_EXIST" => {
                Some(Self::RetPunkLordRewardLevleNotExist)
            }
            "RET_PUNK_LORD_POINT_NOT_MEET" => Some(Self::RetPunkLordPointNotMeet),
            "RET_PUNK_LORD_IN_ATTACKING" => Some(Self::RetPunkLordInAttacking),
            "RET_PUNK_LORD_OPERATION_IN_CD" => Some(Self::RetPunkLordOperationInCd),
            "RET_PUNK_LORD_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetPunkLordRewardAlreadyTaken)
            }
            "RET_PUNK_LORD_OVER_BONUS_REWARD_LIMIT" => {
                Some(Self::RetPunkLordOverBonusRewardLimit)
            }
            "RET_PUNK_LORD_NOT_IN_SCHEDULE" => Some(Self::RetPunkLordNotInSchedule),
            "RET_PUNK_LORD_MONSTER_NOT_ATTACKED" => {
                Some(Self::RetPunkLordMonsterNotAttacked)
            }
            "RET_PUNK_LORD_MONSTER_NOT_KILLED" => Some(Self::RetPunkLordMonsterNotKilled),
            "RET_PUNK_LORD_MONSTER_KILLED_SCORE_ALREADY_TAKE" => {
                Some(Self::RetPunkLordMonsterKilledScoreAlreadyTake)
            }
            "RET_PUNK_LORD_REWARD_LEVLE_ALREADY_TAKE" => {
                Some(Self::RetPunkLordRewardLevleAlreadyTake)
            }
            "RET_DAILY_ACTIVE_LEVEL_INVALID" => Some(Self::RetDailyActiveLevelInvalid),
            "RET_DAILY_ACTIVE_LEVEL_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetDailyActiveLevelRewardAlreadyTaken)
            }
            "RET_DAILY_ACTIVE_LEVEL_AP_NOT_ENOUGH" => {
                Some(Self::RetDailyActiveLevelApNotEnough)
            }
            "RET_DAILY_MEET_PAM" => Some(Self::RetDailyMeetPam),
            "RET_REPLAY_ID_NOT_MATCH" => Some(Self::RetReplayIdNotMatch),
            "RET_REPLAY_REQ_NOT_VALID" => Some(Self::RetReplayReqNotValid),
            "RET_FIGHT_ACTIVITY_DIFFICULTY_LEVEL_NOT_PASSED" => {
                Some(Self::RetFightActivityDifficultyLevelNotPassed)
            }
            "RET_FIGHT_ACTIVITY_DIFFICULTY_LEVEL_REWARD_ALREADY_TAKE" => {
                Some(Self::RetFightActivityDifficultyLevelRewardAlreadyTake)
            }
            "RET_FIGHT_ACTIVITY_STAGE_NOT_OPEN" => {
                Some(Self::RetFightActivityStageNotOpen)
            }
            "RET_FIGHT_ACTIVITY_LEVEL_NOT_UNLOCK" => {
                Some(Self::RetFightActivityLevelNotUnlock)
            }
            "RET_TRAIN_VISITOR_VISITOR_NOT_EXIST" => {
                Some(Self::RetTrainVisitorVisitorNotExist)
            }
            "RET_TRAIN_VISITOR_BEHAVIOR_NOT_EXIST" => {
                Some(Self::RetTrainVisitorBehaviorNotExist)
            }
            "RET_TRAIN_VISITOR_BEHAVIOR_FINISHED" => {
                Some(Self::RetTrainVisitorBehaviorFinished)
            }
            "RET_TRAIN_VISITOR_ALL_BEHAVIOR_REWARD_TAKEN" => {
                Some(Self::RetTrainVisitorAllBehaviorRewardTaken)
            }
            "RET_TRAIN_VISITOR_GET_ON_MISSION_NOT_FINISH" => {
                Some(Self::RetTrainVisitorGetOnMissionNotFinish)
            }
            "RET_TRAIN_VISITOR_NOT_GET_OFF_OR_BE_TRAIN_MEMBER" => {
                Some(Self::RetTrainVisitorNotGetOffOrBeTrainMember)
            }
            "RET_TEXT_JOIN_UNKNOW_IS_OVERRIDE" => Some(Self::RetTextJoinUnknowIsOverride),
            "RET_TEXT_JOIN_ID_NOT_EXIST" => Some(Self::RetTextJoinIdNotExist),
            "RET_TEXT_JOIN_CAN_NOT_OVERRIDE" => Some(Self::RetTextJoinCanNotOverride),
            "RET_TEXT_JOIN_ITEM_ID_ERROR" => Some(Self::RetTextJoinItemIdError),
            "RET_TEXT_JOIN_SENSITIVE_CHECK_ERROR" => {
                Some(Self::RetTextJoinSensitiveCheckError)
            }
            "RET_TEXT_JOIN_MUST_OVERRIDE" => Some(Self::RetTextJoinMustOverride),
            "RET_TEXT_JOIN_TEXT_EMPTY" => Some(Self::RetTextJoinTextEmpty),
            "RET_TEXT_JOIN_TEXT_FORMAT_ERROR" => Some(Self::RetTextJoinTextFormatError),
            "RET_TEXT_JOIN_TEXT_UTF8_ERROR" => Some(Self::RetTextJoinTextUtf8Error),
            "RET_TEXT_JOIN_BATCH_REQ_ID_REPEAT" => {
                Some(Self::RetTextJoinBatchReqIdRepeat)
            }
            "RET_TEXT_JOIN_TYPE_NOT_SUPPORT_BATCH_REQ" => {
                Some(Self::RetTextJoinTypeNotSupportBatchReq)
            }
            "RET_TEXT_JOIN_AVATAR_ID_NOT_EXIST" => {
                Some(Self::RetTextJoinAvatarIdNotExist)
            }
            "RET_TEXT_JOIN_UNKNOW_TYPE" => Some(Self::RetTextJoinUnknowType),
            "RET_PAM_MISSION_MISSION_ID_ERROR" => Some(Self::RetPamMissionMissionIdError),
            "RET_PAM_MISSION_MISSION_EXPIRE" => Some(Self::RetPamMissionMissionExpire),
            "RET_CHAT_TYPE_NOT_EXIST" => Some(Self::RetChatTypeNotExist),
            "RET_MSG_TYPE_NOT_EXIST" => Some(Self::RetMsgTypeNotExist),
            "RET_CHAT_NO_TARGET_UID" => Some(Self::RetChatNoTargetUid),
            "RET_CHAT_MSG_EMPTY" => Some(Self::RetChatMsgEmpty),
            "RET_CHAT_MSG_EXCEED_LIMIT" => Some(Self::RetChatMsgExceedLimit),
            "RET_CHAT_MSG_SENSITIVE_CHECK_ERROR" => {
                Some(Self::RetChatMsgSensitiveCheckError)
            }
            "RET_CHAT_MSG_UTF8_ERROR" => Some(Self::RetChatMsgUtf8Error),
            "RET_CHAT_FORBID_SWITCH_OPEN" => Some(Self::RetChatForbidSwitchOpen),
            "RET_CHAT_FORBID" => Some(Self::RetChatForbid),
            "RET_CHAT_MSG_INCLUDE_SPECIAL_STR" => Some(Self::RetChatMsgIncludeSpecialStr),
            "RET_CHAT_MSG_EMOJI_NOT_EXIST" => Some(Self::RetChatMsgEmojiNotExist),
            "RET_CHAT_MSG_EMOJI_GENDER_NOT_MATCH" => {
                Some(Self::RetChatMsgEmojiGenderNotMatch)
            }
            "RET_CHAT_MSG_EMOJI_NOT_MARKED" => Some(Self::RetChatMsgEmojiNotMarked),
            "RET_CHAT_MSG_EMOJI_ALREADY_MARKED" => {
                Some(Self::RetChatMsgEmojiAlreadyMarked)
            }
            "RET_CHAT_MSG_EMOJI_MARKED_MAX_LIMIT" => {
                Some(Self::RetChatMsgEmojiMarkedMaxLimit)
            }
            "RET_BOXING_CLUB_CHALLENGE_NOT_OPEN" => {
                Some(Self::RetBoxingClubChallengeNotOpen)
            }
            "RET_MUSEUM_NOT_OPEN" => Some(Self::RetMuseumNotOpen),
            "RET_MUSEUM_TURN_CNT_NOT_MATCH" => Some(Self::RetMuseumTurnCntNotMatch),
            "RET_MUSEUM_PHASE_NOT_REACH" => Some(Self::RetMuseumPhaseNotReach),
            "RET_MUSEUM_UNKNOW_STUFF" => Some(Self::RetMuseumUnknowStuff),
            "RET_MUSEUM_UNKNOW_AREA" => Some(Self::RetMuseumUnknowArea),
            "RET_MUSEUM_UNKNOW_POS" => Some(Self::RetMuseumUnknowPos),
            "RET_MUSEUM_STUFF_ALREADY_IN_AREA" => Some(Self::RetMuseumStuffAlreadyInArea),
            "RET_MUSEUM_STUFF_NOT_IN_AREA" => Some(Self::RetMuseumStuffNotInArea),
            "RET_MUSEUM_GET_NPC_REPEAT" => Some(Self::RetMuseumGetNpcRepeat),
            "RET_MUSEUM_GET_NPC_UNLOCK" => Some(Self::RetMuseumGetNpcUnlock),
            "RET_MUSEUM_GET_NPC_NOT_ENOUGH" => Some(Self::RetMuseumGetNpcNotEnough),
            "RET_MUSEUM_CHANGE_STUFF_AREA_ERROR" => {
                Some(Self::RetMuseumChangeStuffAreaError)
            }
            "RET_MUSEUM_NOT_INIT" => Some(Self::RetMuseumNotInit),
            "RET_MUSEUM_EVENT_ERROR" => Some(Self::RetMuseumEventError),
            "RET_MUSEUM_UNKNOW_CHOOSE_EVENT_ID" => {
                Some(Self::RetMuseumUnknowChooseEventId)
            }
            "RET_MUSEUM_EVENT_ORDER_NOT_MATCH" => Some(Self::RetMuseumEventOrderNotMatch),
            "RET_MUSEUM_EVENT_PHASE_NOT_UNLOCK" => {
                Some(Self::RetMuseumEventPhaseNotUnlock)
            }
            "RET_MUSEUM_EVENT_MISSION_NOT_FOUND" => {
                Some(Self::RetMuseumEventMissionNotFound)
            }
            "RET_MUSEUM_AREA_LEVEL_UP_ALREADY" => Some(Self::RetMuseumAreaLevelUpAlready),
            "RET_MUSEUM_STUFF_ALREADY_USED" => Some(Self::RetMuseumStuffAlreadyUsed),
            "RET_MUSEUM_EVENT_ROUND_NOT_UNLOCK" => {
                Some(Self::RetMuseumEventRoundNotUnlock)
            }
            "RET_MUSEUM_STUFF_IN_AREA" => Some(Self::RetMuseumStuffInArea),
            "RET_MUSEUM_STUFF_DISPATCH" => Some(Self::RetMuseumStuffDispatch),
            "RET_MUSEUM_IS_END" => Some(Self::RetMuseumIsEnd),
            "RET_MUSEUM_STUFF_LEAVING" => Some(Self::RetMuseumStuffLeaving),
            "RET_MUSEUM_EVENT_MISSION_NOT_FINISH" => {
                Some(Self::RetMuseumEventMissionNotFinish)
            }
            "RET_MUSEUM_COLLECT_REWARD_NOT_EXIST" => {
                Some(Self::RetMuseumCollectRewardNotExist)
            }
            "RET_MUSEUM_COLLECT_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetMuseumCollectRewardAlreadyTaken)
            }
            "RET_MUSEUM_ACCEPT_MISSION_MAX_LIMIT" => {
                Some(Self::RetMuseumAcceptMissionMaxLimit)
            }
            "RET_ROGUE_CHALLENGE_NOT_OPEN" => Some(Self::RetRogueChallengeNotOpen),
            "RET_ROGUE_CHALLENGE_ASSIS_REFRESH_LIMIT" => {
                Some(Self::RetRogueChallengeAssisRefreshLimit)
            }
            "RET_ALLEY_NOT_INIT" => Some(Self::RetAlleyNotInit),
            "RET_ALLEY_NOT_OPEN" => Some(Self::RetAlleyNotOpen),
            "RET_ALLEY_MAP_NOT_EXIST" => Some(Self::RetAlleyMapNotExist),
            "RET_ALLEY_EMPTY_POS_LIST" => Some(Self::RetAlleyEmptyPosList),
            "RET_ALLEY_LINE_POS_INVALID" => Some(Self::RetAlleyLinePosInvalid),
            "RET_ALLEY_SHOP_NOT_UNLOCK" => Some(Self::RetAlleyShopNotUnlock),
            "RET_ALLEY_DEPOT_FULL" => Some(Self::RetAlleyDepotFull),
            "RET_ALLEY_SHOP_NOT_INCLUDE" => Some(Self::RetAlleyShopNotInclude),
            "RET_ALLEY_EVENT_NOT_UNLOCK" => Some(Self::RetAlleyEventNotUnlock),
            "RET_ALLEY_EVENT_NOT_REFRESH" => Some(Self::RetAlleyEventNotRefresh),
            "RET_ALLEY_EVENT_STATE_DOING" => Some(Self::RetAlleyEventStateDoing),
            "RET_ALLEY_EVENT_STATE_FINISH" => Some(Self::RetAlleyEventStateFinish),
            "RET_ALLEY_EVENT_ERROR" => Some(Self::RetAlleyEventError),
            "RET_ALLEY_REWARD_LEVEL_ERROR" => Some(Self::RetAlleyRewardLevelError),
            "RET_ALLEY_REWARD_PRESTIGE_NOT_ENOUGH" => {
                Some(Self::RetAlleyRewardPrestigeNotEnough)
            }
            "RET_ALLEY_SHIP_EMPTY" => Some(Self::RetAlleyShipEmpty),
            "RET_ALLEY_SHIP_ID_DISMATCH" => Some(Self::RetAlleyShipIdDismatch),
            "RET_ALLEY_SHIP_NOT_EXIST" => Some(Self::RetAlleyShipNotExist),
            "RET_ALLEY_SHIP_NOT_UNLOCK" => Some(Self::RetAlleyShipNotUnlock),
            "RET_ALLEY_GOODS_NOT_EXIST" => Some(Self::RetAlleyGoodsNotExist),
            "RET_ALLEY_GOODS_NOT_UNLOCK" => Some(Self::RetAlleyGoodsNotUnlock),
            "RET_ALLEY_PROFIT_NOT_POSITIVE" => Some(Self::RetAlleyProfitNotPositive),
            "RET_ALLEY_SPECIAL_ORDER_DISMATCH" => {
                Some(Self::RetAlleySpecialOrderDismatch)
            }
            "RET_ALLEY_ORDER_GOODS_OVER_LIMIT" => Some(Self::RetAlleyOrderGoodsOverLimit),
            "RET_ALLEY_SPECIAL_ORDER_CONDITION_NOT_MEET" => {
                Some(Self::RetAlleySpecialOrderConditionNotMeet)
            }
            "RET_ALLEY_DEPOT_SIZE_OVER_LIMIT" => Some(Self::RetAlleyDepotSizeOverLimit),
            "RET_ALLEY_GOODS_NOT_ENOUGH" => Some(Self::RetAlleyGoodsNotEnough),
            "RET_ALLEY_ORDER_INDEX_INVALID" => Some(Self::RetAlleyOrderIndexInvalid),
            "RET_ALLEY_REWARD_ALREADY_TAKE" => Some(Self::RetAlleyRewardAlreadyTake),
            "RET_ALLEY_REWARD_NOT_EXIST" => Some(Self::RetAlleyRewardNotExist),
            "RET_ALLEY_MAIN_MISSION_NOT_DOING" => Some(Self::RetAlleyMainMissionNotDoing),
            "RET_ALLEY_CRITICAL_EVENT_NOT_FINISH" => {
                Some(Self::RetAlleyCriticalEventNotFinish)
            }
            "RET_ALLEY_SHOP_GOODS_NOT_VALID" => Some(Self::RetAlleyShopGoodsNotValid),
            "RET_ALLEY_SLASH_NOT_OPEN" => Some(Self::RetAlleySlashNotOpen),
            "RET_ALLEY_PLACING_ANCHOR_INVALID" => {
                Some(Self::RetAlleyPlacingAnchorInvalid)
            }
            "RET_ALLEY_PLACING_GOODS_INDEX_INVALID" => {
                Some(Self::RetAlleyPlacingGoodsIndexInvalid)
            }
            "RET_ALLEY_SAVE_MAP_TOO_QUICK" => Some(Self::RetAlleySaveMapTooQuick),
            "RET_ALLEY_MAP_NOT_LINK" => Some(Self::RetAlleyMapNotLink),
            "RET_ALLEY_FUNDS_NOT_LOWER_BASE" => Some(Self::RetAlleyFundsNotLowerBase),
            "RET_ALLEY_EVENT_NOT_FINISH" => Some(Self::RetAlleyEventNotFinish),
            "RET_ALLEY_NORMAL_ORDER_NOT_MEET" => Some(Self::RetAlleyNormalOrderNotMeet),
            "RET_PLAYER_RETURN_NOT_OPEN" => Some(Self::RetPlayerReturnNotOpen),
            "RET_PLAYER_RETURN_IS_SIGNED" => Some(Self::RetPlayerReturnIsSigned),
            "RET_PLAYER_RETURN_POINT_NOT_ENOUGH" => {
                Some(Self::RetPlayerReturnPointNotEnough)
            }
            "RET_PLAYER_RETURN_CONDITION_INVALID" => {
                Some(Self::RetPlayerReturnConditionInvalid)
            }
            "RET_PLAYER_RETURN_HAS_SIGNED" => Some(Self::RetPlayerReturnHasSigned),
            "RET_PLAYER_RETURN_REWARD_TAKEN" => Some(Self::RetPlayerReturnRewardTaken),
            "RET_AETHER_DIVIDE_NO_LINEUP" => Some(Self::RetAetherDivideNoLineup),
            "RET_AETHER_DIVIDE_LINEUP_INVALID" => {
                Some(Self::RetAetherDivideLineupInvalid)
            }
            "RET_CHAT_BUBBLE_ID_ERROR" => Some(Self::RetChatBubbleIdError),
            "RET_CHAT_BUBBLE_ID_NOT_UNLOCK" => Some(Self::RetChatBubbleIdNotUnlock),
            "RET_PHONE_THEME_ID_ERROR" => Some(Self::RetPhoneThemeIdError),
            "RET_PHONE_THEME_ID_NOT_UNLOCK" => Some(Self::RetPhoneThemeIdNotUnlock),
            "RET_CHAT_BUBBLE_SELECT_IS_CURRENT" => {
                Some(Self::RetChatBubbleSelectIsCurrent)
            }
            "RET_PHONE_THEME_SELECT_IS_CURRENT" => {
                Some(Self::RetPhoneThemeSelectIsCurrent)
            }
            "RET_CHESS_ROGUE_CONFIG_NOT_FOUND" => Some(Self::RetChessRogueConfigNotFound),
            "RET_CHESS_ROGUE_CONFIG_INVALID" => Some(Self::RetChessRogueConfigInvalid),
            "RET_CHESS_ROGUE_NO_VALID_ROOM" => Some(Self::RetChessRogueNoValidRoom),
            "RET_CHESS_ROGUE_NO_CELL_INFO" => Some(Self::RetChessRogueNoCellInfo),
            "RET_CHESS_ROGUE_CELL_NOT_FINISH" => Some(Self::RetChessRogueCellNotFinish),
            "RET_CHESS_ROGUE_CELL_IS_LOCKED" => Some(Self::RetChessRogueCellIsLocked),
            "RET_CHESS_ROGUE_SCHEDULE_NOT_MATCH" => {
                Some(Self::RetChessRogueScheduleNotMatch)
            }
            "RET_CHESS_ROGUE_STATUS_FAIL" => Some(Self::RetChessRogueStatusFail),
            "RET_CHESS_ROGUE_AREA_NOT_EXIST" => Some(Self::RetChessRogueAreaNotExist),
            "RET_CHESS_ROGUE_LINEUP_FAIL" => Some(Self::RetChessRogueLineupFail),
            "RET_CHESS_ROGUE_AEON_FAIL" => Some(Self::RetChessRogueAeonFail),
            "RET_CHESS_ROGUE_ENTER_CELL_FAIL" => Some(Self::RetChessRogueEnterCellFail),
            "RET_CHESS_ROGUE_ROLL_DICE_FAIL" => Some(Self::RetChessRogueRollDiceFail),
            "RET_CHESS_ROGUE_DICE_STATUS_FAIL" => Some(Self::RetChessRogueDiceStatusFail),
            "RET_CHESS_ROGUE_DICE_CNT_NOT_FULL" => {
                Some(Self::RetChessRogueDiceCntNotFull)
            }
            "RET_CHESS_ROGUE_UNLOCK" => Some(Self::RetChessRogueUnlock),
            "RET_CHESS_ROGUE_PICK_AVATAR_FAIL" => Some(Self::RetChessRoguePickAvatarFail),
            "RET_CHESS_ROGUE_AVATAR_INVALID" => Some(Self::RetChessRogueAvatarInvalid),
            "RET_CHESS_ROGUE_CELL_CAN_NOT_SELECT" => {
                Some(Self::RetChessRogueCellCanNotSelect)
            }
            "RET_CHESS_ROGUE_DICE_CONFIRMED" => Some(Self::RetChessRogueDiceConfirmed),
            "RET_CHESS_ROGUE_NOUS_DICE_NOT_MATCH" => {
                Some(Self::RetChessRogueNousDiceNotMatch)
            }
            "RET_CHESS_ROGUE_NOUS_DICE_RARITY_FAIL" => {
                Some(Self::RetChessRogueNousDiceRarityFail)
            }
            "RET_CHESS_ROGUE_NOUS_DICE_SURFACE_DUPLICATE" => {
                Some(Self::RetChessRogueNousDiceSurfaceDuplicate)
            }
            "RET_CHESS_ROGUE_NOT_IN_ROGUE" => Some(Self::RetChessRogueNotInRogue),
            "RET_CHESS_ROGUE_NOUS_DICE_BRANCH_LIMIT" => {
                Some(Self::RetChessRogueNousDiceBranchLimit)
            }
            "RET_HELIOBUS_NOT_OPEN" => Some(Self::RetHeliobusNotOpen),
            "RET_HELIOBUS_SNS_POST_NOT_UNLOCK" => Some(Self::RetHeliobusSnsPostNotUnlock),
            "RET_HELIOBUS_SNS_ALREADY_READ" => Some(Self::RetHeliobusSnsAlreadyRead),
            "RET_HELIOBUS_SNS_ALREADY_LIKED" => Some(Self::RetHeliobusSnsAlreadyLiked),
            "RET_HELIOBUS_SNS_ALREADY_COMMENTED" => {
                Some(Self::RetHeliobusSnsAlreadyCommented)
            }
            "RET_HELIOBUS_SNS_IN_MISSION" => Some(Self::RetHeliobusSnsInMission),
            "RET_HELIOBUS_SNS_ALREADY_POSTED" => Some(Self::RetHeliobusSnsAlreadyPosted),
            "RET_HELIOBUS_SNS_NOT_DOING_MISSION" => {
                Some(Self::RetHeliobusSnsNotDoingMission)
            }
            "RET_HELIOBUS_REWARD_LEVEL_MAX" => Some(Self::RetHeliobusRewardLevelMax),
            "RET_HELIOBUS_INCOME_NOT_ENOUGH" => Some(Self::RetHeliobusIncomeNotEnough),
            "RET_HELIOBUS_SNS_COMMENT_NOT_UNLOCK" => {
                Some(Self::RetHeliobusSnsCommentNotUnlock)
            }
            "RET_HELIOBUS_CHALLENGE_NOT_UNLOCK" => {
                Some(Self::RetHeliobusChallengeNotUnlock)
            }
            "RET_HELIOBUS_CHALLENGE_ID_ERROR" => Some(Self::RetHeliobusChallengeIdError),
            "RET_HELIOBUS_SKILL_NOT_UNLOCK" => Some(Self::RetHeliobusSkillNotUnlock),
            "RET_HELIOBUS_ACCEPT_POST_MISSION_FAIL" => {
                Some(Self::RetHeliobusAcceptPostMissionFail)
            }
            "RET_HELIOBUS_SKILL_NOT_SELECTED" => Some(Self::RetHeliobusSkillNotSelected),
            "RET_HELIOBUS_PLANE_TYPE_INVALID" => Some(Self::RetHeliobusPlaneTypeInvalid),
            "RET_REDDOT_PARAM_INVALID" => Some(Self::RetReddotParamInvalid),
            "RET_REDDOT_ACTIVITY_NOT_OPEN" => Some(Self::RetReddotActivityNotOpen),
            "RET_ROGUE_ENDLESS_ACTIVITY_CONFIG_ERROR" => {
                Some(Self::RetRogueEndlessActivityConfigError)
            }
            "RET_ROGUE_ENDLESS_ACTIVITY_NOT_OPEN" => {
                Some(Self::RetRogueEndlessActivityNotOpen)
            }
            "RET_ROGUE_ENDLESS_ACTIVITY_OVER_BONUS_REWARD_LIMIT" => {
                Some(Self::RetRogueEndlessActivityOverBonusRewardLimit)
            }
            "RET_ROGUE_ENDLESS_ACTIVITY_SCORE_NOT_MEET" => {
                Some(Self::RetRogueEndlessActivityScoreNotMeet)
            }
            "RET_ROGUE_ENDLESS_ACTIVITY_REWARD_LEVLE_ALREADY_TAKE" => {
                Some(Self::RetRogueEndlessActivityRewardLevleAlreadyTake)
            }
            "RET_HEART_DIAL_SCRIPT_NOT_FOUND" => Some(Self::RetHeartDialScriptNotFound),
            "RET_HEART_DIAL_SCRIPT_EMOTION_THE_SAME" => {
                Some(Self::RetHeartDialScriptEmotionTheSame)
            }
            "RET_HEART_DIAL_SCRIPT_STEP_NOT_NORMAL" => {
                Some(Self::RetHeartDialScriptStepNotNormal)
            }
            "RET_HEART_DIAL_SCRIPT_CONDITION_NOT_MATCH" => {
                Some(Self::RetHeartDialScriptConditionNotMatch)
            }
            "RET_HEART_DIAL_SCRIPT_SUBMIT_ITEM_NUM_NOT_MATCH" => {
                Some(Self::RetHeartDialScriptSubmitItemNumNotMatch)
            }
            "RET_HEART_DIAL_SCRIPT_SUBMIT_ITEM_ID_NOT_MATCH" => {
                Some(Self::RetHeartDialScriptSubmitItemIdNotMatch)
            }
            "RET_HEART_DIAL_DIALOGUE_NOT_FOUND" => {
                Some(Self::RetHeartDialDialogueNotFound)
            }
            "RET_HEART_DIAL_DIALOGUE_ALREADY_PERFORMED" => {
                Some(Self::RetHeartDialDialogueAlreadyPerformed)
            }
            "RET_HEART_DIAL_NPC_NOT_FOUND" => Some(Self::RetHeartDialNpcNotFound),
            "RET_HEART_DIAL_TRACE_CONFIG_NOT_FOUND" => {
                Some(Self::RetHeartDialTraceConfigNotFound)
            }
            "RET_HEART_DIAL_FLOOR_TRACE_EXIST" => Some(Self::RetHeartDialFloorTraceExist),
            "RET_HEART_DIAL_TRACE_FLOOR_NOT_MATCH" => {
                Some(Self::RetHeartDialTraceFloorNotMatch)
            }
            "RET_TRAVEL_BROCHURE_CONFIG_ERROR" => {
                Some(Self::RetTravelBrochureConfigError)
            }
            "RET_TRAVEL_BROCHURE_PARAM_INVALID" => {
                Some(Self::RetTravelBrochureParamInvalid)
            }
            "RET_TRAVEL_BROCHURE_LOCKED" => Some(Self::RetTravelBrochureLocked),
            "RET_TRAVEL_BROCHURE_CANNOT_OPERATE" => {
                Some(Self::RetTravelBrochureCannotOperate)
            }
            "RET_TRAVEL_BROCHURE_WORLD_ID_NOT_MATCH" => {
                Some(Self::RetTravelBrochureWorldIdNotMatch)
            }
            "RET_TRAVEL_BROCHURE_HAS_NO_WORLD_BOOK" => {
                Some(Self::RetTravelBrochureHasNoWorldBook)
            }
            "RET_TRAVEL_BROCHURE_PAGE_FULL" => Some(Self::RetTravelBrochurePageFull),
            "RET_MAP_ROTATION_NOT_IN_REGION" => Some(Self::RetMapRotationNotInRegion),
            "RET_MAP_ROTATION_ROTATER_ALREADY_DEPLOYED" => {
                Some(Self::RetMapRotationRotaterAlreadyDeployed)
            }
            "RET_MAP_ROTATION_ENERGY_NOT_ENOUGH" => {
                Some(Self::RetMapRotationEnergyNotEnough)
            }
            "RET_MAP_ROTATION_ENTITY_NOT_ON_CUR_POSE" => {
                Some(Self::RetMapRotationEntityNotOnCurPose)
            }
            "RET_MAP_ROTATION_ROTATER_NOT_DEPLOYED" => {
                Some(Self::RetMapRotationRotaterNotDeployed)
            }
            "RET_MAP_ROTATION_POSE_ROTATER_MISMATCH" => {
                Some(Self::RetMapRotationPoseRotaterMismatch)
            }
            "RET_MAP_ROTATION_ROTATER_NOT_REMOVABLE" => {
                Some(Self::RetMapRotationRotaterNotRemovable)
            }
            "RET_MAP_ROTATION_ROTATER_DISPOSABLE" => {
                Some(Self::RetMapRotationRotaterDisposable)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_NOT_FOUND" => {
                Some(Self::RetSpaceZooActivityCatNotFound)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_PARAM_INVALID" => {
                Some(Self::RetSpaceZooActivityCatParamInvalid)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_ITEM_NOT_ENOUGH" => {
                Some(Self::RetSpaceZooActivityCatItemNotEnough)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_BAG_FULL" => {
                Some(Self::RetSpaceZooActivityCatBagFull)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_NOT_TO_MUTATE" => {
                Some(Self::RetSpaceZooActivityCatNotToMutate)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_STATE_ERROR" => {
                Some(Self::RetSpaceZooActivityCatStateError)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_CATTERY_LOCKED" => {
                Some(Self::RetSpaceZooActivityCatCatteryLocked)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_OUT_NOW" => {
                Some(Self::RetSpaceZooActivityCatOutNow)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_CONFIG_NOT_FOUND" => {
                Some(Self::RetSpaceZooActivityCatConfigNotFound)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_FEATURE_NOT_FOUND" => {
                Some(Self::RetSpaceZooActivityCatFeatureNotFound)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_ADD_CAT_ERROR" => {
                Some(Self::RetSpaceZooActivityCatAddCatError)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_MONEY_NOT_ENOUGH" => {
                Some(Self::RetSpaceZooActivityCatMoneyNotEnough)
            }
            "RET_SPACE_ZOO_ACTIVITY_CAT_COND_NOT_MATCH" => {
                Some(Self::RetSpaceZooActivityCatCondNotMatch)
            }
            "RET_STRONG_CHALLENGE_ACTIVITY_STAGE_CFG_MISS" => {
                Some(Self::RetStrongChallengeActivityStageCfgMiss)
            }
            "RET_STRONG_CHALLENGE_ACTIVITY_STAGE_NOT_OPEN" => {
                Some(Self::RetStrongChallengeActivityStageNotOpen)
            }
            "RET_STRONG_CHALLENGE_ACTIVITY_BUFF_ERROR" => {
                Some(Self::RetStrongChallengeActivityBuffError)
            }
            "RET_ROLL_SHOP_NOT_FOUND" => Some(Self::RetRollShopNotFound),
            "RET_ROLL_SHOP_GROUP_EMPTY" => Some(Self::RetRollShopGroupEmpty),
            "RET_ROLL_SHOP_EMPTY" => Some(Self::RetRollShopEmpty),
            "RET_ROLL_SHOP_GACHA_REQ_DUPLICATED" => {
                Some(Self::RetRollShopGachaReqDuplicated)
            }
            "RET_ROLL_SHOP_RANDOM_ERROR" => Some(Self::RetRollShopRandomError),
            "RET_ROLL_SHOP_GROUP_TYPE_NOT_FOUND" => {
                Some(Self::RetRollShopGroupTypeNotFound)
            }
            "RET_ROLL_SHOP_HAS_STORED_REWARD_ALREADY" => {
                Some(Self::RetRollShopHasStoredRewardAlready)
            }
            "RET_ROLL_SHOP_NO_STORED_REWARD" => Some(Self::RetRollShopNoStoredReward),
            "RET_ROLL_SHOP_NOT_IN_VALID_SCENE" => Some(Self::RetRollShopNotInValidScene),
            "RET_ROLL_SHOP_INVALID_ROLL_SHOP_TYPE" => {
                Some(Self::RetRollShopInvalidRollShopType)
            }
            "RET_ACTIVITY_RAID_COLLECTION_PREV_NOT_FINISH" => {
                Some(Self::RetActivityRaidCollectionPrevNotFinish)
            }
            "RET_ACTIVITY_RAID_COLLECTION_GROUP_ENTER_NEXT_UNAVAILABLE" => {
                Some(Self::RetActivityRaidCollectionGroupEnterNextUnavailable)
            }
            "RET_ACTIVITY_RAID_COLLECTION_IS_LAST" => {
                Some(Self::RetActivityRaidCollectionIsLast)
            }
            "RET_ACTIVITY_RAID_COLLECTION_IS_NOT_NEXT" => {
                Some(Self::RetActivityRaidCollectionIsNotNext)
            }
            "RET_OFFERING_NOT_UNLOCK" => Some(Self::RetOfferingNotUnlock),
            "RET_OFFERING_LEVEL_NOT_UNLOCK" => Some(Self::RetOfferingLevelNotUnlock),
            "RET_OFFERING_REACH_MAX_LEVEL" => Some(Self::RetOfferingReachMaxLevel),
            "RET_OFFERING_ITEM_NOT_ENOUGH" => Some(Self::RetOfferingItemNotEnough),
            "RET_OFFERING_LONGTAIL_NOT_OPEN" => Some(Self::RetOfferingLongtailNotOpen),
            "RET_OFFERING_REWARD_CONDITION" => Some(Self::RetOfferingRewardCondition),
            "RET_DRINK_MAKER_CHAT_INVALID" => Some(Self::RetDrinkMakerChatInvalid),
            "RET_DRINK_MAKER_PARAM_INVALID" => Some(Self::RetDrinkMakerParamInvalid),
            "RET_DRINK_MAKER_PARAM_NOT_UNLOCK" => Some(Self::RetDrinkMakerParamNotUnlock),
            "RET_DRINK_MAKER_CONFIG_NOT_FOUND" => Some(Self::RetDrinkMakerConfigNotFound),
            "RET_DRINK_MAKER_NOT_LAST_CHAT" => Some(Self::RetDrinkMakerNotLastChat),
            "RET_DRINK_MAKER_DAY_AND_FREE_PHASE_NOT_OPEN" => {
                Some(Self::RetDrinkMakerDayAndFreePhaseNotOpen)
            }
            "RET_MONOPOLY_NOT_OPEN" => Some(Self::RetMonopolyNotOpen),
            "RET_MONOPOLY_CONFIG_ERROR" => Some(Self::RetMonopolyConfigError),
            "RET_MONOPOLY_DICE_NOT_ENOUGH" => Some(Self::RetMonopolyDiceNotEnough),
            "RET_MONOPOLY_CUR_CELL_NOT_FINISH" => Some(Self::RetMonopolyCurCellNotFinish),
            "RET_MONOPOLY_COIN_NOT_ENOUGH" => Some(Self::RetMonopolyCoinNotEnough),
            "RET_MONOPOLY_CELL_WAIT_PENDING" => Some(Self::RetMonopolyCellWaitPending),
            "RET_MONOPOLY_CELL_STATE_ERROR" => Some(Self::RetMonopolyCellStateError),
            "RET_MONOPOLY_CELL_CONTENT_ERROR" => Some(Self::RetMonopolyCellContentError),
            "RET_MONOPOLY_ITEM_NOT_ENOUGH" => Some(Self::RetMonopolyItemNotEnough),
            "RET_MONOPOLY_CELL_CONTENT_CANNOT_GIVEUP" => {
                Some(Self::RetMonopolyCellContentCannotGiveup)
            }
            "RET_MONOPOLY_ASSET_LEVEL_INVALID" => {
                Some(Self::RetMonopolyAssetLevelInvalid)
            }
            "RET_MONOPOLY_TURN_NOT_FINISH" => Some(Self::RetMonopolyTurnNotFinish),
            "RET_MONOPOLY_GUIDE_NOT_FINISH" => Some(Self::RetMonopolyGuideNotFinish),
            "RET_MONOPOLY_RAFFLE_REWARD_REISSUED" => {
                Some(Self::RetMonopolyRaffleRewardReissued)
            }
            "RET_MONOPOLY_NO_GAME_ACTIVE" => Some(Self::RetMonopolyNoGameActive),
            "RET_MONOPOLY_GAME_RATIO_NOT_INCREASABLE" => {
                Some(Self::RetMonopolyGameRatioNotIncreasable)
            }
            "RET_MONOPOLY_GAME_RATIO_MAX" => Some(Self::RetMonopolyGameRatioMax),
            "RET_MONOPOLY_GAME_TARGET_RATIO_INVALID" => {
                Some(Self::RetMonopolyGameTargetRatioInvalid)
            }
            "RET_MONOPOLY_GAME_BINGO_FLIP_POS_INVALID" => {
                Some(Self::RetMonopolyGameBingoFlipPosInvalid)
            }
            "RET_MONOPOLY_GAME_GUESS_ALREADY_CHOOSE" => {
                Some(Self::RetMonopolyGameGuessAlreadyChoose)
            }
            "RET_MONOPOLY_GAME_GUESS_CHOOSE_INVALID" => {
                Some(Self::RetMonopolyGameGuessChooseInvalid)
            }
            "RET_MONOPOLY_GAME_GUESS_INFORMATION_ALREADY_BOUGHT" => {
                Some(Self::RetMonopolyGameGuessInformationAlreadyBought)
            }
            "RET_MONOPOLY_GAME_RAISE_RATIO_NOT_UNLOCK" => {
                Some(Self::RetMonopolyGameRaiseRatioNotUnlock)
            }
            "RET_MONOPOLY_FRIEND_NOT_SYNCED" => Some(Self::RetMonopolyFriendNotSynced),
            "RET_MONOPOLY_GET_FRIEND_RANKING_LIST_IN_CD" => {
                Some(Self::RetMonopolyGetFriendRankingListInCd)
            }
            "RET_MONOPOLY_LIKE_TARGET_NOT_FRIEND" => {
                Some(Self::RetMonopolyLikeTargetNotFriend)
            }
            "RET_MONOPOLY_DAILY_ALREADY_LIKED" => {
                Some(Self::RetMonopolyDailyAlreadyLiked)
            }
            "RET_MONOPOLY_SOCIAL_EVENT_STATUS_NOT_MATCH" => {
                Some(Self::RetMonopolySocialEventStatusNotMatch)
            }
            "RET_MONOPOLY_SOCIAL_EVENT_SERVER_CACHE_NOT_EXIST" => {
                Some(Self::RetMonopolySocialEventServerCacheNotExist)
            }
            "RET_MONOPOLY_ACTIVITY_ID_NOT_MATCH" => {
                Some(Self::RetMonopolyActivityIdNotMatch)
            }
            "RET_MONOPOLY_RAFFLE_POOL_NOT_EXIST" => {
                Some(Self::RetMonopolyRafflePoolNotExist)
            }
            "RET_MONOPOLY_RAFFLE_POOL_TIME_NOT_MATCH" => {
                Some(Self::RetMonopolyRafflePoolTimeNotMatch)
            }
            "RET_MONOPOLY_RAFFLE_POOL_PHASE_NOT_MEET" => {
                Some(Self::RetMonopolyRafflePoolPhaseNotMeet)
            }
            "RET_MONOPOLY_RAFFLE_POOL_SHOW_TIME_NOT_MEET" => {
                Some(Self::RetMonopolyRafflePoolShowTimeNotMeet)
            }
            "RET_MONOPOLY_RAFFLE_TICKET_NOT_FOUND" => {
                Some(Self::RetMonopolyRaffleTicketNotFound)
            }
            "RET_MONOPOLY_RAFFLE_TICKET_TIME_NOT_MEET" => {
                Some(Self::RetMonopolyRaffleTicketTimeNotMeet)
            }
            "RET_MONOPOLY_RAFFLE_TICKET_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetMonopolyRaffleTicketRewardAlreadyTaken)
            }
            "RET_MONOPOLY_RAFFLE_POOL_NOT_IN_RAFFLE_TIME" => {
                Some(Self::RetMonopolyRafflePoolNotInRaffleTime)
            }
            "RET_MONOPOLY_MBTI_REPORT_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetMonopolyMbtiReportRewardAlreadyTaken)
            }
            "RET_EVOLVE_BUILD_LEVEL_GAMING" => Some(Self::RetEvolveBuildLevelGaming),
            "RET_EVEOLVE_BUILD_LEVEL_BAN_RANDOM" => {
                Some(Self::RetEveolveBuildLevelBanRandom)
            }
            "RET_EVOLVE_BUILD_FIRST_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetEvolveBuildFirstRewardAlreadyTaken)
            }
            "RET_EVOLVE_BUILD_LEVEL_UNFINISH" => Some(Self::RetEvolveBuildLevelUnfinish),
            "RET_EVOLVE_BUILD_SHOP_ABILITY_MAX_LEVEL" => {
                Some(Self::RetEvolveBuildShopAbilityMaxLevel)
            }
            "RET_EVOLVE_BUILD_SHOP_ABILITY_MIN_LEVEL" => {
                Some(Self::RetEvolveBuildShopAbilityMinLevel)
            }
            "RET_EVOLVE_BUILD_SHOP_ABILITY_NOT_GET" => {
                Some(Self::RetEvolveBuildShopAbilityNotGet)
            }
            "RET_EVOLVE_BUILD_LEVEL_LOCK" => Some(Self::RetEvolveBuildLevelLock),
            "RET_EVOLVE_BUILD_EXP_NOT_ENOUGH" => Some(Self::RetEvolveBuildExpNotEnough),
            "RET_EVOLVE_BUILD_SHOP_ABILITY_LEVEL_ERROR" => {
                Some(Self::RetEvolveBuildShopAbilityLevelError)
            }
            "RET_EVOLVE_BUILD_ACTIVITY_NOT_OPEN" => {
                Some(Self::RetEvolveBuildActivityNotOpen)
            }
            "RET_EVOLVE_BUILD_SHOP_ABILITY_EMPTY" => {
                Some(Self::RetEvolveBuildShopAbilityEmpty)
            }
            "RET_EVOLVE_BUILD_LEVEL_NOT_START" => Some(Self::RetEvolveBuildLevelNotStart),
            "RET_EVOLVE_BUILD_SHOP_LOCK" => Some(Self::RetEvolveBuildShopLock),
            "RET_EVOLVE_BUILD_REWARD_LOCK" => Some(Self::RetEvolveBuildRewardLock),
            "RET_EVOLVE_BUILD_REWARD_LEVEL_MAX" => {
                Some(Self::RetEvolveBuildRewardLevelMax)
            }
            "RET_EVOLVE_BUILD_REWARD_ALREADY_ALL_TAKEN" => {
                Some(Self::RetEvolveBuildRewardAlreadyAllTaken)
            }
            "RET_CLOCK_PARK_CONFIG_ERROR" => Some(Self::RetClockParkConfigError),
            "RET_CLOCK_PARK_EFFECT_ERROR" => Some(Self::RetClockParkEffectError),
            "RET_CLOCK_PARK_SCRIPT_ALREADY_UNLOCK" => {
                Some(Self::RetClockParkScriptAlreadyUnlock)
            }
            "RET_CLOCK_PARK_SCRIPT_UNLOCK_CONDITION_NOT_MEET" => {
                Some(Self::RetClockParkScriptUnlockConditionNotMeet)
            }
            "RET_CLOCK_PARK_TALENT_ALREADY_UNLOCK" => {
                Some(Self::RetClockParkTalentAlreadyUnlock)
            }
            "RET_CLOCK_PARK_SCRIPT_LOCKED" => Some(Self::RetClockParkScriptLocked),
            "RET_CLOCK_PARK_HAS_ONGOING_SCRIPT" => {
                Some(Self::RetClockParkHasOngoingScript)
            }
            "RET_CLOCK_PARK_NO_ONGOING_SCRIPT" => Some(Self::RetClockParkNoOngoingScript),
            "RET_CLOCK_PARK_DICE_PLACEMENT_ERROR" => {
                Some(Self::RetClockParkDicePlacementError)
            }
            "RET_CLOCK_PARK_MISMATCH_STATUS" => Some(Self::RetClockParkMismatchStatus),
            "RET_CLOCK_PARK_NO_BUFF" => Some(Self::RetClockParkNoBuff),
            "RET_CLOCK_PARK_SLOT_MACHINE_GACHA_REQ_DUPLICATED" => {
                Some(Self::RetClockParkSlotMachineGachaReqDuplicated)
            }
            "RET_CLOCK_PARK_SLOT_MACHINE_COST_NOT_ENOUGH" => {
                Some(Self::RetClockParkSlotMachineCostNotEnough)
            }
            "RET_CLOCK_PARK_SLOT_MACHINE_GACHA_CNT_EXCEED_LIMIT" => {
                Some(Self::RetClockParkSlotMachineGachaCntExceedLimit)
            }
            "RET_CLOCK_PARK_NOT_OPEN" => Some(Self::RetClockParkNotOpen),
            "RET_TOURN_ROGUE_STATUS_MISMATCH" => Some(Self::RetTournRogueStatusMismatch),
            "RET_MAGIC_ROGUE_STATUS_MISMATCH" => Some(Self::RetMagicRogueStatusMismatch),
            "RET_AUTO_MOUNT_MAGIC_UNIT_NO_MATCHED_MAGIC_SCEPTER" => {
                Some(Self::RetAutoMountMagicUnitNoMatchedMagicScepter)
            }
            "RET_MAGIC_UNIT_WORKBENCH_REFORGE_GEN_FAIL" => {
                Some(Self::RetMagicUnitWorkbenchReforgeGenFail)
            }
            "RET_MATCH_ALREADY_IN_MATCH" => Some(Self::RetMatchAlreadyInMatch),
            "RET_MATCH_NOT_IN_MATCH" => Some(Self::RetMatchNotInMatch),
            "RET_MATCH_PLAY_NOT_OPEN" => Some(Self::RetMatchPlayNotOpen),
            "RET_CROSS_STATE_ERROR" => Some(Self::RetCrossStateError),
            "RET_MATCH_VERSION_NOT_EQUAL" => Some(Self::RetMatchVersionNotEqual),
            "RET_MATCH_PLAYER_NOT_IN_LOBBY_ROOM" => {
                Some(Self::RetMatchPlayerNotInLobbyRoom)
            }
            "RET_LOBBY_STATE_NOT_MATCH" => Some(Self::RetLobbyStateNotMatch),
            "RET_LOBBY_ROOM_NOT_EXIST" => Some(Self::RetLobbyRoomNotExist),
            "RET_LOBBY_ROOM_PALYER_FULL" => Some(Self::RetLobbyRoomPalyerFull),
            "RET_LOBBY_ROOM_PALYER_NOT_READY" => Some(Self::RetLobbyRoomPalyerNotReady),
            "RET_LOBBY_ROOM_PALYER_FIGHTING" => Some(Self::RetLobbyRoomPalyerFighting),
            "RET_FIGHT_ROOM_NOT_EXIST" => Some(Self::RetFightRoomNotExist),
            "RET_FIGHT_MATCH3_PLAYER_STATE_ERR" => {
                Some(Self::RetFightMatch3PlayerStateErr)
            }
            "RET_FIGHT_MATCH3_ROOM_STATE_ERR" => Some(Self::RetFightMatch3RoomStateErr),
            "RET_CROSS_STATE_TIME_OUT" => Some(Self::RetCrossStateTimeOut),
            "RET_SWORD_TRAINING_NO_ACTIVE_GAME" => {
                Some(Self::RetSwordTrainingNoActiveGame)
            }
            "RET_SWORD_TRAINING_NO_PENDING_ACTION_MATCH" => {
                Some(Self::RetSwordTrainingNoPendingActionMatch)
            }
            "RET_SWORD_TRAINING_PARTNER_ABILITY_INVALID" => {
                Some(Self::RetSwordTrainingPartnerAbilityInvalid)
            }
            "RET_SWORD_TRAINING_SKILL_ALREADY_LEARNED" => {
                Some(Self::RetSwordTrainingSkillAlreadyLearned)
            }
            "RET_SWORD_TRAINING_CONDITION_NOT_MEET" => {
                Some(Self::RetSwordTrainingConditionNotMeet)
            }
            "RET_SWORD_TRAINING_PARENT_SKILL_NOT_LEARNED" => {
                Some(Self::RetSwordTrainingParentSkillNotLearned)
            }
            "RET_SWORD_TRAINING_SKILL_TYPE_NOT_UNLOCK" => {
                Some(Self::RetSwordTrainingSkillTypeNotUnlock)
            }
            "RET_SWORD_TRAINING_GAME_ALREADY_EXIST" => {
                Some(Self::RetSwordTrainingGameAlreadyExist)
            }
            "RET_SWORD_TRAINING_ENDING_HINT_NOT_MATCH" => {
                Some(Self::RetSwordTrainingEndingHintNotMatch)
            }
            "RET_SWORD_TRAINING_STORYLINE_CONFIG_NOT_FOUND" => {
                Some(Self::RetSwordTrainingStorylineConfigNotFound)
            }
            "RET_SWORD_TRAINING_STORY_CONFIG_NOT_FOUND" => {
                Some(Self::RetSwordTrainingStoryConfigNotFound)
            }
            "RET_SWORD_TRAINING_UNLOCK_NOT_FINISH" => {
                Some(Self::RetSwordTrainingUnlockNotFinish)
            }
            "RET_SWORD_TRAINING_OPTION_MISMATCH" => {
                Some(Self::RetSwordTrainingOptionMismatch)
            }
            "RET_SWORD_TRAINING_RESTORE_WITHOUT_EXAM_FAILED" => {
                Some(Self::RetSwordTrainingRestoreWithoutExamFailed)
            }
            "RET_SWORD_TRAINING_NO_RESTORE_GAME_AVAILABLE" => {
                Some(Self::RetSwordTrainingNoRestoreGameAvailable)
            }
            "RET_SWORD_TRAINING_ENDING_STORY_NOT_MATCH" => {
                Some(Self::RetSwordTrainingEndingStoryNotMatch)
            }
            "RET_SWORD_TRAINING_ENDING_NOT_FINISH" => {
                Some(Self::RetSwordTrainingEndingNotFinish)
            }
            "RET_SWORD_TRAINING_ENDING_REWARD_TAKEN" => {
                Some(Self::RetSwordTrainingEndingRewardTaken)
            }
            "RET_SWORD_TRAINING_COMBAT_RANK_NOT_CHANGE" => {
                Some(Self::RetSwordTrainingCombatRankNotChange)
            }
            "RET_SWORD_TRAINING_DIRECT_BATTLE_DISABLE" => {
                Some(Self::RetSwordTrainingDirectBattleDisable)
            }
            "RET_FIGHT_FEST_PHASE_NOT_MATCH" => Some(Self::RetFightFestPhaseNotMatch),
            "RET_FIGHT_FEST_SCORE_RACE_ALREADY_FINISH" => {
                Some(Self::RetFightFestScoreRaceAlreadyFinish)
            }
            "RET_FIGHT_FEST_CHALLENGE_LOCKED" => Some(Self::RetFightFestChallengeLocked),
            "RET_FIGHT_FEST_COACH_SKILL_LOCKED" => {
                Some(Self::RetFightFestCoachSkillLocked)
            }
            "RET_FIGHT_FEST_COACH_SKILL_EQUIP_TYPE_EXISTED" => {
                Some(Self::RetFightFestCoachSkillEquipTypeExisted)
            }
            "RET_FIGHT_FEST_SCORE_RACE_MISSION_DOIND" => {
                Some(Self::RetFightFestScoreRaceMissionDoind)
            }
            "RET_FIGHT_FEST_COACH_SKILL_NO_EQUIP" => {
                Some(Self::RetFightFestCoachSkillNoEquip)
            }
            "RET_PET_NOT_EXIST" => Some(Self::RetPetNotExist),
            "RET_PET_ALREADY_SUMMONED" => Some(Self::RetPetAlreadySummoned),
            "RET_PET_NOT_SUMMONED" => Some(Self::RetPetNotSummoned),
            "RET_MUSIC_RHYTHM_LEVEL_TIME_TOO_SHORT" => {
                Some(Self::RetMusicRhythmLevelTimeTooShort)
            }
            "RET_MUSIC_RHYTHM_NOT_IN_LEVEL" => Some(Self::RetMusicRhythmNotInLevel),
            "RET_MUSIC_RHYTHM_PRE_DIFFICULTY_NOT_PASS" => {
                Some(Self::RetMusicRhythmPreDifficultyNotPass)
            }
            "RET_MUSIC_RHYTHM_SONG_LIMITED" => Some(Self::RetMusicRhythmSongLimited),
            "RET_MUSIC_RHYTHM_SONG_LOCKED" => Some(Self::RetMusicRhythmSongLocked),
            "RET_MUSIC_RHYTHM_TRACK_LOCKED" => Some(Self::RetMusicRhythmTrackLocked),
            "RET_MUSIC_RHYTHM_LEVEL_NOT_UNLOCK" => {
                Some(Self::RetMusicRhythmLevelNotUnlock)
            }
            "RET_MUSIC_RHYTHM_SONG_SFX_LOCKED" => Some(Self::RetMusicRhythmSongSfxLocked),
            "RET_TRAIN_PARTY_COIN_NOT_ENOUGH" => Some(Self::RetTrainPartyCoinNotEnough),
            "RET_TRAIN_PARTY_DIY_TAG_NOT_MATCH" => {
                Some(Self::RetTrainPartyDiyTagNotMatch)
            }
            "RET_TRAIN_PARTY_USE_CARD_MOBILITY_NOT_ENOUGH" => {
                Some(Self::RetTrainPartyUseCardMobilityNotEnough)
            }
            "RET_TRAIN_PARTY_AREA_UNLOCK_COIN_NOT_ENOUGH" => {
                Some(Self::RetTrainPartyAreaUnlockCoinNotEnough)
            }
            "RET_TAROT_BOOK_ENERGY_NOT_ENOUGH" => Some(Self::RetTarotBookEnergyNotEnough),
            "RET_TAROT_BOOK_PACK_NOT_AVAILABLE" => {
                Some(Self::RetTarotBookPackNotAvailable)
            }
            "RET_TAROT_BOOK_STORY_ALREADY_UNLOCK" => {
                Some(Self::RetTarotBookStoryAlreadyUnlock)
            }
            "RET_TAROT_BOOK_CARD_NOT_ENOUGH" => Some(Self::RetTarotBookCardNotEnough),
            "RET_TAROT_BOOK_CLUE_NOT_ENOUGH" => Some(Self::RetTarotBookClueNotEnough),
            "RET_TAROT_BOOK_UNLOCK_STORY_CARD_NOT_SAME" => {
                Some(Self::RetTarotBookUnlockStoryCardNotSame)
            }
            "RET_TAROT_BOOK_STORY_NOT_UNLOCK" => Some(Self::RetTarotBookStoryNotUnlock),
            "RET_TAROT_BOOK_STORY_ALREADY_FINISH" => {
                Some(Self::RetTarotBookStoryAlreadyFinish)
            }
            "RET_TAROT_BOOK_INTERACTION_ALREADY_FINISH" => {
                Some(Self::RetTarotBookInteractionAlreadyFinish)
            }
            "RET_CHIMERA_CHIMERA_NOT_UNLOCK" => Some(Self::RetChimeraChimeraNotUnlock),
            "RET_CHIMERA_CHIMERA_DUPLICATED" => Some(Self::RetChimeraChimeraDuplicated),
            "RET_CHIMERA_CHIMERA_TYPE_ERROR" => Some(Self::RetChimeraChimeraTypeError),
            "RET_CHIMERA_WORK_MISMATCH_ROUND" => Some(Self::RetChimeraWorkMismatchRound),
            "RET_CHIMERA_WORK_ROUND_OPTION_NOT_MEET" => {
                Some(Self::RetChimeraWorkRoundOptionNotMeet)
            }
            "RET_CHIMERA_ENDLESS_NOT_UNLOCK" => Some(Self::RetChimeraEndlessNotUnlock),
            "RET_CHIMERA_IN_ENDLESS" => Some(Self::RetChimeraInEndless),
            "RET_CHIMERA_NOT_IN_ENDLESS" => Some(Self::RetChimeraNotInEndless),
            "RET_CHIMERA_CHIMERA_FALL_IN_ENDLESS" => {
                Some(Self::RetChimeraChimeraFallInEndless)
            }
            _ => None,
        }
    }
}
/// Obf: IADDHHOPMOD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdActivityType {
    None = 0,
    CmdStartTrialActivityScRsp = 2607,
    CmdGetActivityScheduleConfigCsReq = 2630,
    CmdSubmitMaterialSubmitActivityMaterialScRsp = 2612,
    CmdCurTrialActivityScNotify = 2665,
    CmdEnterTrialActivityStageCsReq = 2655,
    CmdTakeTrialActivityRewardScRsp = 2626,
    CmdGetTrialActivityDataScRsp = 2661,
    CmdTakeLoginActivityRewardScRsp = 2624,
    CmdGetTrialActivityDataCsReq = 2654,
    CmdGetMaterialSubmitActivityDataScRsp = 2696,
    CmdSubmitMaterialSubmitActivityMaterialCsReq = 2623,
    CmdLeaveTrialActivityScRsp = 2689,
    CmdLeaveTrialActivityCsReq = 2688,
    CmdGetMaterialSubmitActivityDataCsReq = 2639,
    CmdGetLoginActivityCsReq = 2601,
    CmdTakeMaterialSubmitActivityRewardScRsp = 2691,
    CmdTrialActivityDataChangeScNotify = 2690,
    CmdTakeTrialActivityRewardCsReq = 2660,
    CmdStartTrialActivityCsReq = 2663,
    CmdEnterTrialActivityStageScRsp = 2685,
    CmdTakeMaterialSubmitActivityRewardCsReq = 2617,
    CmdGetActivityScheduleConfigScRsp = 2656,
    CmdGetLoginActivityScRsp = 2668,
    CmdTakeLoginActivityRewardCsReq = 2658,
}
impl CmdActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdActivityType::None => "CmdActivityTypeNone",
            CmdActivityType::CmdStartTrialActivityScRsp => "CmdStartTrialActivityScRsp",
            CmdActivityType::CmdGetActivityScheduleConfigCsReq => {
                "CmdGetActivityScheduleConfigCsReq"
            }
            CmdActivityType::CmdSubmitMaterialSubmitActivityMaterialScRsp => {
                "CmdSubmitMaterialSubmitActivityMaterialScRsp"
            }
            CmdActivityType::CmdCurTrialActivityScNotify => "CmdCurTrialActivityScNotify",
            CmdActivityType::CmdEnterTrialActivityStageCsReq => {
                "CmdEnterTrialActivityStageCsReq"
            }
            CmdActivityType::CmdTakeTrialActivityRewardScRsp => {
                "CmdTakeTrialActivityRewardScRsp"
            }
            CmdActivityType::CmdGetTrialActivityDataScRsp => {
                "CmdGetTrialActivityDataScRsp"
            }
            CmdActivityType::CmdTakeLoginActivityRewardScRsp => {
                "CmdTakeLoginActivityRewardScRsp"
            }
            CmdActivityType::CmdGetTrialActivityDataCsReq => {
                "CmdGetTrialActivityDataCsReq"
            }
            CmdActivityType::CmdGetMaterialSubmitActivityDataScRsp => {
                "CmdGetMaterialSubmitActivityDataScRsp"
            }
            CmdActivityType::CmdSubmitMaterialSubmitActivityMaterialCsReq => {
                "CmdSubmitMaterialSubmitActivityMaterialCsReq"
            }
            CmdActivityType::CmdLeaveTrialActivityScRsp => "CmdLeaveTrialActivityScRsp",
            CmdActivityType::CmdLeaveTrialActivityCsReq => "CmdLeaveTrialActivityCsReq",
            CmdActivityType::CmdGetMaterialSubmitActivityDataCsReq => {
                "CmdGetMaterialSubmitActivityDataCsReq"
            }
            CmdActivityType::CmdGetLoginActivityCsReq => "CmdGetLoginActivityCsReq",
            CmdActivityType::CmdTakeMaterialSubmitActivityRewardScRsp => {
                "CmdTakeMaterialSubmitActivityRewardScRsp"
            }
            CmdActivityType::CmdTrialActivityDataChangeScNotify => {
                "CmdTrialActivityDataChangeScNotify"
            }
            CmdActivityType::CmdTakeTrialActivityRewardCsReq => {
                "CmdTakeTrialActivityRewardCsReq"
            }
            CmdActivityType::CmdStartTrialActivityCsReq => "CmdStartTrialActivityCsReq",
            CmdActivityType::CmdEnterTrialActivityStageScRsp => {
                "CmdEnterTrialActivityStageScRsp"
            }
            CmdActivityType::CmdTakeMaterialSubmitActivityRewardCsReq => {
                "CmdTakeMaterialSubmitActivityRewardCsReq"
            }
            CmdActivityType::CmdGetActivityScheduleConfigScRsp => {
                "CmdGetActivityScheduleConfigScRsp"
            }
            CmdActivityType::CmdGetLoginActivityScRsp => "CmdGetLoginActivityScRsp",
            CmdActivityType::CmdTakeLoginActivityRewardCsReq => {
                "CmdTakeLoginActivityRewardCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdActivityTypeNone" => Some(Self::None),
            "CmdStartTrialActivityScRsp" => Some(Self::CmdStartTrialActivityScRsp),
            "CmdGetActivityScheduleConfigCsReq" => {
                Some(Self::CmdGetActivityScheduleConfigCsReq)
            }
            "CmdSubmitMaterialSubmitActivityMaterialScRsp" => {
                Some(Self::CmdSubmitMaterialSubmitActivityMaterialScRsp)
            }
            "CmdCurTrialActivityScNotify" => Some(Self::CmdCurTrialActivityScNotify),
            "CmdEnterTrialActivityStageCsReq" => {
                Some(Self::CmdEnterTrialActivityStageCsReq)
            }
            "CmdTakeTrialActivityRewardScRsp" => {
                Some(Self::CmdTakeTrialActivityRewardScRsp)
            }
            "CmdGetTrialActivityDataScRsp" => Some(Self::CmdGetTrialActivityDataScRsp),
            "CmdTakeLoginActivityRewardScRsp" => {
                Some(Self::CmdTakeLoginActivityRewardScRsp)
            }
            "CmdGetTrialActivityDataCsReq" => Some(Self::CmdGetTrialActivityDataCsReq),
            "CmdGetMaterialSubmitActivityDataScRsp" => {
                Some(Self::CmdGetMaterialSubmitActivityDataScRsp)
            }
            "CmdSubmitMaterialSubmitActivityMaterialCsReq" => {
                Some(Self::CmdSubmitMaterialSubmitActivityMaterialCsReq)
            }
            "CmdLeaveTrialActivityScRsp" => Some(Self::CmdLeaveTrialActivityScRsp),
            "CmdLeaveTrialActivityCsReq" => Some(Self::CmdLeaveTrialActivityCsReq),
            "CmdGetMaterialSubmitActivityDataCsReq" => {
                Some(Self::CmdGetMaterialSubmitActivityDataCsReq)
            }
            "CmdGetLoginActivityCsReq" => Some(Self::CmdGetLoginActivityCsReq),
            "CmdTakeMaterialSubmitActivityRewardScRsp" => {
                Some(Self::CmdTakeMaterialSubmitActivityRewardScRsp)
            }
            "CmdTrialActivityDataChangeScNotify" => {
                Some(Self::CmdTrialActivityDataChangeScNotify)
            }
            "CmdTakeTrialActivityRewardCsReq" => {
                Some(Self::CmdTakeTrialActivityRewardCsReq)
            }
            "CmdStartTrialActivityCsReq" => Some(Self::CmdStartTrialActivityCsReq),
            "CmdEnterTrialActivityStageScRsp" => {
                Some(Self::CmdEnterTrialActivityStageScRsp)
            }
            "CmdTakeMaterialSubmitActivityRewardCsReq" => {
                Some(Self::CmdTakeMaterialSubmitActivityRewardCsReq)
            }
            "CmdGetActivityScheduleConfigScRsp" => {
                Some(Self::CmdGetActivityScheduleConfigScRsp)
            }
            "CmdGetLoginActivityScRsp" => Some(Self::CmdGetLoginActivityScRsp),
            "CmdTakeLoginActivityRewardCsReq" => {
                Some(Self::CmdTakeLoginActivityRewardCsReq)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pmidehdobhj {
    TrialActivityStatusNone = 0,
    TrialActivityStatusFinish = 1,
}
impl Pmidehdobhj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Pmidehdobhj::TrialActivityStatusNone => "TRIAL_ACTIVITY_STATUS_NONE",
            Pmidehdobhj::TrialActivityStatusFinish => "TRIAL_ACTIVITY_STATUS_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TRIAL_ACTIVITY_STATUS_NONE" => Some(Self::TrialActivityStatusNone),
            "TRIAL_ACTIVITY_STATUS_FINISH" => Some(Self::TrialActivityStatusFinish),
            _ => None,
        }
    }
}
/// Obf: GKCEOHNMEFN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdAdventureType {
    None = 0,
    CmdQuickStartCocoonStageScRsp = 1356,
    CmdQuickStartFarmElementCsReq = 1397,
    CmdQuickStartFarmElementScRsp = 1376,
    CmdGetFarmStageGachaInfoScRsp = 1324,
    CmdGetFarmStageGachaInfoCsReq = 1358,
    CmdEnterAdventureScRsp = 1368,
    CmdEnterAdventureCsReq = 1301,
    CmdQuickStartCocoonStageCsReq = 1330,
}
impl CmdAdventureType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdAdventureType::None => "CmdAdventureTypeNone",
            CmdAdventureType::CmdQuickStartCocoonStageScRsp => {
                "CmdQuickStartCocoonStageScRsp"
            }
            CmdAdventureType::CmdQuickStartFarmElementCsReq => {
                "CmdQuickStartFarmElementCsReq"
            }
            CmdAdventureType::CmdQuickStartFarmElementScRsp => {
                "CmdQuickStartFarmElementScRsp"
            }
            CmdAdventureType::CmdGetFarmStageGachaInfoScRsp => {
                "CmdGetFarmStageGachaInfoScRsp"
            }
            CmdAdventureType::CmdGetFarmStageGachaInfoCsReq => {
                "CmdGetFarmStageGachaInfoCsReq"
            }
            CmdAdventureType::CmdEnterAdventureScRsp => "CmdEnterAdventureScRsp",
            CmdAdventureType::CmdEnterAdventureCsReq => "CmdEnterAdventureCsReq",
            CmdAdventureType::CmdQuickStartCocoonStageCsReq => {
                "CmdQuickStartCocoonStageCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdAdventureTypeNone" => Some(Self::None),
            "CmdQuickStartCocoonStageScRsp" => Some(Self::CmdQuickStartCocoonStageScRsp),
            "CmdQuickStartFarmElementCsReq" => Some(Self::CmdQuickStartFarmElementCsReq),
            "CmdQuickStartFarmElementScRsp" => Some(Self::CmdQuickStartFarmElementScRsp),
            "CmdGetFarmStageGachaInfoScRsp" => Some(Self::CmdGetFarmStageGachaInfoScRsp),
            "CmdGetFarmStageGachaInfoCsReq" => Some(Self::CmdGetFarmStageGachaInfoCsReq),
            "CmdEnterAdventureScRsp" => Some(Self::CmdEnterAdventureScRsp),
            "CmdEnterAdventureCsReq" => Some(Self::CmdEnterAdventureCsReq),
            "CmdQuickStartCocoonStageCsReq" => Some(Self::CmdQuickStartCocoonStageCsReq),
            _ => None,
        }
    }
}
/// Obf: NOECJNGPMFK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdAetherDivideType {
    None = 0,
    CmdEnterAetherDivideSceneScRsp = 4837,
    CmdAetherDivideLineupScNotify = 4831,
    CmdEquipAetherDividePassiveSkillScRsp = 4814,
    CmdAetherDivideRefreshEndlessScRsp = 4816,
    CmdEquipAetherDividePassiveSkillCsReq = 4832,
    CmdClearAetherDividePassiveSkillScRsp = 4810,
    CmdSwitchAetherDivideLineUpSlotCsReq = 4835,
    CmdAetherDivideTainerInfoScNotify = 4812,
    CmdEnterAetherDivideSceneCsReq = 4826,
    CmdSetAetherDivideLineUpCsReq = 4848,
    CmdGetAetherDivideInfoScRsp = 4802,
    CmdClearAetherDividePassiveSkillCsReq = 4840,
    CmdSwitchAetherDivideLineUpSlotScRsp = 4809,
    CmdGetAetherDivideChallengeInfoScRsp = 4803,
    CmdGetAetherDivideChallengeInfoCsReq = 4845,
    CmdAetherDivideTakeChallengeRewardScRsp = 4827,
    CmdLeaveAetherDivideSceneCsReq = 4841,
    CmdStartAetherDivideStageBattleScRsp = 4801,
    CmdAetherDivideTakeChallengeRewardCsReq = 4849,
    CmdAetherDivideSpiritExpUpScRsp = 4820,
    CmdStartAetherDivideChallengeBattleScRsp = 4829,
    CmdAetherDivideSpiritInfoScNotify = 4839,
    CmdStartAetherDivideStageBattleCsReq = 4824,
    CmdAetherDivideRefreshEndlessCsReq = 4834,
    CmdStartAetherDivideChallengeBattleCsReq = 4807,
    CmdSetAetherDivideLineUpScRsp = 4804,
    CmdGetAetherDivideInfoCsReq = 4830,
    CmdStartAetherDivideSceneBattleCsReq = 4806,
    CmdAetherDivideSkillItemScNotify = 4817,
    CmdLeaveAetherDivideSceneScRsp = 4843,
    CmdAetherDivideRefreshEndlessScNotify = 4846,
    CmdAetherDivideFinishChallengeScNotify = 4828,
    CmdAetherDivideSpiritExpUpCsReq = 4821,
    CmdStartAetherDivideSceneBattleScRsp = 4833,
}
impl CmdAetherDivideType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdAetherDivideType::None => "CmdAetherDivideTypeNone",
            CmdAetherDivideType::CmdEnterAetherDivideSceneScRsp => {
                "CmdEnterAetherDivideSceneScRsp"
            }
            CmdAetherDivideType::CmdAetherDivideLineupScNotify => {
                "CmdAetherDivideLineupScNotify"
            }
            CmdAetherDivideType::CmdEquipAetherDividePassiveSkillScRsp => {
                "CmdEquipAetherDividePassiveSkillScRsp"
            }
            CmdAetherDivideType::CmdAetherDivideRefreshEndlessScRsp => {
                "CmdAetherDivideRefreshEndlessScRsp"
            }
            CmdAetherDivideType::CmdEquipAetherDividePassiveSkillCsReq => {
                "CmdEquipAetherDividePassiveSkillCsReq"
            }
            CmdAetherDivideType::CmdClearAetherDividePassiveSkillScRsp => {
                "CmdClearAetherDividePassiveSkillScRsp"
            }
            CmdAetherDivideType::CmdSwitchAetherDivideLineUpSlotCsReq => {
                "CmdSwitchAetherDivideLineUpSlotCsReq"
            }
            CmdAetherDivideType::CmdAetherDivideTainerInfoScNotify => {
                "CmdAetherDivideTainerInfoScNotify"
            }
            CmdAetherDivideType::CmdEnterAetherDivideSceneCsReq => {
                "CmdEnterAetherDivideSceneCsReq"
            }
            CmdAetherDivideType::CmdSetAetherDivideLineUpCsReq => {
                "CmdSetAetherDivideLineUpCsReq"
            }
            CmdAetherDivideType::CmdGetAetherDivideInfoScRsp => {
                "CmdGetAetherDivideInfoScRsp"
            }
            CmdAetherDivideType::CmdClearAetherDividePassiveSkillCsReq => {
                "CmdClearAetherDividePassiveSkillCsReq"
            }
            CmdAetherDivideType::CmdSwitchAetherDivideLineUpSlotScRsp => {
                "CmdSwitchAetherDivideLineUpSlotScRsp"
            }
            CmdAetherDivideType::CmdGetAetherDivideChallengeInfoScRsp => {
                "CmdGetAetherDivideChallengeInfoScRsp"
            }
            CmdAetherDivideType::CmdGetAetherDivideChallengeInfoCsReq => {
                "CmdGetAetherDivideChallengeInfoCsReq"
            }
            CmdAetherDivideType::CmdAetherDivideTakeChallengeRewardScRsp => {
                "CmdAetherDivideTakeChallengeRewardScRsp"
            }
            CmdAetherDivideType::CmdLeaveAetherDivideSceneCsReq => {
                "CmdLeaveAetherDivideSceneCsReq"
            }
            CmdAetherDivideType::CmdStartAetherDivideStageBattleScRsp => {
                "CmdStartAetherDivideStageBattleScRsp"
            }
            CmdAetherDivideType::CmdAetherDivideTakeChallengeRewardCsReq => {
                "CmdAetherDivideTakeChallengeRewardCsReq"
            }
            CmdAetherDivideType::CmdAetherDivideSpiritExpUpScRsp => {
                "CmdAetherDivideSpiritExpUpScRsp"
            }
            CmdAetherDivideType::CmdStartAetherDivideChallengeBattleScRsp => {
                "CmdStartAetherDivideChallengeBattleScRsp"
            }
            CmdAetherDivideType::CmdAetherDivideSpiritInfoScNotify => {
                "CmdAetherDivideSpiritInfoScNotify"
            }
            CmdAetherDivideType::CmdStartAetherDivideStageBattleCsReq => {
                "CmdStartAetherDivideStageBattleCsReq"
            }
            CmdAetherDivideType::CmdAetherDivideRefreshEndlessCsReq => {
                "CmdAetherDivideRefreshEndlessCsReq"
            }
            CmdAetherDivideType::CmdStartAetherDivideChallengeBattleCsReq => {
                "CmdStartAetherDivideChallengeBattleCsReq"
            }
            CmdAetherDivideType::CmdSetAetherDivideLineUpScRsp => {
                "CmdSetAetherDivideLineUpScRsp"
            }
            CmdAetherDivideType::CmdGetAetherDivideInfoCsReq => {
                "CmdGetAetherDivideInfoCsReq"
            }
            CmdAetherDivideType::CmdStartAetherDivideSceneBattleCsReq => {
                "CmdStartAetherDivideSceneBattleCsReq"
            }
            CmdAetherDivideType::CmdAetherDivideSkillItemScNotify => {
                "CmdAetherDivideSkillItemScNotify"
            }
            CmdAetherDivideType::CmdLeaveAetherDivideSceneScRsp => {
                "CmdLeaveAetherDivideSceneScRsp"
            }
            CmdAetherDivideType::CmdAetherDivideRefreshEndlessScNotify => {
                "CmdAetherDivideRefreshEndlessScNotify"
            }
            CmdAetherDivideType::CmdAetherDivideFinishChallengeScNotify => {
                "CmdAetherDivideFinishChallengeScNotify"
            }
            CmdAetherDivideType::CmdAetherDivideSpiritExpUpCsReq => {
                "CmdAetherDivideSpiritExpUpCsReq"
            }
            CmdAetherDivideType::CmdStartAetherDivideSceneBattleScRsp => {
                "CmdStartAetherDivideSceneBattleScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdAetherDivideTypeNone" => Some(Self::None),
            "CmdEnterAetherDivideSceneScRsp" => {
                Some(Self::CmdEnterAetherDivideSceneScRsp)
            }
            "CmdAetherDivideLineupScNotify" => Some(Self::CmdAetherDivideLineupScNotify),
            "CmdEquipAetherDividePassiveSkillScRsp" => {
                Some(Self::CmdEquipAetherDividePassiveSkillScRsp)
            }
            "CmdAetherDivideRefreshEndlessScRsp" => {
                Some(Self::CmdAetherDivideRefreshEndlessScRsp)
            }
            "CmdEquipAetherDividePassiveSkillCsReq" => {
                Some(Self::CmdEquipAetherDividePassiveSkillCsReq)
            }
            "CmdClearAetherDividePassiveSkillScRsp" => {
                Some(Self::CmdClearAetherDividePassiveSkillScRsp)
            }
            "CmdSwitchAetherDivideLineUpSlotCsReq" => {
                Some(Self::CmdSwitchAetherDivideLineUpSlotCsReq)
            }
            "CmdAetherDivideTainerInfoScNotify" => {
                Some(Self::CmdAetherDivideTainerInfoScNotify)
            }
            "CmdEnterAetherDivideSceneCsReq" => {
                Some(Self::CmdEnterAetherDivideSceneCsReq)
            }
            "CmdSetAetherDivideLineUpCsReq" => Some(Self::CmdSetAetherDivideLineUpCsReq),
            "CmdGetAetherDivideInfoScRsp" => Some(Self::CmdGetAetherDivideInfoScRsp),
            "CmdClearAetherDividePassiveSkillCsReq" => {
                Some(Self::CmdClearAetherDividePassiveSkillCsReq)
            }
            "CmdSwitchAetherDivideLineUpSlotScRsp" => {
                Some(Self::CmdSwitchAetherDivideLineUpSlotScRsp)
            }
            "CmdGetAetherDivideChallengeInfoScRsp" => {
                Some(Self::CmdGetAetherDivideChallengeInfoScRsp)
            }
            "CmdGetAetherDivideChallengeInfoCsReq" => {
                Some(Self::CmdGetAetherDivideChallengeInfoCsReq)
            }
            "CmdAetherDivideTakeChallengeRewardScRsp" => {
                Some(Self::CmdAetherDivideTakeChallengeRewardScRsp)
            }
            "CmdLeaveAetherDivideSceneCsReq" => {
                Some(Self::CmdLeaveAetherDivideSceneCsReq)
            }
            "CmdStartAetherDivideStageBattleScRsp" => {
                Some(Self::CmdStartAetherDivideStageBattleScRsp)
            }
            "CmdAetherDivideTakeChallengeRewardCsReq" => {
                Some(Self::CmdAetherDivideTakeChallengeRewardCsReq)
            }
            "CmdAetherDivideSpiritExpUpScRsp" => {
                Some(Self::CmdAetherDivideSpiritExpUpScRsp)
            }
            "CmdStartAetherDivideChallengeBattleScRsp" => {
                Some(Self::CmdStartAetherDivideChallengeBattleScRsp)
            }
            "CmdAetherDivideSpiritInfoScNotify" => {
                Some(Self::CmdAetherDivideSpiritInfoScNotify)
            }
            "CmdStartAetherDivideStageBattleCsReq" => {
                Some(Self::CmdStartAetherDivideStageBattleCsReq)
            }
            "CmdAetherDivideRefreshEndlessCsReq" => {
                Some(Self::CmdAetherDivideRefreshEndlessCsReq)
            }
            "CmdStartAetherDivideChallengeBattleCsReq" => {
                Some(Self::CmdStartAetherDivideChallengeBattleCsReq)
            }
            "CmdSetAetherDivideLineUpScRsp" => Some(Self::CmdSetAetherDivideLineUpScRsp),
            "CmdGetAetherDivideInfoCsReq" => Some(Self::CmdGetAetherDivideInfoCsReq),
            "CmdStartAetherDivideSceneBattleCsReq" => {
                Some(Self::CmdStartAetherDivideSceneBattleCsReq)
            }
            "CmdAetherDivideSkillItemScNotify" => {
                Some(Self::CmdAetherDivideSkillItemScNotify)
            }
            "CmdLeaveAetherDivideSceneScRsp" => {
                Some(Self::CmdLeaveAetherDivideSceneScRsp)
            }
            "CmdAetherDivideRefreshEndlessScNotify" => {
                Some(Self::CmdAetherDivideRefreshEndlessScNotify)
            }
            "CmdAetherDivideFinishChallengeScNotify" => {
                Some(Self::CmdAetherDivideFinishChallengeScNotify)
            }
            "CmdAetherDivideSpiritExpUpCsReq" => {
                Some(Self::CmdAetherDivideSpiritExpUpCsReq)
            }
            "CmdStartAetherDivideSceneBattleScRsp" => {
                Some(Self::CmdStartAetherDivideSceneBattleScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: ACBFCPEHPLO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdAlleyType {
    None = 0,
    CmdAlleyEventEffectNotify = 4711,
    CmdGetSaveLogisticsMapScRsp = 4781,
    CmdAlleyShipUnlockScNotify = 4750,
    CmdTakePrestigeRewardScRsp = 4714,
    CmdAlleyShopLevelScNotify = 4795,
    CmdActivityRaidPlacingGameCsReq = 4757,
    CmdLogisticsGameScRsp = 4724,
    CmdLogisticsGameCsReq = 4758,
    CmdLogisticsScoreRewardSyncInfoScNotify = 4703,
    CmdRefreshAlleyOrderScRsp = 4796,
    CmdLogisticsInfoScNotify = 4720,
    CmdAlleyShipUsedCountScNotify = 4738,
    CmdAlleyShipmentEventEffectsScNotify = 4792,
    CmdPrestigeLevelUpCsReq = 4717,
    CmdAlleyGuaranteedFundsCsReq = 4719,
    CmdActivityRaidPlacingGameScRsp = 4713,
    CmdAlleyFundsScNotify = 4718,
    CmdTakePrestigeRewardCsReq = 4705,
    CmdLogisticsDetonateStarSkiffScRsp = 4740,
    CmdLogisticsDetonateStarSkiffCsReq = 4773,
    CmdAlleyPlacingGameScRsp = 4722,
    CmdStartAlleyEventCsReq = 4797,
    CmdGetAlleyInfoCsReq = 4701,
    CmdStartAlleyEventScRsp = 4776,
    CmdAlleyEventChangeNotify = 4728,
    CmdAlleyPlacingGameCsReq = 4749,
    CmdAlleyOrderChangedScNotify = 4723,
    CmdGetSaveLogisticsMapCsReq = 4770,
    CmdAlleyTakeEventRewardScRsp = 4741,
    CmdRefreshAlleyOrderCsReq = 4739,
    CmdAlleyTakeEventRewardCsReq = 4759,
    CmdAlleyGuaranteedFundsScRsp = 4782,
    CmdGetAlleyInfoScRsp = 4768,
    CmdSaveLogisticsCsReq = 4748,
    CmdSaveLogisticsScRsp = 4769,
    CmdPrestigeLevelUpScRsp = 4791,
}
impl CmdAlleyType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdAlleyType::None => "CmdAlleyTypeNone",
            CmdAlleyType::CmdAlleyEventEffectNotify => "CmdAlleyEventEffectNotify",
            CmdAlleyType::CmdGetSaveLogisticsMapScRsp => "CmdGetSaveLogisticsMapScRsp",
            CmdAlleyType::CmdAlleyShipUnlockScNotify => "CmdAlleyShipUnlockScNotify",
            CmdAlleyType::CmdTakePrestigeRewardScRsp => "CmdTakePrestigeRewardScRsp",
            CmdAlleyType::CmdAlleyShopLevelScNotify => "CmdAlleyShopLevelScNotify",
            CmdAlleyType::CmdActivityRaidPlacingGameCsReq => {
                "CmdActivityRaidPlacingGameCsReq"
            }
            CmdAlleyType::CmdLogisticsGameScRsp => "CmdLogisticsGameScRsp",
            CmdAlleyType::CmdLogisticsGameCsReq => "CmdLogisticsGameCsReq",
            CmdAlleyType::CmdLogisticsScoreRewardSyncInfoScNotify => {
                "CmdLogisticsScoreRewardSyncInfoScNotify"
            }
            CmdAlleyType::CmdRefreshAlleyOrderScRsp => "CmdRefreshAlleyOrderScRsp",
            CmdAlleyType::CmdLogisticsInfoScNotify => "CmdLogisticsInfoScNotify",
            CmdAlleyType::CmdAlleyShipUsedCountScNotify => {
                "CmdAlleyShipUsedCountScNotify"
            }
            CmdAlleyType::CmdAlleyShipmentEventEffectsScNotify => {
                "CmdAlleyShipmentEventEffectsScNotify"
            }
            CmdAlleyType::CmdPrestigeLevelUpCsReq => "CmdPrestigeLevelUpCsReq",
            CmdAlleyType::CmdAlleyGuaranteedFundsCsReq => "CmdAlleyGuaranteedFundsCsReq",
            CmdAlleyType::CmdActivityRaidPlacingGameScRsp => {
                "CmdActivityRaidPlacingGameScRsp"
            }
            CmdAlleyType::CmdAlleyFundsScNotify => "CmdAlleyFundsScNotify",
            CmdAlleyType::CmdTakePrestigeRewardCsReq => "CmdTakePrestigeRewardCsReq",
            CmdAlleyType::CmdLogisticsDetonateStarSkiffScRsp => {
                "CmdLogisticsDetonateStarSkiffScRsp"
            }
            CmdAlleyType::CmdLogisticsDetonateStarSkiffCsReq => {
                "CmdLogisticsDetonateStarSkiffCsReq"
            }
            CmdAlleyType::CmdAlleyPlacingGameScRsp => "CmdAlleyPlacingGameScRsp",
            CmdAlleyType::CmdStartAlleyEventCsReq => "CmdStartAlleyEventCsReq",
            CmdAlleyType::CmdGetAlleyInfoCsReq => "CmdGetAlleyInfoCsReq",
            CmdAlleyType::CmdStartAlleyEventScRsp => "CmdStartAlleyEventScRsp",
            CmdAlleyType::CmdAlleyEventChangeNotify => "CmdAlleyEventChangeNotify",
            CmdAlleyType::CmdAlleyPlacingGameCsReq => "CmdAlleyPlacingGameCsReq",
            CmdAlleyType::CmdAlleyOrderChangedScNotify => "CmdAlleyOrderChangedScNotify",
            CmdAlleyType::CmdGetSaveLogisticsMapCsReq => "CmdGetSaveLogisticsMapCsReq",
            CmdAlleyType::CmdAlleyTakeEventRewardScRsp => "CmdAlleyTakeEventRewardScRsp",
            CmdAlleyType::CmdRefreshAlleyOrderCsReq => "CmdRefreshAlleyOrderCsReq",
            CmdAlleyType::CmdAlleyTakeEventRewardCsReq => "CmdAlleyTakeEventRewardCsReq",
            CmdAlleyType::CmdAlleyGuaranteedFundsScRsp => "CmdAlleyGuaranteedFundsScRsp",
            CmdAlleyType::CmdGetAlleyInfoScRsp => "CmdGetAlleyInfoScRsp",
            CmdAlleyType::CmdSaveLogisticsCsReq => "CmdSaveLogisticsCsReq",
            CmdAlleyType::CmdSaveLogisticsScRsp => "CmdSaveLogisticsScRsp",
            CmdAlleyType::CmdPrestigeLevelUpScRsp => "CmdPrestigeLevelUpScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdAlleyTypeNone" => Some(Self::None),
            "CmdAlleyEventEffectNotify" => Some(Self::CmdAlleyEventEffectNotify),
            "CmdGetSaveLogisticsMapScRsp" => Some(Self::CmdGetSaveLogisticsMapScRsp),
            "CmdAlleyShipUnlockScNotify" => Some(Self::CmdAlleyShipUnlockScNotify),
            "CmdTakePrestigeRewardScRsp" => Some(Self::CmdTakePrestigeRewardScRsp),
            "CmdAlleyShopLevelScNotify" => Some(Self::CmdAlleyShopLevelScNotify),
            "CmdActivityRaidPlacingGameCsReq" => {
                Some(Self::CmdActivityRaidPlacingGameCsReq)
            }
            "CmdLogisticsGameScRsp" => Some(Self::CmdLogisticsGameScRsp),
            "CmdLogisticsGameCsReq" => Some(Self::CmdLogisticsGameCsReq),
            "CmdLogisticsScoreRewardSyncInfoScNotify" => {
                Some(Self::CmdLogisticsScoreRewardSyncInfoScNotify)
            }
            "CmdRefreshAlleyOrderScRsp" => Some(Self::CmdRefreshAlleyOrderScRsp),
            "CmdLogisticsInfoScNotify" => Some(Self::CmdLogisticsInfoScNotify),
            "CmdAlleyShipUsedCountScNotify" => Some(Self::CmdAlleyShipUsedCountScNotify),
            "CmdAlleyShipmentEventEffectsScNotify" => {
                Some(Self::CmdAlleyShipmentEventEffectsScNotify)
            }
            "CmdPrestigeLevelUpCsReq" => Some(Self::CmdPrestigeLevelUpCsReq),
            "CmdAlleyGuaranteedFundsCsReq" => Some(Self::CmdAlleyGuaranteedFundsCsReq),
            "CmdActivityRaidPlacingGameScRsp" => {
                Some(Self::CmdActivityRaidPlacingGameScRsp)
            }
            "CmdAlleyFundsScNotify" => Some(Self::CmdAlleyFundsScNotify),
            "CmdTakePrestigeRewardCsReq" => Some(Self::CmdTakePrestigeRewardCsReq),
            "CmdLogisticsDetonateStarSkiffScRsp" => {
                Some(Self::CmdLogisticsDetonateStarSkiffScRsp)
            }
            "CmdLogisticsDetonateStarSkiffCsReq" => {
                Some(Self::CmdLogisticsDetonateStarSkiffCsReq)
            }
            "CmdAlleyPlacingGameScRsp" => Some(Self::CmdAlleyPlacingGameScRsp),
            "CmdStartAlleyEventCsReq" => Some(Self::CmdStartAlleyEventCsReq),
            "CmdGetAlleyInfoCsReq" => Some(Self::CmdGetAlleyInfoCsReq),
            "CmdStartAlleyEventScRsp" => Some(Self::CmdStartAlleyEventScRsp),
            "CmdAlleyEventChangeNotify" => Some(Self::CmdAlleyEventChangeNotify),
            "CmdAlleyPlacingGameCsReq" => Some(Self::CmdAlleyPlacingGameCsReq),
            "CmdAlleyOrderChangedScNotify" => Some(Self::CmdAlleyOrderChangedScNotify),
            "CmdGetSaveLogisticsMapCsReq" => Some(Self::CmdGetSaveLogisticsMapCsReq),
            "CmdAlleyTakeEventRewardScRsp" => Some(Self::CmdAlleyTakeEventRewardScRsp),
            "CmdRefreshAlleyOrderCsReq" => Some(Self::CmdRefreshAlleyOrderCsReq),
            "CmdAlleyTakeEventRewardCsReq" => Some(Self::CmdAlleyTakeEventRewardCsReq),
            "CmdAlleyGuaranteedFundsScRsp" => Some(Self::CmdAlleyGuaranteedFundsScRsp),
            "CmdGetAlleyInfoScRsp" => Some(Self::CmdGetAlleyInfoScRsp),
            "CmdSaveLogisticsCsReq" => Some(Self::CmdSaveLogisticsCsReq),
            "CmdSaveLogisticsScRsp" => Some(Self::CmdSaveLogisticsScRsp),
            "CmdPrestigeLevelUpScRsp" => Some(Self::CmdPrestigeLevelUpScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gbphkkmolmf {
    Left = 0,
    Right = 1,
    Up = 2,
    Down = 3,
    LeftUp = 4,
    LeftDown = 5,
    RightUp = 6,
    RightDown = 7,
}
impl Gbphkkmolmf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Gbphkkmolmf::Left => "LEFT",
            Gbphkkmolmf::Right => "RIGHT",
            Gbphkkmolmf::Up => "UP",
            Gbphkkmolmf::Down => "DOWN",
            Gbphkkmolmf::LeftUp => "LEFT_UP",
            Gbphkkmolmf::LeftDown => "LEFT_DOWN",
            Gbphkkmolmf::RightUp => "RIGHT_UP",
            Gbphkkmolmf::RightDown => "RIGHT_DOWN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LEFT" => Some(Self::Left),
            "RIGHT" => Some(Self::Right),
            "UP" => Some(Self::Up),
            "DOWN" => Some(Self::Down),
            "LEFT_UP" => Some(Self::LeftUp),
            "LEFT_DOWN" => Some(Self::LeftDown),
            "RIGHT_UP" => Some(Self::RightUp),
            "RIGHT_DOWN" => Some(Self::RightDown),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cfancffhhkb {
    AlleyEventTypeNone = 0,
    AlleyMainEvent = 1,
    AlleyCriticalEvent = 2,
    AlleyDailyEvent = 3,
}
impl Cfancffhhkb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Cfancffhhkb::AlleyEventTypeNone => "ALLEY_EVENT_TYPE_NONE",
            Cfancffhhkb::AlleyMainEvent => "ALLEY_MAIN_EVENT",
            Cfancffhhkb::AlleyCriticalEvent => "ALLEY_CRITICAL_EVENT",
            Cfancffhhkb::AlleyDailyEvent => "ALLEY_DAILY_EVENT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ALLEY_EVENT_TYPE_NONE" => Some(Self::AlleyEventTypeNone),
            "ALLEY_MAIN_EVENT" => Some(Self::AlleyMainEvent),
            "ALLEY_CRITICAL_EVENT" => Some(Self::AlleyCriticalEvent),
            "ALLEY_DAILY_EVENT" => Some(Self::AlleyDailyEvent),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bjlncfjoiaf {
    AlleyStateNone = 0,
    AlleyEventDoing = 1,
    AlleyEventFinish = 2,
    AlleyEventRewarded = 3,
}
impl Bjlncfjoiaf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Bjlncfjoiaf::AlleyStateNone => "ALLEY_STATE_NONE",
            Bjlncfjoiaf::AlleyEventDoing => "ALLEY_EVENT_DOING",
            Bjlncfjoiaf::AlleyEventFinish => "ALLEY_EVENT_FINISH",
            Bjlncfjoiaf::AlleyEventRewarded => "ALLEY_EVENT_REWARDED",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ALLEY_STATE_NONE" => Some(Self::AlleyStateNone),
            "ALLEY_EVENT_DOING" => Some(Self::AlleyEventDoing),
            "ALLEY_EVENT_FINISH" => Some(Self::AlleyEventFinish),
            "ALLEY_EVENT_REWARDED" => Some(Self::AlleyEventRewarded),
            _ => None,
        }
    }
}
/// Obf: ADIFBKPHBAP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdArchiveType {
    None = 0,
    CmdGetArchiveDataScRsp = 2368,
    CmdGetUpdatedArchiveDataScRsp = 2324,
    CmdGetUpdatedArchiveDataCsReq = 2358,
    CmdGetArchiveDataCsReq = 2301,
}
impl CmdArchiveType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdArchiveType::None => "CmdArchiveTypeNone",
            CmdArchiveType::CmdGetArchiveDataScRsp => "CmdGetArchiveDataScRsp",
            CmdArchiveType::CmdGetUpdatedArchiveDataScRsp => {
                "CmdGetUpdatedArchiveDataScRsp"
            }
            CmdArchiveType::CmdGetUpdatedArchiveDataCsReq => {
                "CmdGetUpdatedArchiveDataCsReq"
            }
            CmdArchiveType::CmdGetArchiveDataCsReq => "CmdGetArchiveDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdArchiveTypeNone" => Some(Self::None),
            "CmdGetArchiveDataScRsp" => Some(Self::CmdGetArchiveDataScRsp),
            "CmdGetUpdatedArchiveDataScRsp" => Some(Self::CmdGetUpdatedArchiveDataScRsp),
            "CmdGetUpdatedArchiveDataCsReq" => Some(Self::CmdGetUpdatedArchiveDataCsReq),
            "CmdGetArchiveDataCsReq" => Some(Self::CmdGetArchiveDataCsReq),
            _ => None,
        }
    }
}
/// Obf: FLJCHOOCKEK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdAvatarType {
    None = 0,
    CmdGetAvatarDataScRsp = 368,
    CmdRankUpAvatarScRsp = 347,
    CmdTakeOffAvatarSkinCsReq = 395,
    CmdTakeOffEquipmentScRsp = 314,
    CmdAvatarExpUpCsReq = 358,
    CmdSetGrowthTargetAvatarScRsp = 381,
    CmdTakeOffAvatarSkinScRsp = 350,
    CmdDressAvatarCsReq = 328,
    CmdTakeOffEquipmentCsReq = 305,
    CmdTakeOffRelicScRsp = 323,
    CmdPromoteAvatarScRsp = 376,
    CmdUnlockAvatarSkinScNotify = 348,
    CmdDressRelicAvatarScRsp = 339,
    CmdUnlockSkilltreeCsReq = 330,
    CmdTakePromotionRewardCsReq = 312,
    CmdAddAvatarScNotify = 349,
    CmdPromoteAvatarCsReq = 397,
    CmdMarkAvatarScRsp = 320,
    CmdAddMultiPathAvatarScNotify = 392,
    CmdDressAvatarSkinCsReq = 391,
    CmdDressAvatarSkinScRsp = 318,
    CmdTakeOffRelicCsReq = 396,
    CmdSetGrowthTargetAvatarCsReq = 370,
    CmdDressAvatarScRsp = 311,
    CmdUnlockSkilltreeScRsp = 356,
    CmdAvatarExpUpScRsp = 324,
    CmdGrowthTargetAvatarChangedScNotify = 338,
    CmdRankUpAvatarCsReq = 322,
    CmdGetAvatarDataCsReq = 301,
    CmdTakePromotionRewardScRsp = 317,
    CmdMarkAvatarCsReq = 369,
    CmdDressRelicAvatarCsReq = 380,
}
impl CmdAvatarType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdAvatarType::None => "CmdAvatarTypeNone",
            CmdAvatarType::CmdGetAvatarDataScRsp => "CmdGetAvatarDataScRsp",
            CmdAvatarType::CmdRankUpAvatarScRsp => "CmdRankUpAvatarScRsp",
            CmdAvatarType::CmdTakeOffAvatarSkinCsReq => "CmdTakeOffAvatarSkinCsReq",
            CmdAvatarType::CmdTakeOffEquipmentScRsp => "CmdTakeOffEquipmentScRsp",
            CmdAvatarType::CmdAvatarExpUpCsReq => "CmdAvatarExpUpCsReq",
            CmdAvatarType::CmdSetGrowthTargetAvatarScRsp => {
                "CmdSetGrowthTargetAvatarScRsp"
            }
            CmdAvatarType::CmdTakeOffAvatarSkinScRsp => "CmdTakeOffAvatarSkinScRsp",
            CmdAvatarType::CmdDressAvatarCsReq => "CmdDressAvatarCsReq",
            CmdAvatarType::CmdTakeOffEquipmentCsReq => "CmdTakeOffEquipmentCsReq",
            CmdAvatarType::CmdTakeOffRelicScRsp => "CmdTakeOffRelicScRsp",
            CmdAvatarType::CmdPromoteAvatarScRsp => "CmdPromoteAvatarScRsp",
            CmdAvatarType::CmdUnlockAvatarSkinScNotify => "CmdUnlockAvatarSkinScNotify",
            CmdAvatarType::CmdDressRelicAvatarScRsp => "CmdDressRelicAvatarScRsp",
            CmdAvatarType::CmdUnlockSkilltreeCsReq => "CmdUnlockSkilltreeCsReq",
            CmdAvatarType::CmdTakePromotionRewardCsReq => "CmdTakePromotionRewardCsReq",
            CmdAvatarType::CmdAddAvatarScNotify => "CmdAddAvatarScNotify",
            CmdAvatarType::CmdPromoteAvatarCsReq => "CmdPromoteAvatarCsReq",
            CmdAvatarType::CmdMarkAvatarScRsp => "CmdMarkAvatarScRsp",
            CmdAvatarType::CmdAddMultiPathAvatarScNotify => {
                "CmdAddMultiPathAvatarScNotify"
            }
            CmdAvatarType::CmdDressAvatarSkinCsReq => "CmdDressAvatarSkinCsReq",
            CmdAvatarType::CmdDressAvatarSkinScRsp => "CmdDressAvatarSkinScRsp",
            CmdAvatarType::CmdTakeOffRelicCsReq => "CmdTakeOffRelicCsReq",
            CmdAvatarType::CmdSetGrowthTargetAvatarCsReq => {
                "CmdSetGrowthTargetAvatarCsReq"
            }
            CmdAvatarType::CmdDressAvatarScRsp => "CmdDressAvatarScRsp",
            CmdAvatarType::CmdUnlockSkilltreeScRsp => "CmdUnlockSkilltreeScRsp",
            CmdAvatarType::CmdAvatarExpUpScRsp => "CmdAvatarExpUpScRsp",
            CmdAvatarType::CmdGrowthTargetAvatarChangedScNotify => {
                "CmdGrowthTargetAvatarChangedScNotify"
            }
            CmdAvatarType::CmdRankUpAvatarCsReq => "CmdRankUpAvatarCsReq",
            CmdAvatarType::CmdGetAvatarDataCsReq => "CmdGetAvatarDataCsReq",
            CmdAvatarType::CmdTakePromotionRewardScRsp => "CmdTakePromotionRewardScRsp",
            CmdAvatarType::CmdMarkAvatarCsReq => "CmdMarkAvatarCsReq",
            CmdAvatarType::CmdDressRelicAvatarCsReq => "CmdDressRelicAvatarCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdAvatarTypeNone" => Some(Self::None),
            "CmdGetAvatarDataScRsp" => Some(Self::CmdGetAvatarDataScRsp),
            "CmdRankUpAvatarScRsp" => Some(Self::CmdRankUpAvatarScRsp),
            "CmdTakeOffAvatarSkinCsReq" => Some(Self::CmdTakeOffAvatarSkinCsReq),
            "CmdTakeOffEquipmentScRsp" => Some(Self::CmdTakeOffEquipmentScRsp),
            "CmdAvatarExpUpCsReq" => Some(Self::CmdAvatarExpUpCsReq),
            "CmdSetGrowthTargetAvatarScRsp" => Some(Self::CmdSetGrowthTargetAvatarScRsp),
            "CmdTakeOffAvatarSkinScRsp" => Some(Self::CmdTakeOffAvatarSkinScRsp),
            "CmdDressAvatarCsReq" => Some(Self::CmdDressAvatarCsReq),
            "CmdTakeOffEquipmentCsReq" => Some(Self::CmdTakeOffEquipmentCsReq),
            "CmdTakeOffRelicScRsp" => Some(Self::CmdTakeOffRelicScRsp),
            "CmdPromoteAvatarScRsp" => Some(Self::CmdPromoteAvatarScRsp),
            "CmdUnlockAvatarSkinScNotify" => Some(Self::CmdUnlockAvatarSkinScNotify),
            "CmdDressRelicAvatarScRsp" => Some(Self::CmdDressRelicAvatarScRsp),
            "CmdUnlockSkilltreeCsReq" => Some(Self::CmdUnlockSkilltreeCsReq),
            "CmdTakePromotionRewardCsReq" => Some(Self::CmdTakePromotionRewardCsReq),
            "CmdAddAvatarScNotify" => Some(Self::CmdAddAvatarScNotify),
            "CmdPromoteAvatarCsReq" => Some(Self::CmdPromoteAvatarCsReq),
            "CmdMarkAvatarScRsp" => Some(Self::CmdMarkAvatarScRsp),
            "CmdAddMultiPathAvatarScNotify" => Some(Self::CmdAddMultiPathAvatarScNotify),
            "CmdDressAvatarSkinCsReq" => Some(Self::CmdDressAvatarSkinCsReq),
            "CmdDressAvatarSkinScRsp" => Some(Self::CmdDressAvatarSkinScRsp),
            "CmdTakeOffRelicCsReq" => Some(Self::CmdTakeOffRelicCsReq),
            "CmdSetGrowthTargetAvatarCsReq" => Some(Self::CmdSetGrowthTargetAvatarCsReq),
            "CmdDressAvatarScRsp" => Some(Self::CmdDressAvatarScRsp),
            "CmdUnlockSkilltreeScRsp" => Some(Self::CmdUnlockSkilltreeScRsp),
            "CmdAvatarExpUpScRsp" => Some(Self::CmdAvatarExpUpScRsp),
            "CmdGrowthTargetAvatarChangedScNotify" => {
                Some(Self::CmdGrowthTargetAvatarChangedScNotify)
            }
            "CmdRankUpAvatarCsReq" => Some(Self::CmdRankUpAvatarCsReq),
            "CmdGetAvatarDataCsReq" => Some(Self::CmdGetAvatarDataCsReq),
            "CmdTakePromotionRewardScRsp" => Some(Self::CmdTakePromotionRewardScRsp),
            "CmdMarkAvatarCsReq" => Some(Self::CmdMarkAvatarCsReq),
            "CmdDressRelicAvatarCsReq" => Some(Self::CmdDressRelicAvatarCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bcmljcfoefm {
    GrowthTargetFunctionTypeIncludeAllSkilltree = 0,
}
impl Bcmljcfoefm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Bcmljcfoefm::GrowthTargetFunctionTypeIncludeAllSkilltree => {
                "GROWTH_TARGET_FUNCTION_TYPE_INCLUDE_ALL_SKILLTREE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GROWTH_TARGET_FUNCTION_TYPE_INCLUDE_ALL_SKILLTREE" => {
                Some(Self::GrowthTargetFunctionTypeIncludeAllSkilltree)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AddAvatarSrc {
    None = 0,
    Gacha = 1,
    Rogue = 2,
}
impl AddAvatarSrc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            AddAvatarSrc::None => "ADD_AVATAR_SRC_NONE",
            AddAvatarSrc::Gacha => "ADD_AVATAR_SRC_GACHA",
            AddAvatarSrc::Rogue => "ADD_AVATAR_SRC_ROGUE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ADD_AVATAR_SRC_NONE" => Some(Self::None),
            "ADD_AVATAR_SRC_GACHA" => Some(Self::Gacha),
            "ADD_AVATAR_SRC_ROGUE" => Some(Self::Rogue),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gifjdobiiik {
    GrowthTargetAvatarNone = 0,
    GrowthTargetAvatarPre = 1,
    GrowthTargetAvatarUp = 2,
    GrowthTargetAvatarLock = 3,
    GrowthTargetAvatarUnlock = 4,
    GrowthTargetAvatarLockAndUp = 5,
}
impl Gifjdobiiik {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Gifjdobiiik::GrowthTargetAvatarNone => "GROWTH_TARGET_AVATAR_NONE",
            Gifjdobiiik::GrowthTargetAvatarPre => "GROWTH_TARGET_AVATAR_PRE",
            Gifjdobiiik::GrowthTargetAvatarUp => "GROWTH_TARGET_AVATAR_UP",
            Gifjdobiiik::GrowthTargetAvatarLock => "GROWTH_TARGET_AVATAR_LOCK",
            Gifjdobiiik::GrowthTargetAvatarUnlock => "GROWTH_TARGET_AVATAR_UNLOCK",
            Gifjdobiiik::GrowthTargetAvatarLockAndUp => {
                "GROWTH_TARGET_AVATAR_LOCK_AND_UP"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GROWTH_TARGET_AVATAR_NONE" => Some(Self::GrowthTargetAvatarNone),
            "GROWTH_TARGET_AVATAR_PRE" => Some(Self::GrowthTargetAvatarPre),
            "GROWTH_TARGET_AVATAR_UP" => Some(Self::GrowthTargetAvatarUp),
            "GROWTH_TARGET_AVATAR_LOCK" => Some(Self::GrowthTargetAvatarLock),
            "GROWTH_TARGET_AVATAR_UNLOCK" => Some(Self::GrowthTargetAvatarUnlock),
            "GROWTH_TARGET_AVATAR_LOCK_AND_UP" => Some(Self::GrowthTargetAvatarLockAndUp),
            _ => None,
        }
    }
}
/// Obf: IFHMDMPJKCA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBattleType {
    None = 0,
    CmdPveBattleResultCsReq = 101,
    CmdBattleLogReportScRsp = 105,
    CmdPveBattleResultScRsp = 168,
    CmdGetCurBattleInfoCsReq = 130,
    CmdQuitBattleScRsp = 124,
    CmdSyncClientResVersionCsReq = 197,
    CmdBattleLogReportCsReq = 111,
    CmdServerSimulateBattleFinishScNotify = 114,
    CmdQuitBattleScNotify = 128,
    CmdSyncClientResVersionScRsp = 176,
    CmdGetCurBattleInfoScRsp = 156,
    CmdRebattleByClientCsNotify = 122,
    CmdReBattleAfterBattleLoseCsNotify = 149,
    CmdQuitBattleCsReq = 158,
}
impl CmdBattleType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdBattleType::None => "CmdBattleTypeNone",
            CmdBattleType::CmdPveBattleResultCsReq => "CmdPVEBattleResultCsReq",
            CmdBattleType::CmdBattleLogReportScRsp => "CmdBattleLogReportScRsp",
            CmdBattleType::CmdPveBattleResultScRsp => "CmdPVEBattleResultScRsp",
            CmdBattleType::CmdGetCurBattleInfoCsReq => "CmdGetCurBattleInfoCsReq",
            CmdBattleType::CmdQuitBattleScRsp => "CmdQuitBattleScRsp",
            CmdBattleType::CmdSyncClientResVersionCsReq => "CmdSyncClientResVersionCsReq",
            CmdBattleType::CmdBattleLogReportCsReq => "CmdBattleLogReportCsReq",
            CmdBattleType::CmdServerSimulateBattleFinishScNotify => {
                "CmdServerSimulateBattleFinishScNotify"
            }
            CmdBattleType::CmdQuitBattleScNotify => "CmdQuitBattleScNotify",
            CmdBattleType::CmdSyncClientResVersionScRsp => "CmdSyncClientResVersionScRsp",
            CmdBattleType::CmdGetCurBattleInfoScRsp => "CmdGetCurBattleInfoScRsp",
            CmdBattleType::CmdRebattleByClientCsNotify => "CmdRebattleByClientCsNotify",
            CmdBattleType::CmdReBattleAfterBattleLoseCsNotify => {
                "CmdReBattleAfterBattleLoseCsNotify"
            }
            CmdBattleType::CmdQuitBattleCsReq => "CmdQuitBattleCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdBattleTypeNone" => Some(Self::None),
            "CmdPVEBattleResultCsReq" => Some(Self::CmdPveBattleResultCsReq),
            "CmdBattleLogReportScRsp" => Some(Self::CmdBattleLogReportScRsp),
            "CmdPVEBattleResultScRsp" => Some(Self::CmdPveBattleResultScRsp),
            "CmdGetCurBattleInfoCsReq" => Some(Self::CmdGetCurBattleInfoCsReq),
            "CmdQuitBattleScRsp" => Some(Self::CmdQuitBattleScRsp),
            "CmdSyncClientResVersionCsReq" => Some(Self::CmdSyncClientResVersionCsReq),
            "CmdBattleLogReportCsReq" => Some(Self::CmdBattleLogReportCsReq),
            "CmdServerSimulateBattleFinishScNotify" => {
                Some(Self::CmdServerSimulateBattleFinishScNotify)
            }
            "CmdQuitBattleScNotify" => Some(Self::CmdQuitBattleScNotify),
            "CmdSyncClientResVersionScRsp" => Some(Self::CmdSyncClientResVersionScRsp),
            "CmdGetCurBattleInfoScRsp" => Some(Self::CmdGetCurBattleInfoScRsp),
            "CmdRebattleByClientCsNotify" => Some(Self::CmdRebattleByClientCsNotify),
            "CmdReBattleAfterBattleLoseCsNotify" => {
                Some(Self::CmdReBattleAfterBattleLoseCsNotify)
            }
            "CmdQuitBattleCsReq" => Some(Self::CmdQuitBattleCsReq),
            _ => None,
        }
    }
}
/// Obf: LEMLEAEGGJH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBattleCollegeType {
    None = 0,
    CmdGetBattleCollegeDataScRsp = 5768,
    CmdStartBattleCollegeScRsp = 5730,
    CmdBattleCollegeDataChangeScNotify = 5758,
    CmdGetBattleCollegeDataCsReq = 5701,
    CmdStartBattleCollegeCsReq = 5724,
}
impl CmdBattleCollegeType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdBattleCollegeType::None => "CmdBattleCollegeTypeNone",
            CmdBattleCollegeType::CmdGetBattleCollegeDataScRsp => {
                "CmdGetBattleCollegeDataScRsp"
            }
            CmdBattleCollegeType::CmdStartBattleCollegeScRsp => {
                "CmdStartBattleCollegeScRsp"
            }
            CmdBattleCollegeType::CmdBattleCollegeDataChangeScNotify => {
                "CmdBattleCollegeDataChangeScNotify"
            }
            CmdBattleCollegeType::CmdGetBattleCollegeDataCsReq => {
                "CmdGetBattleCollegeDataCsReq"
            }
            CmdBattleCollegeType::CmdStartBattleCollegeCsReq => {
                "CmdStartBattleCollegeCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdBattleCollegeTypeNone" => Some(Self::None),
            "CmdGetBattleCollegeDataScRsp" => Some(Self::CmdGetBattleCollegeDataScRsp),
            "CmdStartBattleCollegeScRsp" => Some(Self::CmdStartBattleCollegeScRsp),
            "CmdBattleCollegeDataChangeScNotify" => {
                Some(Self::CmdBattleCollegeDataChangeScNotify)
            }
            "CmdGetBattleCollegeDataCsReq" => Some(Self::CmdGetBattleCollegeDataCsReq),
            "CmdStartBattleCollegeCsReq" => Some(Self::CmdStartBattleCollegeCsReq),
            _ => None,
        }
    }
}
/// Obf: NLEECJNKPHJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBattlePassType {
    None = 0,
    CmdTakeBpRewardCsReq = 3024,
    CmdTakeAllRewardScRsp = 3028,
    CmdBattlePassInfoNotify = 3001,
    CmdBuyBpLevelScRsp = 3097,
    CmdBuyBpLevelCsReq = 3056,
    CmdTakeAllRewardCsReq = 3076,
    CmdTakeBpRewardScRsp = 3030,
}
impl CmdBattlePassType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdBattlePassType::None => "CmdBattlePassTypeNone",
            CmdBattlePassType::CmdTakeBpRewardCsReq => "CmdTakeBpRewardCsReq",
            CmdBattlePassType::CmdTakeAllRewardScRsp => "CmdTakeAllRewardScRsp",
            CmdBattlePassType::CmdBattlePassInfoNotify => "CmdBattlePassInfoNotify",
            CmdBattlePassType::CmdBuyBpLevelScRsp => "CmdBuyBpLevelScRsp",
            CmdBattlePassType::CmdBuyBpLevelCsReq => "CmdBuyBpLevelCsReq",
            CmdBattlePassType::CmdTakeAllRewardCsReq => "CmdTakeAllRewardCsReq",
            CmdBattlePassType::CmdTakeBpRewardScRsp => "CmdTakeBpRewardScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdBattlePassTypeNone" => Some(Self::None),
            "CmdTakeBpRewardCsReq" => Some(Self::CmdTakeBpRewardCsReq),
            "CmdTakeAllRewardScRsp" => Some(Self::CmdTakeAllRewardScRsp),
            "CmdBattlePassInfoNotify" => Some(Self::CmdBattlePassInfoNotify),
            "CmdBuyBpLevelScRsp" => Some(Self::CmdBuyBpLevelScRsp),
            "CmdBuyBpLevelCsReq" => Some(Self::CmdBuyBpLevelCsReq),
            "CmdTakeAllRewardCsReq" => Some(Self::CmdTakeAllRewardCsReq),
            "CmdTakeBpRewardScRsp" => Some(Self::CmdTakeBpRewardScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BpTierType {
    None = 0,
    Free = 1,
    Premium1 = 2,
    Premium2 = 3,
}
impl BpTierType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            BpTierType::None => "BP_TIER_TYPE_NONE",
            BpTierType::Free => "BP_TIER_TYPE_FREE",
            BpTierType::Premium1 => "BP_TIER_TYPE_PREMIUM_1",
            BpTierType::Premium2 => "BP_TIER_TYPE_PREMIUM_2",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BP_TIER_TYPE_NONE" => Some(Self::None),
            "BP_TIER_TYPE_FREE" => Some(Self::Free),
            "BP_TIER_TYPE_PREMIUM_1" => Some(Self::Premium1),
            "BP_TIER_TYPE_PREMIUM_2" => Some(Self::Premium2),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BpRewardType {
    BpRewaradTypeNone = 0,
    BpRewaradTypeFree = 1,
    BpRewaradTypePremium1 = 2,
    BpRewaradTypePremium2 = 3,
    BpRewaradTypePremiumOptional = 4,
}
impl BpRewardType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            BpRewardType::BpRewaradTypeNone => "BP_REWARAD_TYPE_NONE",
            BpRewardType::BpRewaradTypeFree => "BP_REWARAD_TYPE_FREE",
            BpRewardType::BpRewaradTypePremium1 => "BP_REWARAD_TYPE_PREMIUM_1",
            BpRewardType::BpRewaradTypePremium2 => "BP_REWARAD_TYPE_PREMIUM_2",
            BpRewardType::BpRewaradTypePremiumOptional => {
                "BP_REWARAD_TYPE_PREMIUM_OPTIONAL"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BP_REWARAD_TYPE_NONE" => Some(Self::BpRewaradTypeNone),
            "BP_REWARAD_TYPE_FREE" => Some(Self::BpRewaradTypeFree),
            "BP_REWARAD_TYPE_PREMIUM_1" => Some(Self::BpRewaradTypePremium1),
            "BP_REWARAD_TYPE_PREMIUM_2" => Some(Self::BpRewaradTypePremium2),
            "BP_REWARAD_TYPE_PREMIUM_OPTIONAL" => {
                Some(Self::BpRewaradTypePremiumOptional)
            }
            _ => None,
        }
    }
}
/// Obf: EJINLEIJIFO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBenefitActivityType {
    None = 0,
    CmdGetBenefitActivityInfoCsReq = 4876,
    CmdJoinBenefitActivityCsReq = 4856,
    CmdTakeBenefitActivityRewardScRsp = 4893,
    CmdJoinBenefitActivityScRsp = 4883,
    CmdGetBenefitActivityInfoScRsp = 4887,
    CmdTakeBenefitActivityRewardCsReq = 4891,
}
impl CmdBenefitActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdBenefitActivityType::None => "CmdBenefitActivityTypeNone",
            CmdBenefitActivityType::CmdGetBenefitActivityInfoCsReq => {
                "CmdGetBenefitActivityInfoCsReq"
            }
            CmdBenefitActivityType::CmdJoinBenefitActivityCsReq => {
                "CmdJoinBenefitActivityCsReq"
            }
            CmdBenefitActivityType::CmdTakeBenefitActivityRewardScRsp => {
                "CmdTakeBenefitActivityRewardScRsp"
            }
            CmdBenefitActivityType::CmdJoinBenefitActivityScRsp => {
                "CmdJoinBenefitActivityScRsp"
            }
            CmdBenefitActivityType::CmdGetBenefitActivityInfoScRsp => {
                "CmdGetBenefitActivityInfoScRsp"
            }
            CmdBenefitActivityType::CmdTakeBenefitActivityRewardCsReq => {
                "CmdTakeBenefitActivityRewardCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdBenefitActivityTypeNone" => Some(Self::None),
            "CmdGetBenefitActivityInfoCsReq" => {
                Some(Self::CmdGetBenefitActivityInfoCsReq)
            }
            "CmdJoinBenefitActivityCsReq" => Some(Self::CmdJoinBenefitActivityCsReq),
            "CmdTakeBenefitActivityRewardScRsp" => {
                Some(Self::CmdTakeBenefitActivityRewardScRsp)
            }
            "CmdJoinBenefitActivityScRsp" => Some(Self::CmdJoinBenefitActivityScRsp),
            "CmdGetBenefitActivityInfoScRsp" => {
                Some(Self::CmdGetBenefitActivityInfoScRsp)
            }
            "CmdTakeBenefitActivityRewardCsReq" => {
                Some(Self::CmdTakeBenefitActivityRewardCsReq)
            }
            _ => None,
        }
    }
}
/// Obf: PHMBPPHJMIL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBoxingClubType {
    None = 0,
    CmdSetBoxingClubResonanceLineupCsReq = 4249,
    CmdMatchBoxingClubOpponentScRsp = 4224,
    CmdChooseBoxingClubResonanceCsReq = 4205,
    CmdBoxingClubRewardScNotify = 4228,
    CmdGiveUpBoxingClubChallengeScRsp = 4276,
    CmdGetBoxingClubInfoScRsp = 4268,
    CmdChooseBoxingClubStageOptionalBuffCsReq = 4247,
    CmdGetBoxingClubInfoCsReq = 4201,
    CmdStartBoxingClubBattleCsReq = 4230,
    CmdBoxingClubChallengeUpdateScNotify = 4211,
    CmdMatchBoxingClubOpponentCsReq = 4258,
    CmdGiveUpBoxingClubChallengeCsReq = 4297,
    CmdStartBoxingClubBattleScRsp = 4256,
    CmdChooseBoxingClubResonanceScRsp = 4214,
    CmdSetBoxingClubResonanceLineupScRsp = 4222,
    CmdChooseBoxingClubStageOptionalBuffScRsp = 4280,
}
impl CmdBoxingClubType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdBoxingClubType::None => "CmdBoxingClubTypeNone",
            CmdBoxingClubType::CmdSetBoxingClubResonanceLineupCsReq => {
                "CmdSetBoxingClubResonanceLineupCsReq"
            }
            CmdBoxingClubType::CmdMatchBoxingClubOpponentScRsp => {
                "CmdMatchBoxingClubOpponentScRsp"
            }
            CmdBoxingClubType::CmdChooseBoxingClubResonanceCsReq => {
                "CmdChooseBoxingClubResonanceCsReq"
            }
            CmdBoxingClubType::CmdBoxingClubRewardScNotify => {
                "CmdBoxingClubRewardScNotify"
            }
            CmdBoxingClubType::CmdGiveUpBoxingClubChallengeScRsp => {
                "CmdGiveUpBoxingClubChallengeScRsp"
            }
            CmdBoxingClubType::CmdGetBoxingClubInfoScRsp => "CmdGetBoxingClubInfoScRsp",
            CmdBoxingClubType::CmdChooseBoxingClubStageOptionalBuffCsReq => {
                "CmdChooseBoxingClubStageOptionalBuffCsReq"
            }
            CmdBoxingClubType::CmdGetBoxingClubInfoCsReq => "CmdGetBoxingClubInfoCsReq",
            CmdBoxingClubType::CmdStartBoxingClubBattleCsReq => {
                "CmdStartBoxingClubBattleCsReq"
            }
            CmdBoxingClubType::CmdBoxingClubChallengeUpdateScNotify => {
                "CmdBoxingClubChallengeUpdateScNotify"
            }
            CmdBoxingClubType::CmdMatchBoxingClubOpponentCsReq => {
                "CmdMatchBoxingClubOpponentCsReq"
            }
            CmdBoxingClubType::CmdGiveUpBoxingClubChallengeCsReq => {
                "CmdGiveUpBoxingClubChallengeCsReq"
            }
            CmdBoxingClubType::CmdStartBoxingClubBattleScRsp => {
                "CmdStartBoxingClubBattleScRsp"
            }
            CmdBoxingClubType::CmdChooseBoxingClubResonanceScRsp => {
                "CmdChooseBoxingClubResonanceScRsp"
            }
            CmdBoxingClubType::CmdSetBoxingClubResonanceLineupScRsp => {
                "CmdSetBoxingClubResonanceLineupScRsp"
            }
            CmdBoxingClubType::CmdChooseBoxingClubStageOptionalBuffScRsp => {
                "CmdChooseBoxingClubStageOptionalBuffScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdBoxingClubTypeNone" => Some(Self::None),
            "CmdSetBoxingClubResonanceLineupCsReq" => {
                Some(Self::CmdSetBoxingClubResonanceLineupCsReq)
            }
            "CmdMatchBoxingClubOpponentScRsp" => {
                Some(Self::CmdMatchBoxingClubOpponentScRsp)
            }
            "CmdChooseBoxingClubResonanceCsReq" => {
                Some(Self::CmdChooseBoxingClubResonanceCsReq)
            }
            "CmdBoxingClubRewardScNotify" => Some(Self::CmdBoxingClubRewardScNotify),
            "CmdGiveUpBoxingClubChallengeScRsp" => {
                Some(Self::CmdGiveUpBoxingClubChallengeScRsp)
            }
            "CmdGetBoxingClubInfoScRsp" => Some(Self::CmdGetBoxingClubInfoScRsp),
            "CmdChooseBoxingClubStageOptionalBuffCsReq" => {
                Some(Self::CmdChooseBoxingClubStageOptionalBuffCsReq)
            }
            "CmdGetBoxingClubInfoCsReq" => Some(Self::CmdGetBoxingClubInfoCsReq),
            "CmdStartBoxingClubBattleCsReq" => Some(Self::CmdStartBoxingClubBattleCsReq),
            "CmdBoxingClubChallengeUpdateScNotify" => {
                Some(Self::CmdBoxingClubChallengeUpdateScNotify)
            }
            "CmdMatchBoxingClubOpponentCsReq" => {
                Some(Self::CmdMatchBoxingClubOpponentCsReq)
            }
            "CmdGiveUpBoxingClubChallengeCsReq" => {
                Some(Self::CmdGiveUpBoxingClubChallengeCsReq)
            }
            "CmdStartBoxingClubBattleScRsp" => Some(Self::CmdStartBoxingClubBattleScRsp),
            "CmdChooseBoxingClubResonanceScRsp" => {
                Some(Self::CmdChooseBoxingClubResonanceScRsp)
            }
            "CmdSetBoxingClubResonanceLineupScRsp" => {
                Some(Self::CmdSetBoxingClubResonanceLineupScRsp)
            }
            "CmdChooseBoxingClubStageOptionalBuffScRsp" => {
                Some(Self::CmdChooseBoxingClubStageOptionalBuffScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: KGHIFCBKJME
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChallengeType {
    None = 0,
    CmdStartChallengeCsReq = 1758,
    CmdChallengeBossPhaseSettleNotify = 1748,
    CmdLeaveChallengeScRsp = 1756,
    CmdStartPartialChallengeScRsp = 1712,
    CmdStartChallengeScRsp = 1724,
    CmdGetChallengeGroupStatisticsCsReq = 1739,
    CmdRestartChallengePhaseCsReq = 1791,
    CmdRestartChallengePhaseScRsp = 1718,
    CmdTakeChallengeRewardScRsp = 1780,
    CmdGetCurChallengeCsReq = 1711,
    CmdGetCurChallengeScRsp = 1705,
    CmdChallengeLineupNotify = 1714,
    CmdLeaveChallengeCsReq = 1730,
    CmdGetChallengeCsReq = 1701,
    CmdGetChallengeGroupStatisticsScRsp = 1796,
    CmdChallengeSettleNotify = 1797,
    CmdTakeChallengeRewardCsReq = 1747,
    CmdStartPartialChallengeCsReq = 1723,
    CmdGetChallengeScRsp = 1768,
    CmdEnterChallengeNextPhaseScRsp = 1750,
    CmdEnterChallengeNextPhaseCsReq = 1795,
}
impl CmdChallengeType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdChallengeType::None => "CmdChallengeTypeNone",
            CmdChallengeType::CmdStartChallengeCsReq => "CmdStartChallengeCsReq",
            CmdChallengeType::CmdChallengeBossPhaseSettleNotify => {
                "CmdChallengeBossPhaseSettleNotify"
            }
            CmdChallengeType::CmdLeaveChallengeScRsp => "CmdLeaveChallengeScRsp",
            CmdChallengeType::CmdStartPartialChallengeScRsp => {
                "CmdStartPartialChallengeScRsp"
            }
            CmdChallengeType::CmdStartChallengeScRsp => "CmdStartChallengeScRsp",
            CmdChallengeType::CmdGetChallengeGroupStatisticsCsReq => {
                "CmdGetChallengeGroupStatisticsCsReq"
            }
            CmdChallengeType::CmdRestartChallengePhaseCsReq => {
                "CmdRestartChallengePhaseCsReq"
            }
            CmdChallengeType::CmdRestartChallengePhaseScRsp => {
                "CmdRestartChallengePhaseScRsp"
            }
            CmdChallengeType::CmdTakeChallengeRewardScRsp => {
                "CmdTakeChallengeRewardScRsp"
            }
            CmdChallengeType::CmdGetCurChallengeCsReq => "CmdGetCurChallengeCsReq",
            CmdChallengeType::CmdGetCurChallengeScRsp => "CmdGetCurChallengeScRsp",
            CmdChallengeType::CmdChallengeLineupNotify => "CmdChallengeLineupNotify",
            CmdChallengeType::CmdLeaveChallengeCsReq => "CmdLeaveChallengeCsReq",
            CmdChallengeType::CmdGetChallengeCsReq => "CmdGetChallengeCsReq",
            CmdChallengeType::CmdGetChallengeGroupStatisticsScRsp => {
                "CmdGetChallengeGroupStatisticsScRsp"
            }
            CmdChallengeType::CmdChallengeSettleNotify => "CmdChallengeSettleNotify",
            CmdChallengeType::CmdTakeChallengeRewardCsReq => {
                "CmdTakeChallengeRewardCsReq"
            }
            CmdChallengeType::CmdStartPartialChallengeCsReq => {
                "CmdStartPartialChallengeCsReq"
            }
            CmdChallengeType::CmdGetChallengeScRsp => "CmdGetChallengeScRsp",
            CmdChallengeType::CmdEnterChallengeNextPhaseScRsp => {
                "CmdEnterChallengeNextPhaseScRsp"
            }
            CmdChallengeType::CmdEnterChallengeNextPhaseCsReq => {
                "CmdEnterChallengeNextPhaseCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdChallengeTypeNone" => Some(Self::None),
            "CmdStartChallengeCsReq" => Some(Self::CmdStartChallengeCsReq),
            "CmdChallengeBossPhaseSettleNotify" => {
                Some(Self::CmdChallengeBossPhaseSettleNotify)
            }
            "CmdLeaveChallengeScRsp" => Some(Self::CmdLeaveChallengeScRsp),
            "CmdStartPartialChallengeScRsp" => Some(Self::CmdStartPartialChallengeScRsp),
            "CmdStartChallengeScRsp" => Some(Self::CmdStartChallengeScRsp),
            "CmdGetChallengeGroupStatisticsCsReq" => {
                Some(Self::CmdGetChallengeGroupStatisticsCsReq)
            }
            "CmdRestartChallengePhaseCsReq" => Some(Self::CmdRestartChallengePhaseCsReq),
            "CmdRestartChallengePhaseScRsp" => Some(Self::CmdRestartChallengePhaseScRsp),
            "CmdTakeChallengeRewardScRsp" => Some(Self::CmdTakeChallengeRewardScRsp),
            "CmdGetCurChallengeCsReq" => Some(Self::CmdGetCurChallengeCsReq),
            "CmdGetCurChallengeScRsp" => Some(Self::CmdGetCurChallengeScRsp),
            "CmdChallengeLineupNotify" => Some(Self::CmdChallengeLineupNotify),
            "CmdLeaveChallengeCsReq" => Some(Self::CmdLeaveChallengeCsReq),
            "CmdGetChallengeCsReq" => Some(Self::CmdGetChallengeCsReq),
            "CmdGetChallengeGroupStatisticsScRsp" => {
                Some(Self::CmdGetChallengeGroupStatisticsScRsp)
            }
            "CmdChallengeSettleNotify" => Some(Self::CmdChallengeSettleNotify),
            "CmdTakeChallengeRewardCsReq" => Some(Self::CmdTakeChallengeRewardCsReq),
            "CmdStartPartialChallengeCsReq" => Some(Self::CmdStartPartialChallengeCsReq),
            "CmdGetChallengeScRsp" => Some(Self::CmdGetChallengeScRsp),
            "CmdEnterChallengeNextPhaseScRsp" => {
                Some(Self::CmdEnterChallengeNextPhaseScRsp)
            }
            "CmdEnterChallengeNextPhaseCsReq" => {
                Some(Self::CmdEnterChallengeNextPhaseCsReq)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChallengeStatus {
    ChallengeUnknown = 0,
    ChallengeDoing = 1,
    ChallengeFinish = 2,
    ChallengeFailed = 3,
}
impl ChallengeStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            ChallengeStatus::ChallengeUnknown => "CHALLENGE_UNKNOWN",
            ChallengeStatus::ChallengeDoing => "CHALLENGE_DOING",
            ChallengeStatus::ChallengeFinish => "CHALLENGE_FINISH",
            ChallengeStatus::ChallengeFailed => "CHALLENGE_FAILED",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHALLENGE_UNKNOWN" => Some(Self::ChallengeUnknown),
            "CHALLENGE_DOING" => Some(Self::ChallengeDoing),
            "CHALLENGE_FINISH" => Some(Self::ChallengeFinish),
            "CHALLENGE_FAILED" => Some(Self::ChallengeFailed),
            _ => None,
        }
    }
}
/// Obf: COGBHHBJHPE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChatType {
    None = 0,
    CmdRevcMsgScNotify = 3958,
    CmdBatchMarkChatEmojiScRsp = 3922,
    CmdGetLoginChatInfoScRsp = 3980,
    CmdGetLoginChatInfoCsReq = 3947,
    CmdGetPrivateChatHistoryScRsp = 3956,
    CmdPrivateMsgOfflineUsersScNotify = 3924,
    CmdGetChatEmojiListScRsp = 3911,
    CmdSendMsgCsReq = 3901,
    CmdGetPrivateChatHistoryCsReq = 3930,
    CmdBatchMarkChatEmojiCsReq = 3949,
    CmdSendMsgScRsp = 3968,
    CmdMarkChatEmojiCsReq = 3905,
    CmdGetChatFriendHistoryCsReq = 3997,
    CmdMarkChatEmojiScRsp = 3914,
    CmdGetChatEmojiListCsReq = 3928,
    CmdGetChatFriendHistoryScRsp = 3976,
}
impl CmdChatType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdChatType::None => "CmdChatTypeNone",
            CmdChatType::CmdRevcMsgScNotify => "CmdRevcMsgScNotify",
            CmdChatType::CmdBatchMarkChatEmojiScRsp => "CmdBatchMarkChatEmojiScRsp",
            CmdChatType::CmdGetLoginChatInfoScRsp => "CmdGetLoginChatInfoScRsp",
            CmdChatType::CmdGetLoginChatInfoCsReq => "CmdGetLoginChatInfoCsReq",
            CmdChatType::CmdGetPrivateChatHistoryScRsp => "CmdGetPrivateChatHistoryScRsp",
            CmdChatType::CmdPrivateMsgOfflineUsersScNotify => {
                "CmdPrivateMsgOfflineUsersScNotify"
            }
            CmdChatType::CmdGetChatEmojiListScRsp => "CmdGetChatEmojiListScRsp",
            CmdChatType::CmdSendMsgCsReq => "CmdSendMsgCsReq",
            CmdChatType::CmdGetPrivateChatHistoryCsReq => "CmdGetPrivateChatHistoryCsReq",
            CmdChatType::CmdBatchMarkChatEmojiCsReq => "CmdBatchMarkChatEmojiCsReq",
            CmdChatType::CmdSendMsgScRsp => "CmdSendMsgScRsp",
            CmdChatType::CmdMarkChatEmojiCsReq => "CmdMarkChatEmojiCsReq",
            CmdChatType::CmdGetChatFriendHistoryCsReq => "CmdGetChatFriendHistoryCsReq",
            CmdChatType::CmdMarkChatEmojiScRsp => "CmdMarkChatEmojiScRsp",
            CmdChatType::CmdGetChatEmojiListCsReq => "CmdGetChatEmojiListCsReq",
            CmdChatType::CmdGetChatFriendHistoryScRsp => "CmdGetChatFriendHistoryScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdChatTypeNone" => Some(Self::None),
            "CmdRevcMsgScNotify" => Some(Self::CmdRevcMsgScNotify),
            "CmdBatchMarkChatEmojiScRsp" => Some(Self::CmdBatchMarkChatEmojiScRsp),
            "CmdGetLoginChatInfoScRsp" => Some(Self::CmdGetLoginChatInfoScRsp),
            "CmdGetLoginChatInfoCsReq" => Some(Self::CmdGetLoginChatInfoCsReq),
            "CmdGetPrivateChatHistoryScRsp" => Some(Self::CmdGetPrivateChatHistoryScRsp),
            "CmdPrivateMsgOfflineUsersScNotify" => {
                Some(Self::CmdPrivateMsgOfflineUsersScNotify)
            }
            "CmdGetChatEmojiListScRsp" => Some(Self::CmdGetChatEmojiListScRsp),
            "CmdSendMsgCsReq" => Some(Self::CmdSendMsgCsReq),
            "CmdGetPrivateChatHistoryCsReq" => Some(Self::CmdGetPrivateChatHistoryCsReq),
            "CmdBatchMarkChatEmojiCsReq" => Some(Self::CmdBatchMarkChatEmojiCsReq),
            "CmdSendMsgScRsp" => Some(Self::CmdSendMsgScRsp),
            "CmdMarkChatEmojiCsReq" => Some(Self::CmdMarkChatEmojiCsReq),
            "CmdGetChatFriendHistoryCsReq" => Some(Self::CmdGetChatFriendHistoryCsReq),
            "CmdMarkChatEmojiScRsp" => Some(Self::CmdMarkChatEmojiScRsp),
            "CmdGetChatEmojiListCsReq" => Some(Self::CmdGetChatEmojiListCsReq),
            "CmdGetChatFriendHistoryScRsp" => Some(Self::CmdGetChatFriendHistoryScRsp),
            _ => None,
        }
    }
}
/// Obf: PEICFIGPMAK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChessRogueType {
    None = 0,
    CmdChessRogueQuitScRsp = 5546,
    CmdChessRogueNousDiceSurfaceUnlockNotify = 5457,
    CmdChessRogueConfirmRollScRsp = 5577,
    CmdChessRogueStartScRsp = 5578,
    CmdGetChessRogueStoryAeonTalkInfoCsReq = 5452,
    CmdChessRogueUpdateDicePassiveAccumulateValueScNotify = 5596,
    CmdChessRogueNousGetRogueTalentInfoCsReq = 5408,
    CmdChessRogueSkipTeachingLevelCsReq = 5404,
    CmdChessRogueSkipTeachingLevelScRsp = 5564,
    CmdChessRogueQuitCsReq = 5535,
    CmdChessRogueCheatRollScRsp = 5563,
    CmdChessRogueEnterCellScRsp = 5529,
    CmdEnhanceChessRogueBuffScRsp = 5533,
    CmdChessRogueUpdateActionPointScNotify = 5455,
    CmdGetChessRogueNousStoryInfoCsReq = 5422,
    CmdChessRogueGiveUpRollCsReq = 5456,
    CmdSelectChessRogueNousSubStoryCsReq = 5557,
    CmdChessRogueNousEnableRogueTalentScRsp = 5420,
    CmdChessRogueQueryBpCsReq = 5503,
    CmdChessRogueQueryBpScRsp = 5562,
    CmdChessRogueQueryAeonDimensionsCsReq = 5560,
    CmdChessRogueRollDiceScRsp = 5518,
    CmdChessRogueNousEnableRogueTalentCsReq = 5583,
    CmdChessRogueCellUpdateNotify = 5534,
    CmdEnterChessRogueAeonRoomCsReq = 5514,
    CmdSyncChessRogueNousMainStoryScNotify = 5532,
    CmdChessRogueNousDiceUpdateNotify = 5414,
    CmdFinishChessRogueSubStoryCsReq = 5468,
    CmdChessRogueUpdateMoneyInfoScNotify = 5553,
    CmdEnhanceChessRogueBuffCsReq = 5421,
    CmdChessRogueQuestFinishNotify = 5576,
    CmdSyncChessRogueNousValueScNotify = 5435,
    CmdChessRogueUpdateUnlockLevelScNotify = 5462,
    CmdChessRogueUpdateBoardScNotify = 5411,
    CmdGetChessRogueBuffEnhanceInfoCsReq = 5592,
    CmdChessRogueFinishCurRoomNotify = 5410,
    CmdSyncChessRogueMainStoryFinishScNotify = 5548,
    CmdChessRogueEnterNextLayerScRsp = 5512,
    CmdChessRogueEnterScRsp = 5551,
    CmdChessRogueConfirmRollCsReq = 5443,
    CmdChessRogueGiveUpCsReq = 5521,
    CmdSelectChessRogueSubStoryCsReq = 5580,
    CmdChessRogueGoAheadCsReq = 5581,
    CmdChessRogueLeaveCsReq = 5536,
    CmdChessRogueQueryCsReq = 5594,
    CmdChessRogueReviveAvatarCsReq = 5519,
    CmdChessRogueQueryAeonDimensionsScRsp = 5458,
    CmdChessRogueCheatRollCsReq = 5544,
    CmdChessRogueLayerAccountInfoNotify = 5451,
    CmdGetChessRogueStoryInfoCsReq = 5491,
    CmdChessRogueEnterCsReq = 5431,
    CmdChessRogueRollDiceCsReq = 5438,
    CmdChessRogueNousEditDiceScRsp = 5516,
    CmdChessRogueUpdateReviveInfoScNotify = 5566,
    CmdChessRogueMoveCellNotify = 5487,
    CmdChessRogueGiveUpScRsp = 5401,
    CmdFinishChessRogueNousSubStoryCsReq = 5501,
    CmdSyncChessRogueNousSubStoryScNotify = 5467,
    CmdChessRogueChangeyAeonDimensionNotify = 5486,
    CmdChessRogueGoAheadScRsp = 5539,
    CmdChessRogueUpdateLevelBaseInfoScNotify = 5465,
    CmdChessRogueUpdateAeonModifierValueScNotify = 5579,
    CmdFinishChessRogueSubStoryScRsp = 5425,
    CmdGetChessRogueStoryAeonTalkInfoScRsp = 5430,
    CmdEnterChessRogueAeonRoomScRsp = 5475,
    CmdChessRogueReRollDiceCsReq = 5402,
    CmdFinishChessRogueNousSubStoryScRsp = 5427,
    CmdChessRogueStartCsReq = 5407,
    CmdChessRogueEnterNextLayerCsReq = 5528,
    CmdChessRogueNousGetRogueTalentInfoScRsp = 5470,
    CmdGetChessRogueStoryInfoScRsp = 5530,
    CmdChessRogueNousEditDiceCsReq = 5439,
    CmdChessRogueQueryScRsp = 5406,
    CmdChessRogueSelectCellCsReq = 5493,
    CmdSelectChessRogueSubStoryScRsp = 5538,
    CmdGetChessRogueNousStoryInfoScRsp = 5554,
    CmdChessRogueReRollDiceScRsp = 5561,
    CmdChessRogueSelectCellScRsp = 5429,
    CmdSelectChessRogueNousSubStoryScRsp = 5499,
    CmdChessRoguePickAvatarScRsp = 5494,
    CmdChessRogueSelectBpCsReq = 5565,
    CmdChessRoguePickAvatarCsReq = 5510,
    CmdChessRogueSelectBpScRsp = 5428,
    CmdChessRogueGiveUpRollScRsp = 5508,
    CmdChessRogueUpdateAllowedSelectCellScNotify = 5595,
    CmdChessRogueEnterCellCsReq = 5569,
    CmdChessRogueReviveAvatarScRsp = 5496,
    CmdGetChessRogueBuffEnhanceInfoScRsp = 5506,
    CmdChessRogueLeaveScRsp = 5558,
    CmdChessRogueUpdateDiceInfoScNotify = 5509,
}
impl CmdChessRogueType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdChessRogueType::None => "CmdChessRogueTypeNone",
            CmdChessRogueType::CmdChessRogueQuitScRsp => "CmdChessRogueQuitScRsp",
            CmdChessRogueType::CmdChessRogueNousDiceSurfaceUnlockNotify => {
                "CmdChessRogueNousDiceSurfaceUnlockNotify"
            }
            CmdChessRogueType::CmdChessRogueConfirmRollScRsp => {
                "CmdChessRogueConfirmRollScRsp"
            }
            CmdChessRogueType::CmdChessRogueStartScRsp => "CmdChessRogueStartScRsp",
            CmdChessRogueType::CmdGetChessRogueStoryAeonTalkInfoCsReq => {
                "CmdGetChessRogueStoryAeonTalkInfoCsReq"
            }
            CmdChessRogueType::CmdChessRogueUpdateDicePassiveAccumulateValueScNotify => {
                "CmdChessRogueUpdateDicePassiveAccumulateValueScNotify"
            }
            CmdChessRogueType::CmdChessRogueNousGetRogueTalentInfoCsReq => {
                "CmdChessRogueNousGetRogueTalentInfoCsReq"
            }
            CmdChessRogueType::CmdChessRogueSkipTeachingLevelCsReq => {
                "CmdChessRogueSkipTeachingLevelCsReq"
            }
            CmdChessRogueType::CmdChessRogueSkipTeachingLevelScRsp => {
                "CmdChessRogueSkipTeachingLevelScRsp"
            }
            CmdChessRogueType::CmdChessRogueQuitCsReq => "CmdChessRogueQuitCsReq",
            CmdChessRogueType::CmdChessRogueCheatRollScRsp => {
                "CmdChessRogueCheatRollScRsp"
            }
            CmdChessRogueType::CmdChessRogueEnterCellScRsp => {
                "CmdChessRogueEnterCellScRsp"
            }
            CmdChessRogueType::CmdEnhanceChessRogueBuffScRsp => {
                "CmdEnhanceChessRogueBuffScRsp"
            }
            CmdChessRogueType::CmdChessRogueUpdateActionPointScNotify => {
                "CmdChessRogueUpdateActionPointScNotify"
            }
            CmdChessRogueType::CmdGetChessRogueNousStoryInfoCsReq => {
                "CmdGetChessRogueNousStoryInfoCsReq"
            }
            CmdChessRogueType::CmdChessRogueGiveUpRollCsReq => {
                "CmdChessRogueGiveUpRollCsReq"
            }
            CmdChessRogueType::CmdSelectChessRogueNousSubStoryCsReq => {
                "CmdSelectChessRogueNousSubStoryCsReq"
            }
            CmdChessRogueType::CmdChessRogueNousEnableRogueTalentScRsp => {
                "CmdChessRogueNousEnableRogueTalentScRsp"
            }
            CmdChessRogueType::CmdChessRogueQueryBpCsReq => "CmdChessRogueQueryBpCsReq",
            CmdChessRogueType::CmdChessRogueQueryBpScRsp => "CmdChessRogueQueryBpScRsp",
            CmdChessRogueType::CmdChessRogueQueryAeonDimensionsCsReq => {
                "CmdChessRogueQueryAeonDimensionsCsReq"
            }
            CmdChessRogueType::CmdChessRogueRollDiceScRsp => "CmdChessRogueRollDiceScRsp",
            CmdChessRogueType::CmdChessRogueNousEnableRogueTalentCsReq => {
                "CmdChessRogueNousEnableRogueTalentCsReq"
            }
            CmdChessRogueType::CmdChessRogueCellUpdateNotify => {
                "CmdChessRogueCellUpdateNotify"
            }
            CmdChessRogueType::CmdEnterChessRogueAeonRoomCsReq => {
                "CmdEnterChessRogueAeonRoomCsReq"
            }
            CmdChessRogueType::CmdSyncChessRogueNousMainStoryScNotify => {
                "CmdSyncChessRogueNousMainStoryScNotify"
            }
            CmdChessRogueType::CmdChessRogueNousDiceUpdateNotify => {
                "CmdChessRogueNousDiceUpdateNotify"
            }
            CmdChessRogueType::CmdFinishChessRogueSubStoryCsReq => {
                "CmdFinishChessRogueSubStoryCsReq"
            }
            CmdChessRogueType::CmdChessRogueUpdateMoneyInfoScNotify => {
                "CmdChessRogueUpdateMoneyInfoScNotify"
            }
            CmdChessRogueType::CmdEnhanceChessRogueBuffCsReq => {
                "CmdEnhanceChessRogueBuffCsReq"
            }
            CmdChessRogueType::CmdChessRogueQuestFinishNotify => {
                "CmdChessRogueQuestFinishNotify"
            }
            CmdChessRogueType::CmdSyncChessRogueNousValueScNotify => {
                "CmdSyncChessRogueNousValueScNotify"
            }
            CmdChessRogueType::CmdChessRogueUpdateUnlockLevelScNotify => {
                "CmdChessRogueUpdateUnlockLevelScNotify"
            }
            CmdChessRogueType::CmdChessRogueUpdateBoardScNotify => {
                "CmdChessRogueUpdateBoardScNotify"
            }
            CmdChessRogueType::CmdGetChessRogueBuffEnhanceInfoCsReq => {
                "CmdGetChessRogueBuffEnhanceInfoCsReq"
            }
            CmdChessRogueType::CmdChessRogueFinishCurRoomNotify => {
                "CmdChessRogueFinishCurRoomNotify"
            }
            CmdChessRogueType::CmdSyncChessRogueMainStoryFinishScNotify => {
                "CmdSyncChessRogueMainStoryFinishScNotify"
            }
            CmdChessRogueType::CmdChessRogueEnterNextLayerScRsp => {
                "CmdChessRogueEnterNextLayerScRsp"
            }
            CmdChessRogueType::CmdChessRogueEnterScRsp => "CmdChessRogueEnterScRsp",
            CmdChessRogueType::CmdChessRogueConfirmRollCsReq => {
                "CmdChessRogueConfirmRollCsReq"
            }
            CmdChessRogueType::CmdChessRogueGiveUpCsReq => "CmdChessRogueGiveUpCsReq",
            CmdChessRogueType::CmdSelectChessRogueSubStoryCsReq => {
                "CmdSelectChessRogueSubStoryCsReq"
            }
            CmdChessRogueType::CmdChessRogueGoAheadCsReq => "CmdChessRogueGoAheadCsReq",
            CmdChessRogueType::CmdChessRogueLeaveCsReq => "CmdChessRogueLeaveCsReq",
            CmdChessRogueType::CmdChessRogueQueryCsReq => "CmdChessRogueQueryCsReq",
            CmdChessRogueType::CmdChessRogueReviveAvatarCsReq => {
                "CmdChessRogueReviveAvatarCsReq"
            }
            CmdChessRogueType::CmdChessRogueQueryAeonDimensionsScRsp => {
                "CmdChessRogueQueryAeonDimensionsScRsp"
            }
            CmdChessRogueType::CmdChessRogueCheatRollCsReq => {
                "CmdChessRogueCheatRollCsReq"
            }
            CmdChessRogueType::CmdChessRogueLayerAccountInfoNotify => {
                "CmdChessRogueLayerAccountInfoNotify"
            }
            CmdChessRogueType::CmdGetChessRogueStoryInfoCsReq => {
                "CmdGetChessRogueStoryInfoCsReq"
            }
            CmdChessRogueType::CmdChessRogueEnterCsReq => "CmdChessRogueEnterCsReq",
            CmdChessRogueType::CmdChessRogueRollDiceCsReq => "CmdChessRogueRollDiceCsReq",
            CmdChessRogueType::CmdChessRogueNousEditDiceScRsp => {
                "CmdChessRogueNousEditDiceScRsp"
            }
            CmdChessRogueType::CmdChessRogueUpdateReviveInfoScNotify => {
                "CmdChessRogueUpdateReviveInfoScNotify"
            }
            CmdChessRogueType::CmdChessRogueMoveCellNotify => {
                "CmdChessRogueMoveCellNotify"
            }
            CmdChessRogueType::CmdChessRogueGiveUpScRsp => "CmdChessRogueGiveUpScRsp",
            CmdChessRogueType::CmdFinishChessRogueNousSubStoryCsReq => {
                "CmdFinishChessRogueNousSubStoryCsReq"
            }
            CmdChessRogueType::CmdSyncChessRogueNousSubStoryScNotify => {
                "CmdSyncChessRogueNousSubStoryScNotify"
            }
            CmdChessRogueType::CmdChessRogueChangeyAeonDimensionNotify => {
                "CmdChessRogueChangeyAeonDimensionNotify"
            }
            CmdChessRogueType::CmdChessRogueGoAheadScRsp => "CmdChessRogueGoAheadScRsp",
            CmdChessRogueType::CmdChessRogueUpdateLevelBaseInfoScNotify => {
                "CmdChessRogueUpdateLevelBaseInfoScNotify"
            }
            CmdChessRogueType::CmdChessRogueUpdateAeonModifierValueScNotify => {
                "CmdChessRogueUpdateAeonModifierValueScNotify"
            }
            CmdChessRogueType::CmdFinishChessRogueSubStoryScRsp => {
                "CmdFinishChessRogueSubStoryScRsp"
            }
            CmdChessRogueType::CmdGetChessRogueStoryAeonTalkInfoScRsp => {
                "CmdGetChessRogueStoryAeonTalkInfoScRsp"
            }
            CmdChessRogueType::CmdEnterChessRogueAeonRoomScRsp => {
                "CmdEnterChessRogueAeonRoomScRsp"
            }
            CmdChessRogueType::CmdChessRogueReRollDiceCsReq => {
                "CmdChessRogueReRollDiceCsReq"
            }
            CmdChessRogueType::CmdFinishChessRogueNousSubStoryScRsp => {
                "CmdFinishChessRogueNousSubStoryScRsp"
            }
            CmdChessRogueType::CmdChessRogueStartCsReq => "CmdChessRogueStartCsReq",
            CmdChessRogueType::CmdChessRogueEnterNextLayerCsReq => {
                "CmdChessRogueEnterNextLayerCsReq"
            }
            CmdChessRogueType::CmdChessRogueNousGetRogueTalentInfoScRsp => {
                "CmdChessRogueNousGetRogueTalentInfoScRsp"
            }
            CmdChessRogueType::CmdGetChessRogueStoryInfoScRsp => {
                "CmdGetChessRogueStoryInfoScRsp"
            }
            CmdChessRogueType::CmdChessRogueNousEditDiceCsReq => {
                "CmdChessRogueNousEditDiceCsReq"
            }
            CmdChessRogueType::CmdChessRogueQueryScRsp => "CmdChessRogueQueryScRsp",
            CmdChessRogueType::CmdChessRogueSelectCellCsReq => {
                "CmdChessRogueSelectCellCsReq"
            }
            CmdChessRogueType::CmdSelectChessRogueSubStoryScRsp => {
                "CmdSelectChessRogueSubStoryScRsp"
            }
            CmdChessRogueType::CmdGetChessRogueNousStoryInfoScRsp => {
                "CmdGetChessRogueNousStoryInfoScRsp"
            }
            CmdChessRogueType::CmdChessRogueReRollDiceScRsp => {
                "CmdChessRogueReRollDiceScRsp"
            }
            CmdChessRogueType::CmdChessRogueSelectCellScRsp => {
                "CmdChessRogueSelectCellScRsp"
            }
            CmdChessRogueType::CmdSelectChessRogueNousSubStoryScRsp => {
                "CmdSelectChessRogueNousSubStoryScRsp"
            }
            CmdChessRogueType::CmdChessRoguePickAvatarScRsp => {
                "CmdChessRoguePickAvatarScRsp"
            }
            CmdChessRogueType::CmdChessRogueSelectBpCsReq => "CmdChessRogueSelectBpCsReq",
            CmdChessRogueType::CmdChessRoguePickAvatarCsReq => {
                "CmdChessRoguePickAvatarCsReq"
            }
            CmdChessRogueType::CmdChessRogueSelectBpScRsp => "CmdChessRogueSelectBpScRsp",
            CmdChessRogueType::CmdChessRogueGiveUpRollScRsp => {
                "CmdChessRogueGiveUpRollScRsp"
            }
            CmdChessRogueType::CmdChessRogueUpdateAllowedSelectCellScNotify => {
                "CmdChessRogueUpdateAllowedSelectCellScNotify"
            }
            CmdChessRogueType::CmdChessRogueEnterCellCsReq => {
                "CmdChessRogueEnterCellCsReq"
            }
            CmdChessRogueType::CmdChessRogueReviveAvatarScRsp => {
                "CmdChessRogueReviveAvatarScRsp"
            }
            CmdChessRogueType::CmdGetChessRogueBuffEnhanceInfoScRsp => {
                "CmdGetChessRogueBuffEnhanceInfoScRsp"
            }
            CmdChessRogueType::CmdChessRogueLeaveScRsp => "CmdChessRogueLeaveScRsp",
            CmdChessRogueType::CmdChessRogueUpdateDiceInfoScNotify => {
                "CmdChessRogueUpdateDiceInfoScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdChessRogueTypeNone" => Some(Self::None),
            "CmdChessRogueQuitScRsp" => Some(Self::CmdChessRogueQuitScRsp),
            "CmdChessRogueNousDiceSurfaceUnlockNotify" => {
                Some(Self::CmdChessRogueNousDiceSurfaceUnlockNotify)
            }
            "CmdChessRogueConfirmRollScRsp" => Some(Self::CmdChessRogueConfirmRollScRsp),
            "CmdChessRogueStartScRsp" => Some(Self::CmdChessRogueStartScRsp),
            "CmdGetChessRogueStoryAeonTalkInfoCsReq" => {
                Some(Self::CmdGetChessRogueStoryAeonTalkInfoCsReq)
            }
            "CmdChessRogueUpdateDicePassiveAccumulateValueScNotify" => {
                Some(Self::CmdChessRogueUpdateDicePassiveAccumulateValueScNotify)
            }
            "CmdChessRogueNousGetRogueTalentInfoCsReq" => {
                Some(Self::CmdChessRogueNousGetRogueTalentInfoCsReq)
            }
            "CmdChessRogueSkipTeachingLevelCsReq" => {
                Some(Self::CmdChessRogueSkipTeachingLevelCsReq)
            }
            "CmdChessRogueSkipTeachingLevelScRsp" => {
                Some(Self::CmdChessRogueSkipTeachingLevelScRsp)
            }
            "CmdChessRogueQuitCsReq" => Some(Self::CmdChessRogueQuitCsReq),
            "CmdChessRogueCheatRollScRsp" => Some(Self::CmdChessRogueCheatRollScRsp),
            "CmdChessRogueEnterCellScRsp" => Some(Self::CmdChessRogueEnterCellScRsp),
            "CmdEnhanceChessRogueBuffScRsp" => Some(Self::CmdEnhanceChessRogueBuffScRsp),
            "CmdChessRogueUpdateActionPointScNotify" => {
                Some(Self::CmdChessRogueUpdateActionPointScNotify)
            }
            "CmdGetChessRogueNousStoryInfoCsReq" => {
                Some(Self::CmdGetChessRogueNousStoryInfoCsReq)
            }
            "CmdChessRogueGiveUpRollCsReq" => Some(Self::CmdChessRogueGiveUpRollCsReq),
            "CmdSelectChessRogueNousSubStoryCsReq" => {
                Some(Self::CmdSelectChessRogueNousSubStoryCsReq)
            }
            "CmdChessRogueNousEnableRogueTalentScRsp" => {
                Some(Self::CmdChessRogueNousEnableRogueTalentScRsp)
            }
            "CmdChessRogueQueryBpCsReq" => Some(Self::CmdChessRogueQueryBpCsReq),
            "CmdChessRogueQueryBpScRsp" => Some(Self::CmdChessRogueQueryBpScRsp),
            "CmdChessRogueQueryAeonDimensionsCsReq" => {
                Some(Self::CmdChessRogueQueryAeonDimensionsCsReq)
            }
            "CmdChessRogueRollDiceScRsp" => Some(Self::CmdChessRogueRollDiceScRsp),
            "CmdChessRogueNousEnableRogueTalentCsReq" => {
                Some(Self::CmdChessRogueNousEnableRogueTalentCsReq)
            }
            "CmdChessRogueCellUpdateNotify" => Some(Self::CmdChessRogueCellUpdateNotify),
            "CmdEnterChessRogueAeonRoomCsReq" => {
                Some(Self::CmdEnterChessRogueAeonRoomCsReq)
            }
            "CmdSyncChessRogueNousMainStoryScNotify" => {
                Some(Self::CmdSyncChessRogueNousMainStoryScNotify)
            }
            "CmdChessRogueNousDiceUpdateNotify" => {
                Some(Self::CmdChessRogueNousDiceUpdateNotify)
            }
            "CmdFinishChessRogueSubStoryCsReq" => {
                Some(Self::CmdFinishChessRogueSubStoryCsReq)
            }
            "CmdChessRogueUpdateMoneyInfoScNotify" => {
                Some(Self::CmdChessRogueUpdateMoneyInfoScNotify)
            }
            "CmdEnhanceChessRogueBuffCsReq" => Some(Self::CmdEnhanceChessRogueBuffCsReq),
            "CmdChessRogueQuestFinishNotify" => {
                Some(Self::CmdChessRogueQuestFinishNotify)
            }
            "CmdSyncChessRogueNousValueScNotify" => {
                Some(Self::CmdSyncChessRogueNousValueScNotify)
            }
            "CmdChessRogueUpdateUnlockLevelScNotify" => {
                Some(Self::CmdChessRogueUpdateUnlockLevelScNotify)
            }
            "CmdChessRogueUpdateBoardScNotify" => {
                Some(Self::CmdChessRogueUpdateBoardScNotify)
            }
            "CmdGetChessRogueBuffEnhanceInfoCsReq" => {
                Some(Self::CmdGetChessRogueBuffEnhanceInfoCsReq)
            }
            "CmdChessRogueFinishCurRoomNotify" => {
                Some(Self::CmdChessRogueFinishCurRoomNotify)
            }
            "CmdSyncChessRogueMainStoryFinishScNotify" => {
                Some(Self::CmdSyncChessRogueMainStoryFinishScNotify)
            }
            "CmdChessRogueEnterNextLayerScRsp" => {
                Some(Self::CmdChessRogueEnterNextLayerScRsp)
            }
            "CmdChessRogueEnterScRsp" => Some(Self::CmdChessRogueEnterScRsp),
            "CmdChessRogueConfirmRollCsReq" => Some(Self::CmdChessRogueConfirmRollCsReq),
            "CmdChessRogueGiveUpCsReq" => Some(Self::CmdChessRogueGiveUpCsReq),
            "CmdSelectChessRogueSubStoryCsReq" => {
                Some(Self::CmdSelectChessRogueSubStoryCsReq)
            }
            "CmdChessRogueGoAheadCsReq" => Some(Self::CmdChessRogueGoAheadCsReq),
            "CmdChessRogueLeaveCsReq" => Some(Self::CmdChessRogueLeaveCsReq),
            "CmdChessRogueQueryCsReq" => Some(Self::CmdChessRogueQueryCsReq),
            "CmdChessRogueReviveAvatarCsReq" => {
                Some(Self::CmdChessRogueReviveAvatarCsReq)
            }
            "CmdChessRogueQueryAeonDimensionsScRsp" => {
                Some(Self::CmdChessRogueQueryAeonDimensionsScRsp)
            }
            "CmdChessRogueCheatRollCsReq" => Some(Self::CmdChessRogueCheatRollCsReq),
            "CmdChessRogueLayerAccountInfoNotify" => {
                Some(Self::CmdChessRogueLayerAccountInfoNotify)
            }
            "CmdGetChessRogueStoryInfoCsReq" => {
                Some(Self::CmdGetChessRogueStoryInfoCsReq)
            }
            "CmdChessRogueEnterCsReq" => Some(Self::CmdChessRogueEnterCsReq),
            "CmdChessRogueRollDiceCsReq" => Some(Self::CmdChessRogueRollDiceCsReq),
            "CmdChessRogueNousEditDiceScRsp" => {
                Some(Self::CmdChessRogueNousEditDiceScRsp)
            }
            "CmdChessRogueUpdateReviveInfoScNotify" => {
                Some(Self::CmdChessRogueUpdateReviveInfoScNotify)
            }
            "CmdChessRogueMoveCellNotify" => Some(Self::CmdChessRogueMoveCellNotify),
            "CmdChessRogueGiveUpScRsp" => Some(Self::CmdChessRogueGiveUpScRsp),
            "CmdFinishChessRogueNousSubStoryCsReq" => {
                Some(Self::CmdFinishChessRogueNousSubStoryCsReq)
            }
            "CmdSyncChessRogueNousSubStoryScNotify" => {
                Some(Self::CmdSyncChessRogueNousSubStoryScNotify)
            }
            "CmdChessRogueChangeyAeonDimensionNotify" => {
                Some(Self::CmdChessRogueChangeyAeonDimensionNotify)
            }
            "CmdChessRogueGoAheadScRsp" => Some(Self::CmdChessRogueGoAheadScRsp),
            "CmdChessRogueUpdateLevelBaseInfoScNotify" => {
                Some(Self::CmdChessRogueUpdateLevelBaseInfoScNotify)
            }
            "CmdChessRogueUpdateAeonModifierValueScNotify" => {
                Some(Self::CmdChessRogueUpdateAeonModifierValueScNotify)
            }
            "CmdFinishChessRogueSubStoryScRsp" => {
                Some(Self::CmdFinishChessRogueSubStoryScRsp)
            }
            "CmdGetChessRogueStoryAeonTalkInfoScRsp" => {
                Some(Self::CmdGetChessRogueStoryAeonTalkInfoScRsp)
            }
            "CmdEnterChessRogueAeonRoomScRsp" => {
                Some(Self::CmdEnterChessRogueAeonRoomScRsp)
            }
            "CmdChessRogueReRollDiceCsReq" => Some(Self::CmdChessRogueReRollDiceCsReq),
            "CmdFinishChessRogueNousSubStoryScRsp" => {
                Some(Self::CmdFinishChessRogueNousSubStoryScRsp)
            }
            "CmdChessRogueStartCsReq" => Some(Self::CmdChessRogueStartCsReq),
            "CmdChessRogueEnterNextLayerCsReq" => {
                Some(Self::CmdChessRogueEnterNextLayerCsReq)
            }
            "CmdChessRogueNousGetRogueTalentInfoScRsp" => {
                Some(Self::CmdChessRogueNousGetRogueTalentInfoScRsp)
            }
            "CmdGetChessRogueStoryInfoScRsp" => {
                Some(Self::CmdGetChessRogueStoryInfoScRsp)
            }
            "CmdChessRogueNousEditDiceCsReq" => {
                Some(Self::CmdChessRogueNousEditDiceCsReq)
            }
            "CmdChessRogueQueryScRsp" => Some(Self::CmdChessRogueQueryScRsp),
            "CmdChessRogueSelectCellCsReq" => Some(Self::CmdChessRogueSelectCellCsReq),
            "CmdSelectChessRogueSubStoryScRsp" => {
                Some(Self::CmdSelectChessRogueSubStoryScRsp)
            }
            "CmdGetChessRogueNousStoryInfoScRsp" => {
                Some(Self::CmdGetChessRogueNousStoryInfoScRsp)
            }
            "CmdChessRogueReRollDiceScRsp" => Some(Self::CmdChessRogueReRollDiceScRsp),
            "CmdChessRogueSelectCellScRsp" => Some(Self::CmdChessRogueSelectCellScRsp),
            "CmdSelectChessRogueNousSubStoryScRsp" => {
                Some(Self::CmdSelectChessRogueNousSubStoryScRsp)
            }
            "CmdChessRoguePickAvatarScRsp" => Some(Self::CmdChessRoguePickAvatarScRsp),
            "CmdChessRogueSelectBpCsReq" => Some(Self::CmdChessRogueSelectBpCsReq),
            "CmdChessRoguePickAvatarCsReq" => Some(Self::CmdChessRoguePickAvatarCsReq),
            "CmdChessRogueSelectBpScRsp" => Some(Self::CmdChessRogueSelectBpScRsp),
            "CmdChessRogueGiveUpRollScRsp" => Some(Self::CmdChessRogueGiveUpRollScRsp),
            "CmdChessRogueUpdateAllowedSelectCellScNotify" => {
                Some(Self::CmdChessRogueUpdateAllowedSelectCellScNotify)
            }
            "CmdChessRogueEnterCellCsReq" => Some(Self::CmdChessRogueEnterCellCsReq),
            "CmdChessRogueReviveAvatarScRsp" => {
                Some(Self::CmdChessRogueReviveAvatarScRsp)
            }
            "CmdGetChessRogueBuffEnhanceInfoScRsp" => {
                Some(Self::CmdGetChessRogueBuffEnhanceInfoScRsp)
            }
            "CmdChessRogueLeaveScRsp" => Some(Self::CmdChessRogueLeaveScRsp),
            "CmdChessRogueUpdateDiceInfoScNotify" => {
                Some(Self::CmdChessRogueUpdateDiceInfoScNotify)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nlmollcfcgb {
    ChessRogueDiceIdle = 0,
    ChessRogueDiceRolled = 1,
    ChessRogueDiceConfirmed = 2,
    ChessRogueDiceGiveup = 3,
}
impl Nlmollcfcgb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Nlmollcfcgb::ChessRogueDiceIdle => "CHESS_ROGUE_DICE_IDLE",
            Nlmollcfcgb::ChessRogueDiceRolled => "CHESS_ROGUE_DICE_ROLLED",
            Nlmollcfcgb::ChessRogueDiceConfirmed => "CHESS_ROGUE_DICE_CONFIRMED",
            Nlmollcfcgb::ChessRogueDiceGiveup => "CHESS_ROGUE_DICE_GIVEUP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_DICE_IDLE" => Some(Self::ChessRogueDiceIdle),
            "CHESS_ROGUE_DICE_ROLLED" => Some(Self::ChessRogueDiceRolled),
            "CHESS_ROGUE_DICE_CONFIRMED" => Some(Self::ChessRogueDiceConfirmed),
            "CHESS_ROGUE_DICE_GIVEUP" => Some(Self::ChessRogueDiceGiveup),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Aikblmohhjp {
    ChessRogueDiceFixed = 0,
    ChessRogueDiceEditable = 1,
}
impl Aikblmohhjp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Aikblmohhjp::ChessRogueDiceFixed => "CHESS_ROGUE_DICE_FIXED",
            Aikblmohhjp::ChessRogueDiceEditable => "CHESS_ROGUE_DICE_EDITABLE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_DICE_FIXED" => Some(Self::ChessRogueDiceFixed),
            "CHESS_ROGUE_DICE_EDITABLE" => Some(Self::ChessRogueDiceEditable),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Eieenafclll {
    Idle = 0,
    Selected = 1,
    Processing = 2,
    Finish = 3,
}
impl Eieenafclll {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Eieenafclll::Idle => "IDLE",
            Eieenafclll::Selected => "SELECTED",
            Eieenafclll::Processing => "PROCESSING",
            Eieenafclll::Finish => "FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IDLE" => Some(Self::Idle),
            "SELECTED" => Some(Self::Selected),
            "PROCESSING" => Some(Self::Processing),
            "FINISH" => Some(Self::Finish),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ogjbgonlhih {
    ChessRogueCellSpecialTypeNone = 0,
    ChessRogueCellSpecialTypeLocked = 1,
    ChessRogueCellSpecialTypeReplicate = 2,
    ChessRogueCellSpecialTypeProtected = 3,
    ChessRogueCellSpecialTypeSeed = 4,
    ChessRogueCellSpecialTypeStamp = 5,
}
impl Ogjbgonlhih {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ogjbgonlhih::ChessRogueCellSpecialTypeNone => {
                "CHESS_ROGUE_CELL_SPECIAL_TYPE_NONE"
            }
            Ogjbgonlhih::ChessRogueCellSpecialTypeLocked => {
                "CHESS_ROGUE_CELL_SPECIAL_TYPE_LOCKED"
            }
            Ogjbgonlhih::ChessRogueCellSpecialTypeReplicate => {
                "CHESS_ROGUE_CELL_SPECIAL_TYPE_REPLICATE"
            }
            Ogjbgonlhih::ChessRogueCellSpecialTypeProtected => {
                "CHESS_ROGUE_CELL_SPECIAL_TYPE_PROTECTED"
            }
            Ogjbgonlhih::ChessRogueCellSpecialTypeSeed => {
                "CHESS_ROGUE_CELL_SPECIAL_TYPE_SEED"
            }
            Ogjbgonlhih::ChessRogueCellSpecialTypeStamp => {
                "CHESS_ROGUE_CELL_SPECIAL_TYPE_STAMP"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_CELL_SPECIAL_TYPE_NONE" => {
                Some(Self::ChessRogueCellSpecialTypeNone)
            }
            "CHESS_ROGUE_CELL_SPECIAL_TYPE_LOCKED" => {
                Some(Self::ChessRogueCellSpecialTypeLocked)
            }
            "CHESS_ROGUE_CELL_SPECIAL_TYPE_REPLICATE" => {
                Some(Self::ChessRogueCellSpecialTypeReplicate)
            }
            "CHESS_ROGUE_CELL_SPECIAL_TYPE_PROTECTED" => {
                Some(Self::ChessRogueCellSpecialTypeProtected)
            }
            "CHESS_ROGUE_CELL_SPECIAL_TYPE_SEED" => {
                Some(Self::ChessRogueCellSpecialTypeSeed)
            }
            "CHESS_ROGUE_CELL_SPECIAL_TYPE_STAMP" => {
                Some(Self::ChessRogueCellSpecialTypeStamp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ibmlfggingp {
    ChessRogueLevelIdle = 0,
    ChessRogueLevelProcessing = 1,
    ChessRogueLevelPending = 2,
    ChessRogueLevelFinish = 3,
    ChessRogueLevelFailed = 4,
    ChessRogueLevelForceFinish = 5,
}
impl Ibmlfggingp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ibmlfggingp::ChessRogueLevelIdle => "CHESS_ROGUE_LEVEL_IDLE",
            Ibmlfggingp::ChessRogueLevelProcessing => "CHESS_ROGUE_LEVEL_PROCESSING",
            Ibmlfggingp::ChessRogueLevelPending => "CHESS_ROGUE_LEVEL_PENDING",
            Ibmlfggingp::ChessRogueLevelFinish => "CHESS_ROGUE_LEVEL_FINISH",
            Ibmlfggingp::ChessRogueLevelFailed => "CHESS_ROGUE_LEVEL_FAILED",
            Ibmlfggingp::ChessRogueLevelForceFinish => "CHESS_ROGUE_LEVEL_FORCE_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_LEVEL_IDLE" => Some(Self::ChessRogueLevelIdle),
            "CHESS_ROGUE_LEVEL_PROCESSING" => Some(Self::ChessRogueLevelProcessing),
            "CHESS_ROGUE_LEVEL_PENDING" => Some(Self::ChessRogueLevelPending),
            "CHESS_ROGUE_LEVEL_FINISH" => Some(Self::ChessRogueLevelFinish),
            "CHESS_ROGUE_LEVEL_FAILED" => Some(Self::ChessRogueLevelFailed),
            "CHESS_ROGUE_LEVEL_FORCE_FINISH" => Some(Self::ChessRogueLevelForceFinish),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kfhlbkccaco {
    ChessRogueAccountByNone = 0,
    ChessRogueAccountByNormalFinish = 1,
    ChessRogueAccountByNormalQuit = 2,
    ChessRogueAccountByDialog = 3,
    ChessRogueAccountByFailed = 4,
    ChessRogueAccountByCustomOp = 5,
}
impl Kfhlbkccaco {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Kfhlbkccaco::ChessRogueAccountByNone => "CHESS_ROGUE_ACCOUNT_BY_NONE",
            Kfhlbkccaco::ChessRogueAccountByNormalFinish => {
                "CHESS_ROGUE_ACCOUNT_BY_NORMAL_FINISH"
            }
            Kfhlbkccaco::ChessRogueAccountByNormalQuit => {
                "CHESS_ROGUE_ACCOUNT_BY_NORMAL_QUIT"
            }
            Kfhlbkccaco::ChessRogueAccountByDialog => "CHESS_ROGUE_ACCOUNT_BY_DIALOG",
            Kfhlbkccaco::ChessRogueAccountByFailed => "CHESS_ROGUE_ACCOUNT_BY_FAILED",
            Kfhlbkccaco::ChessRogueAccountByCustomOp => {
                "CHESS_ROGUE_ACCOUNT_BY_CUSTOM_OP"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_ACCOUNT_BY_NONE" => Some(Self::ChessRogueAccountByNone),
            "CHESS_ROGUE_ACCOUNT_BY_NORMAL_FINISH" => {
                Some(Self::ChessRogueAccountByNormalFinish)
            }
            "CHESS_ROGUE_ACCOUNT_BY_NORMAL_QUIT" => {
                Some(Self::ChessRogueAccountByNormalQuit)
            }
            "CHESS_ROGUE_ACCOUNT_BY_DIALOG" => Some(Self::ChessRogueAccountByDialog),
            "CHESS_ROGUE_ACCOUNT_BY_FAILED" => Some(Self::ChessRogueAccountByFailed),
            "CHESS_ROGUE_ACCOUNT_BY_CUSTOM_OP" => Some(Self::ChessRogueAccountByCustomOp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Obfdebfdgob {
    ChessRogueBuffSourceTypeNone = 0,
    ChessRogueBuffSourceTypeSelect = 1,
    ChessRogueBuffSourceTypeEnhance = 2,
    ChessRogueBuffSourceTypeMiracle = 3,
    ChessRogueBuffSourceTypeDialogue = 4,
    ChessRogueBuffSourceTypeBonus = 5,
    ChessRogueBuffSourceTypeShop = 6,
    ChessRogueBuffSourceTypeDice = 7,
    ChessRogueBuffSourceTypeAeon = 8,
    ChessRogueBuffSourceTypeMazeSkill = 9,
    ChessRogueBuffSourceTypeLevelMechanism = 10,
}
impl Obfdebfdgob {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Obfdebfdgob::ChessRogueBuffSourceTypeNone => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_NONE"
            }
            Obfdebfdgob::ChessRogueBuffSourceTypeSelect => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_SELECT"
            }
            Obfdebfdgob::ChessRogueBuffSourceTypeEnhance => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_ENHANCE"
            }
            Obfdebfdgob::ChessRogueBuffSourceTypeMiracle => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_MIRACLE"
            }
            Obfdebfdgob::ChessRogueBuffSourceTypeDialogue => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_DIALOGUE"
            }
            Obfdebfdgob::ChessRogueBuffSourceTypeBonus => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_BONUS"
            }
            Obfdebfdgob::ChessRogueBuffSourceTypeShop => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_SHOP"
            }
            Obfdebfdgob::ChessRogueBuffSourceTypeDice => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_DICE"
            }
            Obfdebfdgob::ChessRogueBuffSourceTypeAeon => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_AEON"
            }
            Obfdebfdgob::ChessRogueBuffSourceTypeMazeSkill => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_MAZE_SKILL"
            }
            Obfdebfdgob::ChessRogueBuffSourceTypeLevelMechanism => {
                "CHESS_ROGUE_BUFF_SOURCE_TYPE_LEVEL_MECHANISM"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_NONE" => {
                Some(Self::ChessRogueBuffSourceTypeNone)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_SELECT" => {
                Some(Self::ChessRogueBuffSourceTypeSelect)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_ENHANCE" => {
                Some(Self::ChessRogueBuffSourceTypeEnhance)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_MIRACLE" => {
                Some(Self::ChessRogueBuffSourceTypeMiracle)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_DIALOGUE" => {
                Some(Self::ChessRogueBuffSourceTypeDialogue)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_BONUS" => {
                Some(Self::ChessRogueBuffSourceTypeBonus)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_SHOP" => {
                Some(Self::ChessRogueBuffSourceTypeShop)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_DICE" => {
                Some(Self::ChessRogueBuffSourceTypeDice)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_AEON" => {
                Some(Self::ChessRogueBuffSourceTypeAeon)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_MAZE_SKILL" => {
                Some(Self::ChessRogueBuffSourceTypeMazeSkill)
            }
            "CHESS_ROGUE_BUFF_SOURCE_TYPE_LEVEL_MECHANISM" => {
                Some(Self::ChessRogueBuffSourceTypeLevelMechanism)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hfenkddaoff {
    ChessRogueMiracleSourceTypeNone = 0,
    ChessRogueMiracleSourceTypeSelect = 1,
    ChessRogueMiracleSourceTypeDialogue = 2,
    ChessRogueMiracleSourceTypeBonus = 3,
    ChessRogueMiracleSourceTypeUse = 4,
    ChessRogueMiracleSourceTypeReset = 5,
    ChessRogueMiracleSourceTypeReplace = 6,
    ChessRogueMiracleSourceTypeTrade = 7,
    ChessRogueMiracleSourceTypeGet = 8,
    ChessRogueMiracleSourceTypeShop = 9,
    ChessRogueMiracleSourceTypeMazeSkill = 10,
    ChessRogueMiracleSourceTypeLevelMechanism = 11,
}
impl Hfenkddaoff {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Hfenkddaoff::ChessRogueMiracleSourceTypeNone => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_NONE"
            }
            Hfenkddaoff::ChessRogueMiracleSourceTypeSelect => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_SELECT"
            }
            Hfenkddaoff::ChessRogueMiracleSourceTypeDialogue => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_DIALOGUE"
            }
            Hfenkddaoff::ChessRogueMiracleSourceTypeBonus => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_BONUS"
            }
            Hfenkddaoff::ChessRogueMiracleSourceTypeUse => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_USE"
            }
            Hfenkddaoff::ChessRogueMiracleSourceTypeReset => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_RESET"
            }
            Hfenkddaoff::ChessRogueMiracleSourceTypeReplace => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_REPLACE"
            }
            Hfenkddaoff::ChessRogueMiracleSourceTypeTrade => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_TRADE"
            }
            Hfenkddaoff::ChessRogueMiracleSourceTypeGet => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_GET"
            }
            Hfenkddaoff::ChessRogueMiracleSourceTypeShop => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_SHOP"
            }
            Hfenkddaoff::ChessRogueMiracleSourceTypeMazeSkill => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_MAZE_SKILL"
            }
            Hfenkddaoff::ChessRogueMiracleSourceTypeLevelMechanism => {
                "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_LEVEL_MECHANISM"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_NONE" => {
                Some(Self::ChessRogueMiracleSourceTypeNone)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_SELECT" => {
                Some(Self::ChessRogueMiracleSourceTypeSelect)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_DIALOGUE" => {
                Some(Self::ChessRogueMiracleSourceTypeDialogue)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_BONUS" => {
                Some(Self::ChessRogueMiracleSourceTypeBonus)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_USE" => {
                Some(Self::ChessRogueMiracleSourceTypeUse)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_RESET" => {
                Some(Self::ChessRogueMiracleSourceTypeReset)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_REPLACE" => {
                Some(Self::ChessRogueMiracleSourceTypeReplace)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_TRADE" => {
                Some(Self::ChessRogueMiracleSourceTypeTrade)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_GET" => {
                Some(Self::ChessRogueMiracleSourceTypeGet)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_SHOP" => {
                Some(Self::ChessRogueMiracleSourceTypeShop)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_MAZE_SKILL" => {
                Some(Self::ChessRogueMiracleSourceTypeMazeSkill)
            }
            "CHESS_ROGUE_MIRACLE_SOURCE_TYPE_LEVEL_MECHANISM" => {
                Some(Self::ChessRogueMiracleSourceTypeLevelMechanism)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mmkdkdgfblh {
    ChessRogueUpdateLevelStatusByNone = 0,
    ChessRogueUpdateLevelStatusByDialog = 1,
}
impl Mmkdkdgfblh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Mmkdkdgfblh::ChessRogueUpdateLevelStatusByNone => {
                "CHESS_ROGUE_UPDATE_LEVEL_STATUS_BY_NONE"
            }
            Mmkdkdgfblh::ChessRogueUpdateLevelStatusByDialog => {
                "CHESS_ROGUE_UPDATE_LEVEL_STATUS_BY_DIALOG"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_UPDATE_LEVEL_STATUS_BY_NONE" => {
                Some(Self::ChessRogueUpdateLevelStatusByNone)
            }
            "CHESS_ROGUE_UPDATE_LEVEL_STATUS_BY_DIALOG" => {
                Some(Self::ChessRogueUpdateLevelStatusByDialog)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Aebjegdpong {
    ChessRogueCellUpdateReasonNone = 0,
    ChessRogueCellUpdateReasonModifier = 1,
}
impl Aebjegdpong {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Aebjegdpong::ChessRogueCellUpdateReasonNone => {
                "CHESS_ROGUE_CELL_UPDATE_REASON_NONE"
            }
            Aebjegdpong::ChessRogueCellUpdateReasonModifier => {
                "CHESS_ROGUE_CELL_UPDATE_REASON_MODIFIER"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_CELL_UPDATE_REASON_NONE" => {
                Some(Self::ChessRogueCellUpdateReasonNone)
            }
            "CHESS_ROGUE_CELL_UPDATE_REASON_MODIFIER" => {
                Some(Self::ChessRogueCellUpdateReasonModifier)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cbncoeiemfi {
    ChessRogueAeonTypeNone = 0,
    ChessRogueAeonTypeKnight = 1,
    ChessRogueAeonTypeMemory = 2,
    ChessRogueAeonTypeWarlock = 3,
    ChessRogueAeonTypePriest = 4,
    ChessRogueAeonTypeRogue = 5,
    ChessRogueAeonTypeWarrior = 6,
    ChessRogueAeonTypeHappy = 7,
    ChessRogueAeonTypeBreed = 8,
}
impl Cbncoeiemfi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Cbncoeiemfi::ChessRogueAeonTypeNone => "CHESS_ROGUE_AEON_TYPE_NONE",
            Cbncoeiemfi::ChessRogueAeonTypeKnight => "CHESS_ROGUE_AEON_TYPE_KNIGHT",
            Cbncoeiemfi::ChessRogueAeonTypeMemory => "CHESS_ROGUE_AEON_TYPE_MEMORY",
            Cbncoeiemfi::ChessRogueAeonTypeWarlock => "CHESS_ROGUE_AEON_TYPE_WARLOCK",
            Cbncoeiemfi::ChessRogueAeonTypePriest => "CHESS_ROGUE_AEON_TYPE_PRIEST",
            Cbncoeiemfi::ChessRogueAeonTypeRogue => "CHESS_ROGUE_AEON_TYPE_ROGUE",
            Cbncoeiemfi::ChessRogueAeonTypeWarrior => "CHESS_ROGUE_AEON_TYPE_WARRIOR",
            Cbncoeiemfi::ChessRogueAeonTypeHappy => "CHESS_ROGUE_AEON_TYPE_HAPPY",
            Cbncoeiemfi::ChessRogueAeonTypeBreed => "CHESS_ROGUE_AEON_TYPE_BREED",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_AEON_TYPE_NONE" => Some(Self::ChessRogueAeonTypeNone),
            "CHESS_ROGUE_AEON_TYPE_KNIGHT" => Some(Self::ChessRogueAeonTypeKnight),
            "CHESS_ROGUE_AEON_TYPE_MEMORY" => Some(Self::ChessRogueAeonTypeMemory),
            "CHESS_ROGUE_AEON_TYPE_WARLOCK" => Some(Self::ChessRogueAeonTypeWarlock),
            "CHESS_ROGUE_AEON_TYPE_PRIEST" => Some(Self::ChessRogueAeonTypePriest),
            "CHESS_ROGUE_AEON_TYPE_ROGUE" => Some(Self::ChessRogueAeonTypeRogue),
            "CHESS_ROGUE_AEON_TYPE_WARRIOR" => Some(Self::ChessRogueAeonTypeWarrior),
            "CHESS_ROGUE_AEON_TYPE_HAPPY" => Some(Self::ChessRogueAeonTypeHappy),
            "CHESS_ROGUE_AEON_TYPE_BREED" => Some(Self::ChessRogueAeonTypeBreed),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lmgjdlookoj {
    ChessRogueDiceSourceTypeNone = 0,
    ChessRogueDiceSourceTypeNormal = 1,
    ChessRogueDiceSourceTypeRepeat = 2,
    ChessRogueDiceSourceTypeCheat = 3,
}
impl Lmgjdlookoj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Lmgjdlookoj::ChessRogueDiceSourceTypeNone => {
                "CHESS_ROGUE_DICE_SOURCE_TYPE_NONE"
            }
            Lmgjdlookoj::ChessRogueDiceSourceTypeNormal => {
                "CHESS_ROGUE_DICE_SOURCE_TYPE_NORMAL"
            }
            Lmgjdlookoj::ChessRogueDiceSourceTypeRepeat => {
                "CHESS_ROGUE_DICE_SOURCE_TYPE_REPEAT"
            }
            Lmgjdlookoj::ChessRogueDiceSourceTypeCheat => {
                "CHESS_ROGUE_DICE_SOURCE_TYPE_CHEAT"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_DICE_SOURCE_TYPE_NONE" => {
                Some(Self::ChessRogueDiceSourceTypeNone)
            }
            "CHESS_ROGUE_DICE_SOURCE_TYPE_NORMAL" => {
                Some(Self::ChessRogueDiceSourceTypeNormal)
            }
            "CHESS_ROGUE_DICE_SOURCE_TYPE_REPEAT" => {
                Some(Self::ChessRogueDiceSourceTypeRepeat)
            }
            "CHESS_ROGUE_DICE_SOURCE_TYPE_CHEAT" => {
                Some(Self::ChessRogueDiceSourceTypeCheat)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cdoegmdjgoc {
    ChessRogueNousMainStoryStatusNone = 0,
    ChessRogueNousMainStoryStatusUnlock = 1,
    ChessRogueNousMainStoryStatusFinish = 2,
    ChessRogueNousMainStoryStatusCanTrigger = 3,
}
impl Cdoegmdjgoc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Cdoegmdjgoc::ChessRogueNousMainStoryStatusNone => {
                "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_NONE"
            }
            Cdoegmdjgoc::ChessRogueNousMainStoryStatusUnlock => {
                "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_UNLOCK"
            }
            Cdoegmdjgoc::ChessRogueNousMainStoryStatusFinish => {
                "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_FINISH"
            }
            Cdoegmdjgoc::ChessRogueNousMainStoryStatusCanTrigger => {
                "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_CAN_TRIGGER"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_NONE" => {
                Some(Self::ChessRogueNousMainStoryStatusNone)
            }
            "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_UNLOCK" => {
                Some(Self::ChessRogueNousMainStoryStatusUnlock)
            }
            "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_FINISH" => {
                Some(Self::ChessRogueNousMainStoryStatusFinish)
            }
            "CHESS_ROGUE_NOUS_MAIN_STORY_STATUS_CAN_TRIGGER" => {
                Some(Self::ChessRogueNousMainStoryStatusCanTrigger)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Faohejiddhj {
    None = 0,
    PhaseOne = 1,
    PhaseTwo = 2,
}
impl Faohejiddhj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Faohejiddhj::None => "NONE",
            Faohejiddhj::PhaseOne => "PHASE_ONE",
            Faohejiddhj::PhaseTwo => "PHASE_TWO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NONE" => Some(Self::None),
            "PHASE_ONE" => Some(Self::PhaseOne),
            "PHASE_TWO" => Some(Self::PhaseTwo),
            _ => None,
        }
    }
}
/// Obf: CJFGFGIMMNO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChimeraType {
    None = 0,
    CmdChimeraQuitEndlessScRsp = 8165,
    CmdChimeraStartEndlessScRsp = 8174,
    CmdChimeraStartEndlessCsReq = 8179,
    CmdChimeraRoundWorkStartScRsp = 8169,
    CmdChimeraFinishRoundScRsp = 8161,
    CmdChimeraFinishRoundCsReq = 8164,
    CmdChimeraFinishEndlessRoundScRsp = 8166,
    CmdChimeraFinishEndlessRoundCsReq = 8175,
    CmdChimeraGetDataScRsp = 8168,
    CmdChimeraDoFinalRoundScRsp = 8170,
    CmdChimeraQuitEndlessCsReq = 8178,
    CmdChimeraDoFinalRoundCsReq = 8176,
    CmdChimeraSetLineupScRsp = 8162,
    CmdChimeraGetDataCsReq = 8177,
    CmdChimeraSetLineupCsReq = 8172,
    CmdChimeraRoundWorkStartCsReq = 8173,
}
impl CmdChimeraType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdChimeraType::None => "CmdChimeraTypeNone",
            CmdChimeraType::CmdChimeraQuitEndlessScRsp => "CmdChimeraQuitEndlessScRsp",
            CmdChimeraType::CmdChimeraStartEndlessScRsp => "CmdChimeraStartEndlessScRsp",
            CmdChimeraType::CmdChimeraStartEndlessCsReq => "CmdChimeraStartEndlessCsReq",
            CmdChimeraType::CmdChimeraRoundWorkStartScRsp => {
                "CmdChimeraRoundWorkStartScRsp"
            }
            CmdChimeraType::CmdChimeraFinishRoundScRsp => "CmdChimeraFinishRoundScRsp",
            CmdChimeraType::CmdChimeraFinishRoundCsReq => "CmdChimeraFinishRoundCsReq",
            CmdChimeraType::CmdChimeraFinishEndlessRoundScRsp => {
                "CmdChimeraFinishEndlessRoundScRsp"
            }
            CmdChimeraType::CmdChimeraFinishEndlessRoundCsReq => {
                "CmdChimeraFinishEndlessRoundCsReq"
            }
            CmdChimeraType::CmdChimeraGetDataScRsp => "CmdChimeraGetDataScRsp",
            CmdChimeraType::CmdChimeraDoFinalRoundScRsp => "CmdChimeraDoFinalRoundScRsp",
            CmdChimeraType::CmdChimeraQuitEndlessCsReq => "CmdChimeraQuitEndlessCsReq",
            CmdChimeraType::CmdChimeraDoFinalRoundCsReq => "CmdChimeraDoFinalRoundCsReq",
            CmdChimeraType::CmdChimeraSetLineupScRsp => "CmdChimeraSetLineupScRsp",
            CmdChimeraType::CmdChimeraGetDataCsReq => "CmdChimeraGetDataCsReq",
            CmdChimeraType::CmdChimeraSetLineupCsReq => "CmdChimeraSetLineupCsReq",
            CmdChimeraType::CmdChimeraRoundWorkStartCsReq => {
                "CmdChimeraRoundWorkStartCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdChimeraTypeNone" => Some(Self::None),
            "CmdChimeraQuitEndlessScRsp" => Some(Self::CmdChimeraQuitEndlessScRsp),
            "CmdChimeraStartEndlessScRsp" => Some(Self::CmdChimeraStartEndlessScRsp),
            "CmdChimeraStartEndlessCsReq" => Some(Self::CmdChimeraStartEndlessCsReq),
            "CmdChimeraRoundWorkStartScRsp" => Some(Self::CmdChimeraRoundWorkStartScRsp),
            "CmdChimeraFinishRoundScRsp" => Some(Self::CmdChimeraFinishRoundScRsp),
            "CmdChimeraFinishRoundCsReq" => Some(Self::CmdChimeraFinishRoundCsReq),
            "CmdChimeraFinishEndlessRoundScRsp" => {
                Some(Self::CmdChimeraFinishEndlessRoundScRsp)
            }
            "CmdChimeraFinishEndlessRoundCsReq" => {
                Some(Self::CmdChimeraFinishEndlessRoundCsReq)
            }
            "CmdChimeraGetDataScRsp" => Some(Self::CmdChimeraGetDataScRsp),
            "CmdChimeraDoFinalRoundScRsp" => Some(Self::CmdChimeraDoFinalRoundScRsp),
            "CmdChimeraQuitEndlessCsReq" => Some(Self::CmdChimeraQuitEndlessCsReq),
            "CmdChimeraDoFinalRoundCsReq" => Some(Self::CmdChimeraDoFinalRoundCsReq),
            "CmdChimeraSetLineupScRsp" => Some(Self::CmdChimeraSetLineupScRsp),
            "CmdChimeraGetDataCsReq" => Some(Self::CmdChimeraGetDataCsReq),
            "CmdChimeraSetLineupCsReq" => Some(Self::CmdChimeraSetLineupCsReq),
            "CmdChimeraRoundWorkStartCsReq" => Some(Self::CmdChimeraRoundWorkStartCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Oapdmkkkeol {
    ChimeraLastPhaseFinishNone = 0,
    ChimeraLastPhaseFinishNormal = 1,
    ChimeraLastPhaseFinishSkip = 2,
    ChimeraLastPhaseFinishForce = 3,
}
impl Oapdmkkkeol {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Oapdmkkkeol::ChimeraLastPhaseFinishNone => "CHIMERA_LAST_PHASE_FINISH_NONE",
            Oapdmkkkeol::ChimeraLastPhaseFinishNormal => {
                "CHIMERA_LAST_PHASE_FINISH_NORMAL"
            }
            Oapdmkkkeol::ChimeraLastPhaseFinishSkip => "CHIMERA_LAST_PHASE_FINISH_SKIP",
            Oapdmkkkeol::ChimeraLastPhaseFinishForce => "CHIMERA_LAST_PHASE_FINISH_FORCE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHIMERA_LAST_PHASE_FINISH_NONE" => Some(Self::ChimeraLastPhaseFinishNone),
            "CHIMERA_LAST_PHASE_FINISH_NORMAL" => {
                Some(Self::ChimeraLastPhaseFinishNormal)
            }
            "CHIMERA_LAST_PHASE_FINISH_SKIP" => Some(Self::ChimeraLastPhaseFinishSkip),
            "CHIMERA_LAST_PHASE_FINISH_FORCE" => Some(Self::ChimeraLastPhaseFinishForce),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Biakdfeljfm {
    ChimeraRoundWorkEndNone = 0,
    ChimeraRoundWorkEndSucc = 1,
    ChimeraRoundWorkEndFail = 2,
    ChimeraRoundWorkEndLeave = 3,
}
impl Biakdfeljfm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Biakdfeljfm::ChimeraRoundWorkEndNone => "CHIMERA_ROUND_WORK_END_NONE",
            Biakdfeljfm::ChimeraRoundWorkEndSucc => "CHIMERA_ROUND_WORK_END_SUCC",
            Biakdfeljfm::ChimeraRoundWorkEndFail => "CHIMERA_ROUND_WORK_END_FAIL",
            Biakdfeljfm::ChimeraRoundWorkEndLeave => "CHIMERA_ROUND_WORK_END_LEAVE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHIMERA_ROUND_WORK_END_NONE" => Some(Self::ChimeraRoundWorkEndNone),
            "CHIMERA_ROUND_WORK_END_SUCC" => Some(Self::ChimeraRoundWorkEndSucc),
            "CHIMERA_ROUND_WORK_END_FAIL" => Some(Self::ChimeraRoundWorkEndFail),
            "CHIMERA_ROUND_WORK_END_LEAVE" => Some(Self::ChimeraRoundWorkEndLeave),
            _ => None,
        }
    }
}
/// Obf: DIBEHAAGJDB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdClockParkType {
    None = 0,
    CmdClockParkUseBuffScRsp = 7209,
    CmdClockParkUnlockTalentCsReq = 7206,
    CmdClockParkGetOngoingScriptInfoScRsp = 7215,
    CmdClockParkGetOngoingScriptInfoCsReq = 7225,
    CmdClockParkHandleWaitOperationCsReq = 7230,
    CmdClockParkStartScriptScRsp = 7229,
    CmdClockParkFinishScriptScNotify = 7224,
    CmdClockParkBattleEndScNotify = 7240,
    CmdClockParkStartScriptCsReq = 7207,
    CmdClockParkGetInfoScRsp = 7237,
    CmdClockParkGetInfoCsReq = 7226,
    CmdClockParkUnlockTalentScRsp = 7233,
    CmdClockParkHandleWaitOperationScRsp = 7202,
    CmdClockParkQuitScriptScRsp = 7204,
    CmdClockParkUseBuffCsReq = 7235,
    CmdClockParkQuitScriptCsReq = 7248,
}
impl CmdClockParkType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdClockParkType::None => "CmdClockParkTypeNone",
            CmdClockParkType::CmdClockParkUseBuffScRsp => "CmdClockParkUseBuffScRsp",
            CmdClockParkType::CmdClockParkUnlockTalentCsReq => {
                "CmdClockParkUnlockTalentCsReq"
            }
            CmdClockParkType::CmdClockParkGetOngoingScriptInfoScRsp => {
                "CmdClockParkGetOngoingScriptInfoScRsp"
            }
            CmdClockParkType::CmdClockParkGetOngoingScriptInfoCsReq => {
                "CmdClockParkGetOngoingScriptInfoCsReq"
            }
            CmdClockParkType::CmdClockParkHandleWaitOperationCsReq => {
                "CmdClockParkHandleWaitOperationCsReq"
            }
            CmdClockParkType::CmdClockParkStartScriptScRsp => {
                "CmdClockParkStartScriptScRsp"
            }
            CmdClockParkType::CmdClockParkFinishScriptScNotify => {
                "CmdClockParkFinishScriptScNotify"
            }
            CmdClockParkType::CmdClockParkBattleEndScNotify => {
                "CmdClockParkBattleEndScNotify"
            }
            CmdClockParkType::CmdClockParkStartScriptCsReq => {
                "CmdClockParkStartScriptCsReq"
            }
            CmdClockParkType::CmdClockParkGetInfoScRsp => "CmdClockParkGetInfoScRsp",
            CmdClockParkType::CmdClockParkGetInfoCsReq => "CmdClockParkGetInfoCsReq",
            CmdClockParkType::CmdClockParkUnlockTalentScRsp => {
                "CmdClockParkUnlockTalentScRsp"
            }
            CmdClockParkType::CmdClockParkHandleWaitOperationScRsp => {
                "CmdClockParkHandleWaitOperationScRsp"
            }
            CmdClockParkType::CmdClockParkQuitScriptScRsp => {
                "CmdClockParkQuitScriptScRsp"
            }
            CmdClockParkType::CmdClockParkUseBuffCsReq => "CmdClockParkUseBuffCsReq",
            CmdClockParkType::CmdClockParkQuitScriptCsReq => {
                "CmdClockParkQuitScriptCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdClockParkTypeNone" => Some(Self::None),
            "CmdClockParkUseBuffScRsp" => Some(Self::CmdClockParkUseBuffScRsp),
            "CmdClockParkUnlockTalentCsReq" => Some(Self::CmdClockParkUnlockTalentCsReq),
            "CmdClockParkGetOngoingScriptInfoScRsp" => {
                Some(Self::CmdClockParkGetOngoingScriptInfoScRsp)
            }
            "CmdClockParkGetOngoingScriptInfoCsReq" => {
                Some(Self::CmdClockParkGetOngoingScriptInfoCsReq)
            }
            "CmdClockParkHandleWaitOperationCsReq" => {
                Some(Self::CmdClockParkHandleWaitOperationCsReq)
            }
            "CmdClockParkStartScriptScRsp" => Some(Self::CmdClockParkStartScriptScRsp),
            "CmdClockParkFinishScriptScNotify" => {
                Some(Self::CmdClockParkFinishScriptScNotify)
            }
            "CmdClockParkBattleEndScNotify" => Some(Self::CmdClockParkBattleEndScNotify),
            "CmdClockParkStartScriptCsReq" => Some(Self::CmdClockParkStartScriptCsReq),
            "CmdClockParkGetInfoScRsp" => Some(Self::CmdClockParkGetInfoScRsp),
            "CmdClockParkGetInfoCsReq" => Some(Self::CmdClockParkGetInfoCsReq),
            "CmdClockParkUnlockTalentScRsp" => Some(Self::CmdClockParkUnlockTalentScRsp),
            "CmdClockParkHandleWaitOperationScRsp" => {
                Some(Self::CmdClockParkHandleWaitOperationScRsp)
            }
            "CmdClockParkQuitScriptScRsp" => Some(Self::CmdClockParkQuitScriptScRsp),
            "CmdClockParkUseBuffCsReq" => Some(Self::CmdClockParkUseBuffCsReq),
            "CmdClockParkQuitScriptCsReq" => Some(Self::CmdClockParkQuitScriptCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Egblomhgijm {
    ClockParkPlayNone = 0,
    ClockParkPlayNormalDeath = 1,
    ClockParkPlayNormalPass = 2,
    ClockParkPlayFinishScript = 5,
}
impl Egblomhgijm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Egblomhgijm::ClockParkPlayNone => "CLOCK_PARK_PLAY_NONE",
            Egblomhgijm::ClockParkPlayNormalDeath => "CLOCK_PARK_PLAY_NORMAL_DEATH",
            Egblomhgijm::ClockParkPlayNormalPass => "CLOCK_PARK_PLAY_NORMAL_PASS",
            Egblomhgijm::ClockParkPlayFinishScript => "CLOCK_PARK_PLAY_FINISH_SCRIPT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CLOCK_PARK_PLAY_NONE" => Some(Self::ClockParkPlayNone),
            "CLOCK_PARK_PLAY_NORMAL_DEATH" => Some(Self::ClockParkPlayNormalDeath),
            "CLOCK_PARK_PLAY_NORMAL_PASS" => Some(Self::ClockParkPlayNormalPass),
            "CLOCK_PARK_PLAY_FINISH_SCRIPT" => Some(Self::ClockParkPlayFinishScript),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MissionStatus {
    MissionNone = 0,
    MissionDoing = 1,
    MissionFinish = 2,
    MissionPrepared = 3,
}
impl MissionStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            MissionStatus::MissionNone => "MISSION_NONE",
            MissionStatus::MissionDoing => "MISSION_DOING",
            MissionStatus::MissionFinish => "MISSION_FINISH",
            MissionStatus::MissionPrepared => "MISSION_PREPARED",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MISSION_NONE" => Some(Self::MissionNone),
            "MISSION_DOING" => Some(Self::MissionDoing),
            "MISSION_FINISH" => Some(Self::MissionFinish),
            "MISSION_PREPARED" => Some(Self::MissionPrepared),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Liejljnbjnp {
    MessageSectionNone = 0,
    MessageSectionDoing = 1,
    MessageSectionFinish = 2,
    MessageSectionFrozen = 3,
}
impl Liejljnbjnp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Liejljnbjnp::MessageSectionNone => "MESSAGE_SECTION_NONE",
            Liejljnbjnp::MessageSectionDoing => "MESSAGE_SECTION_DOING",
            Liejljnbjnp::MessageSectionFinish => "MESSAGE_SECTION_FINISH",
            Liejljnbjnp::MessageSectionFrozen => "MESSAGE_SECTION_FROZEN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MESSAGE_SECTION_NONE" => Some(Self::MessageSectionNone),
            "MESSAGE_SECTION_DOING" => Some(Self::MessageSectionDoing),
            "MESSAGE_SECTION_FINISH" => Some(Self::MessageSectionFinish),
            "MESSAGE_SECTION_FROZEN" => Some(Self::MessageSectionFrozen),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Llhaabppapd {
    MessageGroupNone = 0,
    MessageGroupDoing = 1,
    MessageGroupFinish = 2,
    MessageGroupFrozen = 3,
}
impl Llhaabppapd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Llhaabppapd::MessageGroupNone => "MESSAGE_GROUP_NONE",
            Llhaabppapd::MessageGroupDoing => "MESSAGE_GROUP_DOING",
            Llhaabppapd::MessageGroupFinish => "MESSAGE_GROUP_FINISH",
            Llhaabppapd::MessageGroupFrozen => "MESSAGE_GROUP_FROZEN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MESSAGE_GROUP_NONE" => Some(Self::MessageGroupNone),
            "MESSAGE_GROUP_DOING" => Some(Self::MessageGroupDoing),
            "MESSAGE_GROUP_FINISH" => Some(Self::MessageGroupFinish),
            "MESSAGE_GROUP_FROZEN" => Some(Self::MessageGroupFrozen),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pcahopmikim {
    BattleRecordNone = 0,
    BattleRecordChallenge = 1,
    BattleRecordRogue = 2,
}
impl Pcahopmikim {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Pcahopmikim::BattleRecordNone => "BATTLE_RECORD_NONE",
            Pcahopmikim::BattleRecordChallenge => "BATTLE_RECORD_CHALLENGE",
            Pcahopmikim::BattleRecordRogue => "BATTLE_RECORD_ROGUE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BATTLE_RECORD_NONE" => Some(Self::BattleRecordNone),
            "BATTLE_RECORD_CHALLENGE" => Some(Self::BattleRecordChallenge),
            "BATTLE_RECORD_ROGUE" => Some(Self::BattleRecordRogue),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lipekjfjmnm {
    RebattleTypeNone = 0,
    RebattleTypeRebattleMidway = 1,
    RebattleTypeRebattleLose = 2,
    RebattleTypeRebattleMidwayLineup = 3,
    RebattleTypeRebattleLoseLineup = 4,
    RebattleTypeQuitMidway = 5,
    RebattleTypeQuitLose = 6,
}
impl Lipekjfjmnm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Lipekjfjmnm::RebattleTypeNone => "REBATTLE_TYPE_NONE",
            Lipekjfjmnm::RebattleTypeRebattleMidway => "REBATTLE_TYPE_REBATTLE_MIDWAY",
            Lipekjfjmnm::RebattleTypeRebattleLose => "REBATTLE_TYPE_REBATTLE_LOSE",
            Lipekjfjmnm::RebattleTypeRebattleMidwayLineup => {
                "REBATTLE_TYPE_REBATTLE_MIDWAY_LINEUP"
            }
            Lipekjfjmnm::RebattleTypeRebattleLoseLineup => {
                "REBATTLE_TYPE_REBATTLE_LOSE_LINEUP"
            }
            Lipekjfjmnm::RebattleTypeQuitMidway => "REBATTLE_TYPE_QUIT_MIDWAY",
            Lipekjfjmnm::RebattleTypeQuitLose => "REBATTLE_TYPE_QUIT_LOSE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "REBATTLE_TYPE_NONE" => Some(Self::RebattleTypeNone),
            "REBATTLE_TYPE_REBATTLE_MIDWAY" => Some(Self::RebattleTypeRebattleMidway),
            "REBATTLE_TYPE_REBATTLE_LOSE" => Some(Self::RebattleTypeRebattleLose),
            "REBATTLE_TYPE_REBATTLE_MIDWAY_LINEUP" => {
                Some(Self::RebattleTypeRebattleMidwayLineup)
            }
            "REBATTLE_TYPE_REBATTLE_LOSE_LINEUP" => {
                Some(Self::RebattleTypeRebattleLoseLineup)
            }
            "REBATTLE_TYPE_QUIT_MIDWAY" => Some(Self::RebattleTypeQuitMidway),
            "REBATTLE_TYPE_QUIT_LOSE" => Some(Self::RebattleTypeQuitLose),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ContentPackageStatus {
    None = 0,
    Init = 1,
    Doing = 2,
    Finished = 3,
    Release = 4,
}
impl ContentPackageStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            ContentPackageStatus::None => "ContentPackageStatus_None",
            ContentPackageStatus::Init => "ContentPackageStatus_Init",
            ContentPackageStatus::Doing => "ContentPackageStatus_Doing",
            ContentPackageStatus::Finished => "ContentPackageStatus_Finished",
            ContentPackageStatus::Release => "ContentPackageStatus_Release",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ContentPackageStatus_None" => Some(Self::None),
            "ContentPackageStatus_Init" => Some(Self::Init),
            "ContentPackageStatus_Doing" => Some(Self::Doing),
            "ContentPackageStatus_Finished" => Some(Self::Finished),
            "ContentPackageStatus_Release" => Some(Self::Release),
            _ => None,
        }
    }
}
/// Obf: AMFHHOJFONL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdContentPackageType {
    None = 0,
    CmdContentPackageGetDataScRsp = 7537,
    CmdContentPackageTransferScNotify = 7533,
    CmdContentPackageUnlockCsReq = 7543,
    CmdContentPackageSyncDataScNotify = 7541,
    CmdContentPackageUnlockScRsp = 7506,
    CmdContentPackageGetDataCsReq = 7526,
}
impl CmdContentPackageType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdContentPackageType::None => "CmdContentPackageTypeNone",
            CmdContentPackageType::CmdContentPackageGetDataScRsp => {
                "CmdContentPackageGetDataScRsp"
            }
            CmdContentPackageType::CmdContentPackageTransferScNotify => {
                "CmdContentPackageTransferScNotify"
            }
            CmdContentPackageType::CmdContentPackageUnlockCsReq => {
                "CmdContentPackageUnlockCsReq"
            }
            CmdContentPackageType::CmdContentPackageSyncDataScNotify => {
                "CmdContentPackageSyncDataScNotify"
            }
            CmdContentPackageType::CmdContentPackageUnlockScRsp => {
                "CmdContentPackageUnlockScRsp"
            }
            CmdContentPackageType::CmdContentPackageGetDataCsReq => {
                "CmdContentPackageGetDataCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdContentPackageTypeNone" => Some(Self::None),
            "CmdContentPackageGetDataScRsp" => Some(Self::CmdContentPackageGetDataScRsp),
            "CmdContentPackageTransferScNotify" => {
                Some(Self::CmdContentPackageTransferScNotify)
            }
            "CmdContentPackageUnlockCsReq" => Some(Self::CmdContentPackageUnlockCsReq),
            "CmdContentPackageSyncDataScNotify" => {
                Some(Self::CmdContentPackageSyncDataScNotify)
            }
            "CmdContentPackageUnlockScRsp" => Some(Self::CmdContentPackageUnlockScRsp),
            "CmdContentPackageGetDataCsReq" => Some(Self::CmdContentPackageGetDataCsReq),
            _ => None,
        }
    }
}
/// Obf: EFPGANHIKIB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdDailyActiveType {
    None = 0,
    CmdTakeAllApRewardCsReq = 3356,
    CmdGetDailyActiveInfoScRsp = 3324,
    CmdGetDailyActiveInfoCsReq = 3358,
    CmdDailyActiveInfoNotify = 3330,
    CmdTakeAllApRewardScRsp = 3397,
    CmdTakeApRewardScRsp = 3368,
    CmdTakeApRewardCsReq = 3301,
}
impl CmdDailyActiveType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdDailyActiveType::None => "CmdDailyActiveTypeNone",
            CmdDailyActiveType::CmdTakeAllApRewardCsReq => "CmdTakeAllApRewardCsReq",
            CmdDailyActiveType::CmdGetDailyActiveInfoScRsp => {
                "CmdGetDailyActiveInfoScRsp"
            }
            CmdDailyActiveType::CmdGetDailyActiveInfoCsReq => {
                "CmdGetDailyActiveInfoCsReq"
            }
            CmdDailyActiveType::CmdDailyActiveInfoNotify => "CmdDailyActiveInfoNotify",
            CmdDailyActiveType::CmdTakeAllApRewardScRsp => "CmdTakeAllApRewardScRsp",
            CmdDailyActiveType::CmdTakeApRewardScRsp => "CmdTakeApRewardScRsp",
            CmdDailyActiveType::CmdTakeApRewardCsReq => "CmdTakeApRewardCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdDailyActiveTypeNone" => Some(Self::None),
            "CmdTakeAllApRewardCsReq" => Some(Self::CmdTakeAllApRewardCsReq),
            "CmdGetDailyActiveInfoScRsp" => Some(Self::CmdGetDailyActiveInfoScRsp),
            "CmdGetDailyActiveInfoCsReq" => Some(Self::CmdGetDailyActiveInfoCsReq),
            "CmdDailyActiveInfoNotify" => Some(Self::CmdDailyActiveInfoNotify),
            "CmdTakeAllApRewardScRsp" => Some(Self::CmdTakeAllApRewardScRsp),
            "CmdTakeApRewardScRsp" => Some(Self::CmdTakeApRewardScRsp),
            "CmdTakeApRewardCsReq" => Some(Self::CmdTakeApRewardCsReq),
            _ => None,
        }
    }
}
/// Obf: KGPDDMGIINK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdDrinkMakerType {
    None = 0,
    CmdDrinkMakerChallengeCsReq = 6986,
    CmdEndDrinkMakerSequenceScRsp = 6981,
    CmdDrinkMakerChallengeScRsp = 6998,
    CmdDrinkMakerDayEndScNotify = 6995,
    CmdMakeMissionDrinkScRsp = 6994,
    CmdMakeDrinkCsReq = 6992,
    CmdGetDrinkMakerDataScRsp = 6988,
    CmdGetDrinkMakerDataCsReq = 6997,
    CmdMakeMissionDrinkCsReq = 6999,
    CmdMakeDrinkScRsp = 6982,
    CmdEndDrinkMakerSequenceCsReq = 6984,
    CmdDrinkMakerUpdateTipsNotify = 6985,
}
impl CmdDrinkMakerType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdDrinkMakerType::None => "CmdDrinkMakerTypeNone",
            CmdDrinkMakerType::CmdDrinkMakerChallengeCsReq => {
                "CmdDrinkMakerChallengeCsReq"
            }
            CmdDrinkMakerType::CmdEndDrinkMakerSequenceScRsp => {
                "CmdEndDrinkMakerSequenceScRsp"
            }
            CmdDrinkMakerType::CmdDrinkMakerChallengeScRsp => {
                "CmdDrinkMakerChallengeScRsp"
            }
            CmdDrinkMakerType::CmdDrinkMakerDayEndScNotify => {
                "CmdDrinkMakerDayEndScNotify"
            }
            CmdDrinkMakerType::CmdMakeMissionDrinkScRsp => "CmdMakeMissionDrinkScRsp",
            CmdDrinkMakerType::CmdMakeDrinkCsReq => "CmdMakeDrinkCsReq",
            CmdDrinkMakerType::CmdGetDrinkMakerDataScRsp => "CmdGetDrinkMakerDataScRsp",
            CmdDrinkMakerType::CmdGetDrinkMakerDataCsReq => "CmdGetDrinkMakerDataCsReq",
            CmdDrinkMakerType::CmdMakeMissionDrinkCsReq => "CmdMakeMissionDrinkCsReq",
            CmdDrinkMakerType::CmdMakeDrinkScRsp => "CmdMakeDrinkScRsp",
            CmdDrinkMakerType::CmdEndDrinkMakerSequenceCsReq => {
                "CmdEndDrinkMakerSequenceCsReq"
            }
            CmdDrinkMakerType::CmdDrinkMakerUpdateTipsNotify => {
                "CmdDrinkMakerUpdateTipsNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdDrinkMakerTypeNone" => Some(Self::None),
            "CmdDrinkMakerChallengeCsReq" => Some(Self::CmdDrinkMakerChallengeCsReq),
            "CmdEndDrinkMakerSequenceScRsp" => Some(Self::CmdEndDrinkMakerSequenceScRsp),
            "CmdDrinkMakerChallengeScRsp" => Some(Self::CmdDrinkMakerChallengeScRsp),
            "CmdDrinkMakerDayEndScNotify" => Some(Self::CmdDrinkMakerDayEndScNotify),
            "CmdMakeMissionDrinkScRsp" => Some(Self::CmdMakeMissionDrinkScRsp),
            "CmdMakeDrinkCsReq" => Some(Self::CmdMakeDrinkCsReq),
            "CmdGetDrinkMakerDataScRsp" => Some(Self::CmdGetDrinkMakerDataScRsp),
            "CmdGetDrinkMakerDataCsReq" => Some(Self::CmdGetDrinkMakerDataCsReq),
            "CmdMakeMissionDrinkCsReq" => Some(Self::CmdMakeMissionDrinkCsReq),
            "CmdMakeDrinkScRsp" => Some(Self::CmdMakeDrinkScRsp),
            "CmdEndDrinkMakerSequenceCsReq" => Some(Self::CmdEndDrinkMakerSequenceCsReq),
            "CmdDrinkMakerUpdateTipsNotify" => Some(Self::CmdDrinkMakerUpdateTipsNotify),
            _ => None,
        }
    }
}
/// Obf: KCLCJEPMDGP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdEraFlipperType {
    None = 0,
    CmdChangeEraFlipperDataCsReq = 6591,
    CmdResetEraFlipperDataScRsp = 6583,
    CmdChangeEraFlipperDataScRsp = 6593,
    CmdEraFlipperDataChangeScNotify = 6575,
    CmdEnterEraFlipperRegionCsReq = 6557,
    CmdGetEraFlipperDataScRsp = 6587,
    CmdGetEraFlipperDataCsReq = 6576,
    CmdResetEraFlipperDataCsReq = 6556,
    CmdEnterEraFlipperRegionScRsp = 6579,
}
impl CmdEraFlipperType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdEraFlipperType::None => "CmdEraFlipperTypeNone",
            CmdEraFlipperType::CmdChangeEraFlipperDataCsReq => {
                "CmdChangeEraFlipperDataCsReq"
            }
            CmdEraFlipperType::CmdResetEraFlipperDataScRsp => {
                "CmdResetEraFlipperDataScRsp"
            }
            CmdEraFlipperType::CmdChangeEraFlipperDataScRsp => {
                "CmdChangeEraFlipperDataScRsp"
            }
            CmdEraFlipperType::CmdEraFlipperDataChangeScNotify => {
                "CmdEraFlipperDataChangeScNotify"
            }
            CmdEraFlipperType::CmdEnterEraFlipperRegionCsReq => {
                "CmdEnterEraFlipperRegionCsReq"
            }
            CmdEraFlipperType::CmdGetEraFlipperDataScRsp => "CmdGetEraFlipperDataScRsp",
            CmdEraFlipperType::CmdGetEraFlipperDataCsReq => "CmdGetEraFlipperDataCsReq",
            CmdEraFlipperType::CmdResetEraFlipperDataCsReq => {
                "CmdResetEraFlipperDataCsReq"
            }
            CmdEraFlipperType::CmdEnterEraFlipperRegionScRsp => {
                "CmdEnterEraFlipperRegionScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdEraFlipperTypeNone" => Some(Self::None),
            "CmdChangeEraFlipperDataCsReq" => Some(Self::CmdChangeEraFlipperDataCsReq),
            "CmdResetEraFlipperDataScRsp" => Some(Self::CmdResetEraFlipperDataScRsp),
            "CmdChangeEraFlipperDataScRsp" => Some(Self::CmdChangeEraFlipperDataScRsp),
            "CmdEraFlipperDataChangeScNotify" => {
                Some(Self::CmdEraFlipperDataChangeScNotify)
            }
            "CmdEnterEraFlipperRegionCsReq" => Some(Self::CmdEnterEraFlipperRegionCsReq),
            "CmdGetEraFlipperDataScRsp" => Some(Self::CmdGetEraFlipperDataScRsp),
            "CmdGetEraFlipperDataCsReq" => Some(Self::CmdGetEraFlipperDataCsReq),
            "CmdResetEraFlipperDataCsReq" => Some(Self::CmdResetEraFlipperDataCsReq),
            "CmdEnterEraFlipperRegionScRsp" => Some(Self::CmdEnterEraFlipperRegionScRsp),
            _ => None,
        }
    }
}
/// Obf: IGDLIBJNFMD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdEvolveBuild {
    None = 0,
    ShopAbilityDownCsReq = 7110,
    ReRandomStageScRsp = 7148,
    ShopAbilityUpCsReq = 7114,
    ShopAbilityDownScRsp = 7135,
    CoinNotify = 7120,
    ReRandomStageCsReq = 7102,
    LeaveScRsp = 7115,
    FinishScNotify = 7130,
    QueryInfoScRsp = 7137,
    UnlockInfoNotify = 7139,
    TakeExpRewardCsReq = 7109,
    StartLevelCsReq = 7141,
    StartLevelScRsp = 7143,
    StartStageScRsp = 7133,
    ShopAbilityResetCsReq = 7101,
    ShopAbilityUpScRsp = 7140,
    GiveupCsReq = 7107,
    StartStageCsReq = 7106,
    GiveupScRsp = 7129,
    QueryInfoCsReq = 7126,
    TakeExpRewardScRsp = 7124,
    ShopAbilityResetScRsp = 7121,
    LeaveCsReq = 7125,
}
impl CmdEvolveBuild {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdEvolveBuild::None => "CmdEvolveBuildNone",
            CmdEvolveBuild::ShopAbilityDownCsReq => "CmdEvolveBuildShopAbilityDownCsReq",
            CmdEvolveBuild::ReRandomStageScRsp => "CmdEvolveBuildReRandomStageScRsp",
            CmdEvolveBuild::ShopAbilityUpCsReq => "CmdEvolveBuildShopAbilityUpCsReq",
            CmdEvolveBuild::ShopAbilityDownScRsp => "CmdEvolveBuildShopAbilityDownScRsp",
            CmdEvolveBuild::CoinNotify => "CmdEvolveBuildCoinNotify",
            CmdEvolveBuild::ReRandomStageCsReq => "CmdEvolveBuildReRandomStageCsReq",
            CmdEvolveBuild::LeaveScRsp => "CmdEvolveBuildLeaveScRsp",
            CmdEvolveBuild::FinishScNotify => "CmdEvolveBuildFinishScNotify",
            CmdEvolveBuild::QueryInfoScRsp => "CmdEvolveBuildQueryInfoScRsp",
            CmdEvolveBuild::UnlockInfoNotify => "CmdEvolveBuildUnlockInfoNotify",
            CmdEvolveBuild::TakeExpRewardCsReq => "CmdEvolveBuildTakeExpRewardCsReq",
            CmdEvolveBuild::StartLevelCsReq => "CmdEvolveBuildStartLevelCsReq",
            CmdEvolveBuild::StartLevelScRsp => "CmdEvolveBuildStartLevelScRsp",
            CmdEvolveBuild::StartStageScRsp => "CmdEvolveBuildStartStageScRsp",
            CmdEvolveBuild::ShopAbilityResetCsReq => {
                "CmdEvolveBuildShopAbilityResetCsReq"
            }
            CmdEvolveBuild::ShopAbilityUpScRsp => "CmdEvolveBuildShopAbilityUpScRsp",
            CmdEvolveBuild::GiveupCsReq => "CmdEvolveBuildGiveupCsReq",
            CmdEvolveBuild::StartStageCsReq => "CmdEvolveBuildStartStageCsReq",
            CmdEvolveBuild::GiveupScRsp => "CmdEvolveBuildGiveupScRsp",
            CmdEvolveBuild::QueryInfoCsReq => "CmdEvolveBuildQueryInfoCsReq",
            CmdEvolveBuild::TakeExpRewardScRsp => "CmdEvolveBuildTakeExpRewardScRsp",
            CmdEvolveBuild::ShopAbilityResetScRsp => {
                "CmdEvolveBuildShopAbilityResetScRsp"
            }
            CmdEvolveBuild::LeaveCsReq => "CmdEvolveBuildLeaveCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdEvolveBuildNone" => Some(Self::None),
            "CmdEvolveBuildShopAbilityDownCsReq" => Some(Self::ShopAbilityDownCsReq),
            "CmdEvolveBuildReRandomStageScRsp" => Some(Self::ReRandomStageScRsp),
            "CmdEvolveBuildShopAbilityUpCsReq" => Some(Self::ShopAbilityUpCsReq),
            "CmdEvolveBuildShopAbilityDownScRsp" => Some(Self::ShopAbilityDownScRsp),
            "CmdEvolveBuildCoinNotify" => Some(Self::CoinNotify),
            "CmdEvolveBuildReRandomStageCsReq" => Some(Self::ReRandomStageCsReq),
            "CmdEvolveBuildLeaveScRsp" => Some(Self::LeaveScRsp),
            "CmdEvolveBuildFinishScNotify" => Some(Self::FinishScNotify),
            "CmdEvolveBuildQueryInfoScRsp" => Some(Self::QueryInfoScRsp),
            "CmdEvolveBuildUnlockInfoNotify" => Some(Self::UnlockInfoNotify),
            "CmdEvolveBuildTakeExpRewardCsReq" => Some(Self::TakeExpRewardCsReq),
            "CmdEvolveBuildStartLevelCsReq" => Some(Self::StartLevelCsReq),
            "CmdEvolveBuildStartLevelScRsp" => Some(Self::StartLevelScRsp),
            "CmdEvolveBuildStartStageScRsp" => Some(Self::StartStageScRsp),
            "CmdEvolveBuildShopAbilityResetCsReq" => Some(Self::ShopAbilityResetCsReq),
            "CmdEvolveBuildShopAbilityUpScRsp" => Some(Self::ShopAbilityUpScRsp),
            "CmdEvolveBuildGiveupCsReq" => Some(Self::GiveupCsReq),
            "CmdEvolveBuildStartStageCsReq" => Some(Self::StartStageCsReq),
            "CmdEvolveBuildGiveupScRsp" => Some(Self::GiveupScRsp),
            "CmdEvolveBuildQueryInfoCsReq" => Some(Self::QueryInfoCsReq),
            "CmdEvolveBuildTakeExpRewardScRsp" => Some(Self::TakeExpRewardScRsp),
            "CmdEvolveBuildShopAbilityResetScRsp" => Some(Self::ShopAbilityResetScRsp),
            "CmdEvolveBuildLeaveCsReq" => Some(Self::LeaveCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Oijlbloohjg {
    EvolvePeriodNone = 0,
    EvolvePeriodFirst = 1,
    EvolvePeriodSecond = 2,
    EvolvePeriodThird = 3,
    EvolvePeriodExtra = 4,
}
impl Oijlbloohjg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Oijlbloohjg::EvolvePeriodNone => "EVOLVE_PERIOD_NONE",
            Oijlbloohjg::EvolvePeriodFirst => "EVOLVE_PERIOD_FIRST",
            Oijlbloohjg::EvolvePeriodSecond => "EVOLVE_PERIOD_SECOND",
            Oijlbloohjg::EvolvePeriodThird => "EVOLVE_PERIOD_THIRD",
            Oijlbloohjg::EvolvePeriodExtra => "EVOLVE_PERIOD_EXTRA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EVOLVE_PERIOD_NONE" => Some(Self::EvolvePeriodNone),
            "EVOLVE_PERIOD_FIRST" => Some(Self::EvolvePeriodFirst),
            "EVOLVE_PERIOD_SECOND" => Some(Self::EvolvePeriodSecond),
            "EVOLVE_PERIOD_THIRD" => Some(Self::EvolvePeriodThird),
            "EVOLVE_PERIOD_EXTRA" => Some(Self::EvolvePeriodExtra),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dlhcmcnihii {
    EvolveBattleResultNone = 0,
    EvolveBattleResultWin = 1,
    EvolveBattleResultAllAvatarDead = 2,
    EvolveBattleResultNoDeadLine = 3,
    EvolveBattleResultQuit = 4,
}
impl Dlhcmcnihii {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Dlhcmcnihii::EvolveBattleResultNone => "EVOLVE_BATTLE_RESULT_NONE",
            Dlhcmcnihii::EvolveBattleResultWin => "EVOLVE_BATTLE_RESULT_WIN",
            Dlhcmcnihii::EvolveBattleResultAllAvatarDead => {
                "EVOLVE_BATTLE_RESULT_ALL_AVATAR_DEAD"
            }
            Dlhcmcnihii::EvolveBattleResultNoDeadLine => {
                "EVOLVE_BATTLE_RESULT_NO_DEAD_LINE"
            }
            Dlhcmcnihii::EvolveBattleResultQuit => "EVOLVE_BATTLE_RESULT_QUIT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EVOLVE_BATTLE_RESULT_NONE" => Some(Self::EvolveBattleResultNone),
            "EVOLVE_BATTLE_RESULT_WIN" => Some(Self::EvolveBattleResultWin),
            "EVOLVE_BATTLE_RESULT_ALL_AVATAR_DEAD" => {
                Some(Self::EvolveBattleResultAllAvatarDead)
            }
            "EVOLVE_BATTLE_RESULT_NO_DEAD_LINE" => {
                Some(Self::EvolveBattleResultNoDeadLine)
            }
            "EVOLVE_BATTLE_RESULT_QUIT" => Some(Self::EvolveBattleResultQuit),
            _ => None,
        }
    }
}
/// Obf: MCFNPIKEGKO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdExpeditionType {
    None = 0,
    CmdGetExpeditionDataCsReq = 2501,
    CmdAcceptMultipleExpeditionCsReq = 2580,
    CmdTakeExpeditionRewardCsReq = 2597,
    CmdTakeActivityExpeditionRewardScRsp = 2547,
    CmdTakeExpeditionRewardScRsp = 2576,
    CmdTakeMultipleActivityExpeditionRewardCsReq = 2512,
    CmdTakeMultipleExpeditionRewardCsReq = 2596,
    CmdGetExpeditionDataScRsp = 2568,
    CmdAcceptActivityExpeditionScRsp = 2505,
    CmdCancelActivityExpeditionScRsp = 2549,
    CmdAcceptExpeditionCsReq = 2558,
    CmdCancelExpeditionScRsp = 2556,
    CmdAcceptExpeditionScRsp = 2524,
    CmdTakeMultipleActivityExpeditionRewardScRsp = 2517,
    CmdTakeActivityExpeditionRewardCsReq = 2522,
    CmdAcceptMultipleExpeditionScRsp = 2539,
    CmdExpeditionDataChangeScNotify = 2528,
    CmdCancelExpeditionCsReq = 2530,
    CmdCancelActivityExpeditionCsReq = 2514,
    CmdAcceptActivityExpeditionCsReq = 2511,
    CmdTakeMultipleExpeditionRewardScRsp = 2523,
}
impl CmdExpeditionType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdExpeditionType::None => "CmdExpeditionTypeNone",
            CmdExpeditionType::CmdGetExpeditionDataCsReq => "CmdGetExpeditionDataCsReq",
            CmdExpeditionType::CmdAcceptMultipleExpeditionCsReq => {
                "CmdAcceptMultipleExpeditionCsReq"
            }
            CmdExpeditionType::CmdTakeExpeditionRewardCsReq => {
                "CmdTakeExpeditionRewardCsReq"
            }
            CmdExpeditionType::CmdTakeActivityExpeditionRewardScRsp => {
                "CmdTakeActivityExpeditionRewardScRsp"
            }
            CmdExpeditionType::CmdTakeExpeditionRewardScRsp => {
                "CmdTakeExpeditionRewardScRsp"
            }
            CmdExpeditionType::CmdTakeMultipleActivityExpeditionRewardCsReq => {
                "CmdTakeMultipleActivityExpeditionRewardCsReq"
            }
            CmdExpeditionType::CmdTakeMultipleExpeditionRewardCsReq => {
                "CmdTakeMultipleExpeditionRewardCsReq"
            }
            CmdExpeditionType::CmdGetExpeditionDataScRsp => "CmdGetExpeditionDataScRsp",
            CmdExpeditionType::CmdAcceptActivityExpeditionScRsp => {
                "CmdAcceptActivityExpeditionScRsp"
            }
            CmdExpeditionType::CmdCancelActivityExpeditionScRsp => {
                "CmdCancelActivityExpeditionScRsp"
            }
            CmdExpeditionType::CmdAcceptExpeditionCsReq => "CmdAcceptExpeditionCsReq",
            CmdExpeditionType::CmdCancelExpeditionScRsp => "CmdCancelExpeditionScRsp",
            CmdExpeditionType::CmdAcceptExpeditionScRsp => "CmdAcceptExpeditionScRsp",
            CmdExpeditionType::CmdTakeMultipleActivityExpeditionRewardScRsp => {
                "CmdTakeMultipleActivityExpeditionRewardScRsp"
            }
            CmdExpeditionType::CmdTakeActivityExpeditionRewardCsReq => {
                "CmdTakeActivityExpeditionRewardCsReq"
            }
            CmdExpeditionType::CmdAcceptMultipleExpeditionScRsp => {
                "CmdAcceptMultipleExpeditionScRsp"
            }
            CmdExpeditionType::CmdExpeditionDataChangeScNotify => {
                "CmdExpeditionDataChangeScNotify"
            }
            CmdExpeditionType::CmdCancelExpeditionCsReq => "CmdCancelExpeditionCsReq",
            CmdExpeditionType::CmdCancelActivityExpeditionCsReq => {
                "CmdCancelActivityExpeditionCsReq"
            }
            CmdExpeditionType::CmdAcceptActivityExpeditionCsReq => {
                "CmdAcceptActivityExpeditionCsReq"
            }
            CmdExpeditionType::CmdTakeMultipleExpeditionRewardScRsp => {
                "CmdTakeMultipleExpeditionRewardScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdExpeditionTypeNone" => Some(Self::None),
            "CmdGetExpeditionDataCsReq" => Some(Self::CmdGetExpeditionDataCsReq),
            "CmdAcceptMultipleExpeditionCsReq" => {
                Some(Self::CmdAcceptMultipleExpeditionCsReq)
            }
            "CmdTakeExpeditionRewardCsReq" => Some(Self::CmdTakeExpeditionRewardCsReq),
            "CmdTakeActivityExpeditionRewardScRsp" => {
                Some(Self::CmdTakeActivityExpeditionRewardScRsp)
            }
            "CmdTakeExpeditionRewardScRsp" => Some(Self::CmdTakeExpeditionRewardScRsp),
            "CmdTakeMultipleActivityExpeditionRewardCsReq" => {
                Some(Self::CmdTakeMultipleActivityExpeditionRewardCsReq)
            }
            "CmdTakeMultipleExpeditionRewardCsReq" => {
                Some(Self::CmdTakeMultipleExpeditionRewardCsReq)
            }
            "CmdGetExpeditionDataScRsp" => Some(Self::CmdGetExpeditionDataScRsp),
            "CmdAcceptActivityExpeditionScRsp" => {
                Some(Self::CmdAcceptActivityExpeditionScRsp)
            }
            "CmdCancelActivityExpeditionScRsp" => {
                Some(Self::CmdCancelActivityExpeditionScRsp)
            }
            "CmdAcceptExpeditionCsReq" => Some(Self::CmdAcceptExpeditionCsReq),
            "CmdCancelExpeditionScRsp" => Some(Self::CmdCancelExpeditionScRsp),
            "CmdAcceptExpeditionScRsp" => Some(Self::CmdAcceptExpeditionScRsp),
            "CmdTakeMultipleActivityExpeditionRewardScRsp" => {
                Some(Self::CmdTakeMultipleActivityExpeditionRewardScRsp)
            }
            "CmdTakeActivityExpeditionRewardCsReq" => {
                Some(Self::CmdTakeActivityExpeditionRewardCsReq)
            }
            "CmdAcceptMultipleExpeditionScRsp" => {
                Some(Self::CmdAcceptMultipleExpeditionScRsp)
            }
            "CmdExpeditionDataChangeScNotify" => {
                Some(Self::CmdExpeditionDataChangeScNotify)
            }
            "CmdCancelExpeditionCsReq" => Some(Self::CmdCancelExpeditionCsReq),
            "CmdCancelActivityExpeditionCsReq" => {
                Some(Self::CmdCancelActivityExpeditionCsReq)
            }
            "CmdAcceptActivityExpeditionCsReq" => {
                Some(Self::CmdAcceptActivityExpeditionCsReq)
            }
            "CmdTakeMultipleExpeditionRewardScRsp" => {
                Some(Self::CmdTakeMultipleExpeditionRewardScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: DIJNBPEMECG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFantasticStoryActivityType {
    None = 0,
    CmdGetFantasticStoryActivityDataCsReq = 4901,
    CmdGetFantasticStoryActivityDataScRsp = 4968,
    CmdFantasticStoryActivityBattleEndScNotify = 4956,
    CmdFinishChapterScNotify = 4958,
    CmdEnterFantasticStoryActivityStageCsReq = 4924,
    CmdEnterFantasticStoryActivityStageScRsp = 4930,
}
impl CmdFantasticStoryActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdFantasticStoryActivityType::None => "CmdFantasticStoryActivityTypeNone",
            CmdFantasticStoryActivityType::CmdGetFantasticStoryActivityDataCsReq => {
                "CmdGetFantasticStoryActivityDataCsReq"
            }
            CmdFantasticStoryActivityType::CmdGetFantasticStoryActivityDataScRsp => {
                "CmdGetFantasticStoryActivityDataScRsp"
            }
            CmdFantasticStoryActivityType::CmdFantasticStoryActivityBattleEndScNotify => {
                "CmdFantasticStoryActivityBattleEndScNotify"
            }
            CmdFantasticStoryActivityType::CmdFinishChapterScNotify => {
                "CmdFinishChapterScNotify"
            }
            CmdFantasticStoryActivityType::CmdEnterFantasticStoryActivityStageCsReq => {
                "CmdEnterFantasticStoryActivityStageCsReq"
            }
            CmdFantasticStoryActivityType::CmdEnterFantasticStoryActivityStageScRsp => {
                "CmdEnterFantasticStoryActivityStageScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdFantasticStoryActivityTypeNone" => Some(Self::None),
            "CmdGetFantasticStoryActivityDataCsReq" => {
                Some(Self::CmdGetFantasticStoryActivityDataCsReq)
            }
            "CmdGetFantasticStoryActivityDataScRsp" => {
                Some(Self::CmdGetFantasticStoryActivityDataScRsp)
            }
            "CmdFantasticStoryActivityBattleEndScNotify" => {
                Some(Self::CmdFantasticStoryActivityBattleEndScNotify)
            }
            "CmdFinishChapterScNotify" => Some(Self::CmdFinishChapterScNotify),
            "CmdEnterFantasticStoryActivityStageCsReq" => {
                Some(Self::CmdEnterFantasticStoryActivityStageCsReq)
            }
            "CmdEnterFantasticStoryActivityStageScRsp" => {
                Some(Self::CmdEnterFantasticStoryActivityStageScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: DDJJLOHOOIH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFeverTimeActivityType {
    None = 0,
    CmdEnterFeverTimeActivityStageCsReq = 7159,
    CmdFeverTimeActivityBattleEndScNotify = 7151,
    CmdEnterFeverTimeActivityStageScRsp = 7158,
    CmdGetFeverTimeActivityDataCsReq = 7156,
    CmdGetFeverTimeActivityDataScRsp = 7155,
}
impl CmdFeverTimeActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdFeverTimeActivityType::None => "CmdFeverTimeActivityTypeNone",
            CmdFeverTimeActivityType::CmdEnterFeverTimeActivityStageCsReq => {
                "CmdEnterFeverTimeActivityStageCsReq"
            }
            CmdFeverTimeActivityType::CmdFeverTimeActivityBattleEndScNotify => {
                "CmdFeverTimeActivityBattleEndScNotify"
            }
            CmdFeverTimeActivityType::CmdEnterFeverTimeActivityStageScRsp => {
                "CmdEnterFeverTimeActivityStageScRsp"
            }
            CmdFeverTimeActivityType::CmdGetFeverTimeActivityDataCsReq => {
                "CmdGetFeverTimeActivityDataCsReq"
            }
            CmdFeverTimeActivityType::CmdGetFeverTimeActivityDataScRsp => {
                "CmdGetFeverTimeActivityDataScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdFeverTimeActivityTypeNone" => Some(Self::None),
            "CmdEnterFeverTimeActivityStageCsReq" => {
                Some(Self::CmdEnterFeverTimeActivityStageCsReq)
            }
            "CmdFeverTimeActivityBattleEndScNotify" => {
                Some(Self::CmdFeverTimeActivityBattleEndScNotify)
            }
            "CmdEnterFeverTimeActivityStageScRsp" => {
                Some(Self::CmdEnterFeverTimeActivityStageScRsp)
            }
            "CmdGetFeverTimeActivityDataCsReq" => {
                Some(Self::CmdGetFeverTimeActivityDataCsReq)
            }
            "CmdGetFeverTimeActivityDataScRsp" => {
                Some(Self::CmdGetFeverTimeActivityDataScRsp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pmnfdjcllgb {
    FeverTimeBattleRankC = 0,
    FeverTimeBattleRankB = 1,
    FeverTimeBattleRankA = 2,
    FeverTimeBattleRankS = 3,
    FeverTimeBattleRankSs = 4,
}
impl Pmnfdjcllgb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Pmnfdjcllgb::FeverTimeBattleRankC => "FEVER_TIME_BATTLE_RANK_C",
            Pmnfdjcllgb::FeverTimeBattleRankB => "FEVER_TIME_BATTLE_RANK_B",
            Pmnfdjcllgb::FeverTimeBattleRankA => "FEVER_TIME_BATTLE_RANK_A",
            Pmnfdjcllgb::FeverTimeBattleRankS => "FEVER_TIME_BATTLE_RANK_S",
            Pmnfdjcllgb::FeverTimeBattleRankSs => "FEVER_TIME_BATTLE_RANK_SS",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FEVER_TIME_BATTLE_RANK_C" => Some(Self::FeverTimeBattleRankC),
            "FEVER_TIME_BATTLE_RANK_B" => Some(Self::FeverTimeBattleRankB),
            "FEVER_TIME_BATTLE_RANK_A" => Some(Self::FeverTimeBattleRankA),
            "FEVER_TIME_BATTLE_RANK_S" => Some(Self::FeverTimeBattleRankS),
            "FEVER_TIME_BATTLE_RANK_SS" => Some(Self::FeverTimeBattleRankSs),
            _ => None,
        }
    }
}
/// Obf: BHKHKPHJGLN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightType {
    None = 0,
    CmdFightHeartBeatCsReq = 30030,
    CmdFightEnterCsReq = 30001,
    CmdFightSessionStopScNotify = 30097,
    CmdFightKickOutScNotify = 30024,
    CmdFightHeartBeatScRsp = 30056,
    CmdFightLeaveScNotify = 30058,
    CmdFightEnterScRsp = 30068,
}
impl CmdFightType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdFightType::None => "CmdFightTypeNone",
            CmdFightType::CmdFightHeartBeatCsReq => "CmdFightHeartBeatCsReq",
            CmdFightType::CmdFightEnterCsReq => "CmdFightEnterCsReq",
            CmdFightType::CmdFightSessionStopScNotify => "CmdFightSessionStopScNotify",
            CmdFightType::CmdFightKickOutScNotify => "CmdFightKickOutScNotify",
            CmdFightType::CmdFightHeartBeatScRsp => "CmdFightHeartBeatScRsp",
            CmdFightType::CmdFightLeaveScNotify => "CmdFightLeaveScNotify",
            CmdFightType::CmdFightEnterScRsp => "CmdFightEnterScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdFightTypeNone" => Some(Self::None),
            "CmdFightHeartBeatCsReq" => Some(Self::CmdFightHeartBeatCsReq),
            "CmdFightEnterCsReq" => Some(Self::CmdFightEnterCsReq),
            "CmdFightSessionStopScNotify" => Some(Self::CmdFightSessionStopScNotify),
            "CmdFightKickOutScNotify" => Some(Self::CmdFightKickOutScNotify),
            "CmdFightHeartBeatScRsp" => Some(Self::CmdFightHeartBeatScRsp),
            "CmdFightLeaveScNotify" => Some(Self::CmdFightLeaveScNotify),
            "CmdFightEnterScRsp" => Some(Self::CmdFightEnterScRsp),
            _ => None,
        }
    }
}
/// Obf: IOEJAHMFDCO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightActivityType {
    None = 0,
    CmdEnterFightActivityStageScRsp = 3630,
    CmdGetFightActivityDataCsReq = 3601,
    CmdGetFightActivityDataScRsp = 3668,
    CmdTakeFightActivityRewardScRsp = 3697,
    CmdFightActivityDataChangeScNotify = 3658,
    CmdEnterFightActivityStageCsReq = 3624,
    CmdTakeFightActivityRewardCsReq = 3656,
}
impl CmdFightActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdFightActivityType::None => "CmdFightActivityTypeNone",
            CmdFightActivityType::CmdEnterFightActivityStageScRsp => {
                "CmdEnterFightActivityStageScRsp"
            }
            CmdFightActivityType::CmdGetFightActivityDataCsReq => {
                "CmdGetFightActivityDataCsReq"
            }
            CmdFightActivityType::CmdGetFightActivityDataScRsp => {
                "CmdGetFightActivityDataScRsp"
            }
            CmdFightActivityType::CmdTakeFightActivityRewardScRsp => {
                "CmdTakeFightActivityRewardScRsp"
            }
            CmdFightActivityType::CmdFightActivityDataChangeScNotify => {
                "CmdFightActivityDataChangeScNotify"
            }
            CmdFightActivityType::CmdEnterFightActivityStageCsReq => {
                "CmdEnterFightActivityStageCsReq"
            }
            CmdFightActivityType::CmdTakeFightActivityRewardCsReq => {
                "CmdTakeFightActivityRewardCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdFightActivityTypeNone" => Some(Self::None),
            "CmdEnterFightActivityStageScRsp" => {
                Some(Self::CmdEnterFightActivityStageScRsp)
            }
            "CmdGetFightActivityDataCsReq" => Some(Self::CmdGetFightActivityDataCsReq),
            "CmdGetFightActivityDataScRsp" => Some(Self::CmdGetFightActivityDataScRsp),
            "CmdTakeFightActivityRewardScRsp" => {
                Some(Self::CmdTakeFightActivityRewardScRsp)
            }
            "CmdFightActivityDataChangeScNotify" => {
                Some(Self::CmdFightActivityDataChangeScNotify)
            }
            "CmdEnterFightActivityStageCsReq" => {
                Some(Self::CmdEnterFightActivityStageCsReq)
            }
            "CmdTakeFightActivityRewardCsReq" => {
                Some(Self::CmdTakeFightActivityRewardCsReq)
            }
            _ => None,
        }
    }
}
/// Obf: FOMPLGANNAG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightFestType {
    None = 0,
    CmdFightFestScoreUpdateNotify = 7256,
    CmdGetFightFestDataScRsp = 7287,
    CmdFightFestUnlockSkillNotify = 7283,
    CmdStartFightFestScRsp = 7293,
    CmdGetFightFestDataCsReq = 7276,
    CmdFightFestUpdateCoinNotify = 7279,
    CmdStartFightFestCsReq = 7291,
    CmdFightFestUpdateChallengeRecordNotify = 7257,
}
impl CmdFightFestType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdFightFestType::None => "CmdFightFestTypeNone",
            CmdFightFestType::CmdFightFestScoreUpdateNotify => {
                "CmdFightFestScoreUpdateNotify"
            }
            CmdFightFestType::CmdGetFightFestDataScRsp => "CmdGetFightFestDataScRsp",
            CmdFightFestType::CmdFightFestUnlockSkillNotify => {
                "CmdFightFestUnlockSkillNotify"
            }
            CmdFightFestType::CmdStartFightFestScRsp => "CmdStartFightFestScRsp",
            CmdFightFestType::CmdGetFightFestDataCsReq => "CmdGetFightFestDataCsReq",
            CmdFightFestType::CmdFightFestUpdateCoinNotify => {
                "CmdFightFestUpdateCoinNotify"
            }
            CmdFightFestType::CmdStartFightFestCsReq => "CmdStartFightFestCsReq",
            CmdFightFestType::CmdFightFestUpdateChallengeRecordNotify => {
                "CmdFightFestUpdateChallengeRecordNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdFightFestTypeNone" => Some(Self::None),
            "CmdFightFestScoreUpdateNotify" => Some(Self::CmdFightFestScoreUpdateNotify),
            "CmdGetFightFestDataScRsp" => Some(Self::CmdGetFightFestDataScRsp),
            "CmdFightFestUnlockSkillNotify" => Some(Self::CmdFightFestUnlockSkillNotify),
            "CmdStartFightFestScRsp" => Some(Self::CmdStartFightFestScRsp),
            "CmdGetFightFestDataCsReq" => Some(Self::CmdGetFightFestDataCsReq),
            "CmdFightFestUpdateCoinNotify" => Some(Self::CmdFightFestUpdateCoinNotify),
            "CmdStartFightFestCsReq" => Some(Self::CmdStartFightFestCsReq),
            "CmdFightFestUpdateChallengeRecordNotify" => {
                Some(Self::CmdFightFestUpdateChallengeRecordNotify)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hgdapjpkffb {
    FightFestBattleRankC = 0,
    FightFestBattleRankB = 1,
    FightFestBattleRankA = 2,
    FightFestBattleRankS = 3,
    FightFestBattleRankSs = 4,
}
impl Hgdapjpkffb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Hgdapjpkffb::FightFestBattleRankC => "FIGHT_FEST_BATTLE_RANK_C",
            Hgdapjpkffb::FightFestBattleRankB => "FIGHT_FEST_BATTLE_RANK_B",
            Hgdapjpkffb::FightFestBattleRankA => "FIGHT_FEST_BATTLE_RANK_A",
            Hgdapjpkffb::FightFestBattleRankS => "FIGHT_FEST_BATTLE_RANK_S",
            Hgdapjpkffb::FightFestBattleRankSs => "FIGHT_FEST_BATTLE_RANK_SS",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FIGHT_FEST_BATTLE_RANK_C" => Some(Self::FightFestBattleRankC),
            "FIGHT_FEST_BATTLE_RANK_B" => Some(Self::FightFestBattleRankB),
            "FIGHT_FEST_BATTLE_RANK_A" => Some(Self::FightFestBattleRankA),
            "FIGHT_FEST_BATTLE_RANK_S" => Some(Self::FightFestBattleRankS),
            "FIGHT_FEST_BATTLE_RANK_SS" => Some(Self::FightFestBattleRankSs),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Aploagdibki {
    FightFestTypeNone = 0,
    FightFestTypeMain = 1,
    FightFestTypeScore = 2,
    FightFestTypeChallenge = 3,
    FightFestTypeTeach = 4,
}
impl Aploagdibki {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Aploagdibki::FightFestTypeNone => "FIGHT_FEST_TYPE_NONE",
            Aploagdibki::FightFestTypeMain => "FIGHT_FEST_TYPE_MAIN",
            Aploagdibki::FightFestTypeScore => "FIGHT_FEST_TYPE_SCORE",
            Aploagdibki::FightFestTypeChallenge => "FIGHT_FEST_TYPE_CHALLENGE",
            Aploagdibki::FightFestTypeTeach => "FIGHT_FEST_TYPE_TEACH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FIGHT_FEST_TYPE_NONE" => Some(Self::FightFestTypeNone),
            "FIGHT_FEST_TYPE_MAIN" => Some(Self::FightFestTypeMain),
            "FIGHT_FEST_TYPE_SCORE" => Some(Self::FightFestTypeScore),
            "FIGHT_FEST_TYPE_CHALLENGE" => Some(Self::FightFestTypeChallenge),
            "FIGHT_FEST_TYPE_TEACH" => Some(Self::FightFestTypeTeach),
            _ => None,
        }
    }
}
/// Obf: LBFDFOPFEKO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightMathc3Type {
    None = 0,
    CmdFightMatch3ChatCsReq = 30128,
    CmdFightMatch3ChatScNotify = 30105,
    CmdFightMatch3SwapCsReq = 30156,
    CmdFightMatch3TurnStartScNotify = 30124,
    CmdFightMatch3DataCsReq = 30101,
    CmdFightMatch3TurnEndScNotify = 30130,
    CmdFightMatch3StartCountDownScNotify = 30158,
    CmdFightMatch3SwapScRsp = 30197,
    CmdFightMatch3ForceUpdateNotify = 30114,
    CmdFightMatch3DataScRsp = 30168,
    CmdFightMatch3OpponentDataScNotify = 30176,
    CmdFightMatch3ChatScRsp = 30111,
}
impl CmdFightMathc3Type {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdFightMathc3Type::None => "CmdFightMathc3TypeNone",
            CmdFightMathc3Type::CmdFightMatch3ChatCsReq => "CmdFightMatch3ChatCsReq",
            CmdFightMathc3Type::CmdFightMatch3ChatScNotify => {
                "CmdFightMatch3ChatScNotify"
            }
            CmdFightMathc3Type::CmdFightMatch3SwapCsReq => "CmdFightMatch3SwapCsReq",
            CmdFightMathc3Type::CmdFightMatch3TurnStartScNotify => {
                "CmdFightMatch3TurnStartScNotify"
            }
            CmdFightMathc3Type::CmdFightMatch3DataCsReq => "CmdFightMatch3DataCsReq",
            CmdFightMathc3Type::CmdFightMatch3TurnEndScNotify => {
                "CmdFightMatch3TurnEndScNotify"
            }
            CmdFightMathc3Type::CmdFightMatch3StartCountDownScNotify => {
                "CmdFightMatch3StartCountDownScNotify"
            }
            CmdFightMathc3Type::CmdFightMatch3SwapScRsp => "CmdFightMatch3SwapScRsp",
            CmdFightMathc3Type::CmdFightMatch3ForceUpdateNotify => {
                "CmdFightMatch3ForceUpdateNotify"
            }
            CmdFightMathc3Type::CmdFightMatch3DataScRsp => "CmdFightMatch3DataScRsp",
            CmdFightMathc3Type::CmdFightMatch3OpponentDataScNotify => {
                "CmdFightMatch3OpponentDataScNotify"
            }
            CmdFightMathc3Type::CmdFightMatch3ChatScRsp => "CmdFightMatch3ChatScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdFightMathc3TypeNone" => Some(Self::None),
            "CmdFightMatch3ChatCsReq" => Some(Self::CmdFightMatch3ChatCsReq),
            "CmdFightMatch3ChatScNotify" => Some(Self::CmdFightMatch3ChatScNotify),
            "CmdFightMatch3SwapCsReq" => Some(Self::CmdFightMatch3SwapCsReq),
            "CmdFightMatch3TurnStartScNotify" => {
                Some(Self::CmdFightMatch3TurnStartScNotify)
            }
            "CmdFightMatch3DataCsReq" => Some(Self::CmdFightMatch3DataCsReq),
            "CmdFightMatch3TurnEndScNotify" => Some(Self::CmdFightMatch3TurnEndScNotify),
            "CmdFightMatch3StartCountDownScNotify" => {
                Some(Self::CmdFightMatch3StartCountDownScNotify)
            }
            "CmdFightMatch3SwapScRsp" => Some(Self::CmdFightMatch3SwapScRsp),
            "CmdFightMatch3ForceUpdateNotify" => {
                Some(Self::CmdFightMatch3ForceUpdateNotify)
            }
            "CmdFightMatch3DataScRsp" => Some(Self::CmdFightMatch3DataScRsp),
            "CmdFightMatch3OpponentDataScNotify" => {
                Some(Self::CmdFightMatch3OpponentDataScNotify)
            }
            "CmdFightMatch3ChatScRsp" => Some(Self::CmdFightMatch3ChatScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dgfcbofaoia {
    Match3StateIdle = 0,
    Match3StateStart = 1,
    Match3StateMatch = 2,
    Match3StateGame = 3,
    Match3StateHalftime = 4,
    Match3StateOver = 5,
}
impl Dgfcbofaoia {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Dgfcbofaoia::Match3StateIdle => "MATCH3_STATE_IDLE",
            Dgfcbofaoia::Match3StateStart => "MATCH3_STATE_START",
            Dgfcbofaoia::Match3StateMatch => "MATCH3_STATE_MATCH",
            Dgfcbofaoia::Match3StateGame => "MATCH3_STATE_GAME",
            Dgfcbofaoia::Match3StateHalftime => "MATCH3_STATE_HALFTIME",
            Dgfcbofaoia::Match3StateOver => "MATCH3_STATE_OVER",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MATCH3_STATE_IDLE" => Some(Self::Match3StateIdle),
            "MATCH3_STATE_START" => Some(Self::Match3StateStart),
            "MATCH3_STATE_MATCH" => Some(Self::Match3StateMatch),
            "MATCH3_STATE_GAME" => Some(Self::Match3StateGame),
            "MATCH3_STATE_HALFTIME" => Some(Self::Match3StateHalftime),
            "MATCH3_STATE_OVER" => Some(Self::Match3StateOver),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nppnfppenmc {
    Match3PlayerStateAlive = 0,
    Match3PlayerStateDying = 1,
    Match3PlayerStateDead = 2,
    Match3PlayerStateLeave = 3,
}
impl Nppnfppenmc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Nppnfppenmc::Match3PlayerStateAlive => "MATCH3_PLAYER_STATE_ALIVE",
            Nppnfppenmc::Match3PlayerStateDying => "MATCH3_PLAYER_STATE_DYING",
            Nppnfppenmc::Match3PlayerStateDead => "MATCH3_PLAYER_STATE_DEAD",
            Nppnfppenmc::Match3PlayerStateLeave => "MATCH3_PLAYER_STATE_LEAVE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MATCH3_PLAYER_STATE_ALIVE" => Some(Self::Match3PlayerStateAlive),
            "MATCH3_PLAYER_STATE_DYING" => Some(Self::Match3PlayerStateDying),
            "MATCH3_PLAYER_STATE_DEAD" => Some(Self::Match3PlayerStateDead),
            "MATCH3_PLAYER_STATE_LEAVE" => Some(Self::Match3PlayerStateLeave),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bfilliobmfn {
    EventBegin = 0,
    EventBreak = 1,
    EventFall = 2,
    EventRefresh = 3,
    EventBirdSkill = 4,
    EventEnv = 5,
    EventShuffle = 6,
    EventSettleTag = 7,
}
impl Bfilliobmfn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Bfilliobmfn::EventBegin => "EVENT_BEGIN",
            Bfilliobmfn::EventBreak => "EVENT_BREAK",
            Bfilliobmfn::EventFall => "EVENT_FALL",
            Bfilliobmfn::EventRefresh => "EVENT_REFRESH",
            Bfilliobmfn::EventBirdSkill => "EVENT_BIRD_SKILL",
            Bfilliobmfn::EventEnv => "EVENT_ENV",
            Bfilliobmfn::EventShuffle => "EVENT_SHUFFLE",
            Bfilliobmfn::EventSettleTag => "EVENT_SETTLE_TAG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EVENT_BEGIN" => Some(Self::EventBegin),
            "EVENT_BREAK" => Some(Self::EventBreak),
            "EVENT_FALL" => Some(Self::EventFall),
            "EVENT_REFRESH" => Some(Self::EventRefresh),
            "EVENT_BIRD_SKILL" => Some(Self::EventBirdSkill),
            "EVENT_ENV" => Some(Self::EventEnv),
            "EVENT_SHUFFLE" => Some(Self::EventShuffle),
            "EVENT_SETTLE_TAG" => Some(Self::EventSettleTag),
            _ => None,
        }
    }
}
/// Obf: EBLNKOEFMJC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFriendType {
    None = 0,
    CmdGetPlatformPlayerInfoCsReq = 2913,
    CmdGetFriendRecommendListInfoCsReq = 2923,
    CmdGetPlayerDetailInfoCsReq = 2958,
    CmdAddBlacklistScRsp = 2939,
    CmdGetCurAssistCsReq = 2919,
    CmdSetFriendRemarkNameScRsp = 2991,
    CmdGetFriendChallengeDetailCsReq = 2955,
    CmdSyncApplyFriendScNotify = 2928,
    CmdGetFriendChallengeDetailScRsp = 2985,
    CmdGetFriendBattleRecordDetailCsReq = 2960,
    CmdSetAssistCsReq = 2981,
    CmdApplyFriendCsReq = 2997,
    CmdSearchPlayerScRsp = 2920,
    CmdDeleteFriendScRsp = 2922,
    CmdGetFriendDevelopmentInfoScRsp = 2907,
    CmdGetFriendChallengeLineupScRsp = 2990,
    CmdCurAssistChangedNotify = 2957,
    CmdReportPlayerCsReq = 2918,
    CmdSetAssistScRsp = 2938,
    CmdGetFriendDevelopmentInfoCsReq = 2963,
    CmdGetAssistListScRsp = 2970,
    CmdSyncDeleteFriendScNotify = 2947,
    CmdAddBlacklistCsReq = 2980,
    CmdHandleFriendScRsp = 2905,
    CmdGetCurAssistScRsp = 2982,
    CmdGetAssistHistoryScRsp = 2941,
    CmdSearchPlayerCsReq = 2969,
    CmdGetFriendApplyListInfoCsReq = 2930,
    CmdSetForbidOtherApplyFriendCsReq = 2929,
    CmdHandleFriendCsReq = 2911,
    CmdNewAssistHistoryNotify = 2973,
    CmdGetFriendListInfoScRsp = 2968,
    CmdGetAssistListCsReq = 2992,
    CmdDeleteBlacklistCsReq = 2950,
    CmdGetFriendBattleRecordDetailScRsp = 2926,
    CmdGetFriendChallengeLineupCsReq = 2961,
    CmdGetPlatformPlayerInfoScRsp = 2908,
    CmdTakeAssistRewardScRsp = 2903,
    CmdTakeAssistRewardCsReq = 2940,
    CmdGetFriendAssistListScRsp = 2954,
    CmdGetFriendRecommendListInfoScRsp = 2912,
    CmdGetAssistHistoryCsReq = 2959,
    CmdGetPlayerDetailInfoScRsp = 2924,
    CmdGetFriendAssistListCsReq = 2906,
    CmdGetFriendLoginInfoScRsp = 2967,
    CmdGetFriendApplyListInfoScRsp = 2956,
    CmdSyncAddBlacklistScNotify = 2996,
    CmdDeleteBlacklistScRsp = 2948,
    CmdApplyFriendScRsp = 2976,
    CmdSetForbidOtherApplyFriendScRsp = 2964,
    CmdReportPlayerScRsp = 2995,
    CmdSetFriendMarkScRsp = 2977,
    CmdGetFriendLoginInfoCsReq = 2978,
    CmdGetFriendListInfoCsReq = 2901,
    CmdSetFriendMarkCsReq = 2915,
    CmdDeleteFriendCsReq = 2949,
    CmdSyncHandleFriendScNotify = 2914,
    CmdSetFriendRemarkNameCsReq = 2917,
}
impl CmdFriendType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdFriendType::None => "CmdFriendTypeNone",
            CmdFriendType::CmdGetPlatformPlayerInfoCsReq => {
                "CmdGetPlatformPlayerInfoCsReq"
            }
            CmdFriendType::CmdGetFriendRecommendListInfoCsReq => {
                "CmdGetFriendRecommendListInfoCsReq"
            }
            CmdFriendType::CmdGetPlayerDetailInfoCsReq => "CmdGetPlayerDetailInfoCsReq",
            CmdFriendType::CmdAddBlacklistScRsp => "CmdAddBlacklistScRsp",
            CmdFriendType::CmdGetCurAssistCsReq => "CmdGetCurAssistCsReq",
            CmdFriendType::CmdSetFriendRemarkNameScRsp => "CmdSetFriendRemarkNameScRsp",
            CmdFriendType::CmdGetFriendChallengeDetailCsReq => {
                "CmdGetFriendChallengeDetailCsReq"
            }
            CmdFriendType::CmdSyncApplyFriendScNotify => "CmdSyncApplyFriendScNotify",
            CmdFriendType::CmdGetFriendChallengeDetailScRsp => {
                "CmdGetFriendChallengeDetailScRsp"
            }
            CmdFriendType::CmdGetFriendBattleRecordDetailCsReq => {
                "CmdGetFriendBattleRecordDetailCsReq"
            }
            CmdFriendType::CmdSetAssistCsReq => "CmdSetAssistCsReq",
            CmdFriendType::CmdApplyFriendCsReq => "CmdApplyFriendCsReq",
            CmdFriendType::CmdSearchPlayerScRsp => "CmdSearchPlayerScRsp",
            CmdFriendType::CmdDeleteFriendScRsp => "CmdDeleteFriendScRsp",
            CmdFriendType::CmdGetFriendDevelopmentInfoScRsp => {
                "CmdGetFriendDevelopmentInfoScRsp"
            }
            CmdFriendType::CmdGetFriendChallengeLineupScRsp => {
                "CmdGetFriendChallengeLineupScRsp"
            }
            CmdFriendType::CmdCurAssistChangedNotify => "CmdCurAssistChangedNotify",
            CmdFriendType::CmdReportPlayerCsReq => "CmdReportPlayerCsReq",
            CmdFriendType::CmdSetAssistScRsp => "CmdSetAssistScRsp",
            CmdFriendType::CmdGetFriendDevelopmentInfoCsReq => {
                "CmdGetFriendDevelopmentInfoCsReq"
            }
            CmdFriendType::CmdGetAssistListScRsp => "CmdGetAssistListScRsp",
            CmdFriendType::CmdSyncDeleteFriendScNotify => "CmdSyncDeleteFriendScNotify",
            CmdFriendType::CmdAddBlacklistCsReq => "CmdAddBlacklistCsReq",
            CmdFriendType::CmdHandleFriendScRsp => "CmdHandleFriendScRsp",
            CmdFriendType::CmdGetCurAssistScRsp => "CmdGetCurAssistScRsp",
            CmdFriendType::CmdGetAssistHistoryScRsp => "CmdGetAssistHistoryScRsp",
            CmdFriendType::CmdSearchPlayerCsReq => "CmdSearchPlayerCsReq",
            CmdFriendType::CmdGetFriendApplyListInfoCsReq => {
                "CmdGetFriendApplyListInfoCsReq"
            }
            CmdFriendType::CmdSetForbidOtherApplyFriendCsReq => {
                "CmdSetForbidOtherApplyFriendCsReq"
            }
            CmdFriendType::CmdHandleFriendCsReq => "CmdHandleFriendCsReq",
            CmdFriendType::CmdNewAssistHistoryNotify => "CmdNewAssistHistoryNotify",
            CmdFriendType::CmdGetFriendListInfoScRsp => "CmdGetFriendListInfoScRsp",
            CmdFriendType::CmdGetAssistListCsReq => "CmdGetAssistListCsReq",
            CmdFriendType::CmdDeleteBlacklistCsReq => "CmdDeleteBlacklistCsReq",
            CmdFriendType::CmdGetFriendBattleRecordDetailScRsp => {
                "CmdGetFriendBattleRecordDetailScRsp"
            }
            CmdFriendType::CmdGetFriendChallengeLineupCsReq => {
                "CmdGetFriendChallengeLineupCsReq"
            }
            CmdFriendType::CmdGetPlatformPlayerInfoScRsp => {
                "CmdGetPlatformPlayerInfoScRsp"
            }
            CmdFriendType::CmdTakeAssistRewardScRsp => "CmdTakeAssistRewardScRsp",
            CmdFriendType::CmdTakeAssistRewardCsReq => "CmdTakeAssistRewardCsReq",
            CmdFriendType::CmdGetFriendAssistListScRsp => "CmdGetFriendAssistListScRsp",
            CmdFriendType::CmdGetFriendRecommendListInfoScRsp => {
                "CmdGetFriendRecommendListInfoScRsp"
            }
            CmdFriendType::CmdGetAssistHistoryCsReq => "CmdGetAssistHistoryCsReq",
            CmdFriendType::CmdGetPlayerDetailInfoScRsp => "CmdGetPlayerDetailInfoScRsp",
            CmdFriendType::CmdGetFriendAssistListCsReq => "CmdGetFriendAssistListCsReq",
            CmdFriendType::CmdGetFriendLoginInfoScRsp => "CmdGetFriendLoginInfoScRsp",
            CmdFriendType::CmdGetFriendApplyListInfoScRsp => {
                "CmdGetFriendApplyListInfoScRsp"
            }
            CmdFriendType::CmdSyncAddBlacklistScNotify => "CmdSyncAddBlacklistScNotify",
            CmdFriendType::CmdDeleteBlacklistScRsp => "CmdDeleteBlacklistScRsp",
            CmdFriendType::CmdApplyFriendScRsp => "CmdApplyFriendScRsp",
            CmdFriendType::CmdSetForbidOtherApplyFriendScRsp => {
                "CmdSetForbidOtherApplyFriendScRsp"
            }
            CmdFriendType::CmdReportPlayerScRsp => "CmdReportPlayerScRsp",
            CmdFriendType::CmdSetFriendMarkScRsp => "CmdSetFriendMarkScRsp",
            CmdFriendType::CmdGetFriendLoginInfoCsReq => "CmdGetFriendLoginInfoCsReq",
            CmdFriendType::CmdGetFriendListInfoCsReq => "CmdGetFriendListInfoCsReq",
            CmdFriendType::CmdSetFriendMarkCsReq => "CmdSetFriendMarkCsReq",
            CmdFriendType::CmdDeleteFriendCsReq => "CmdDeleteFriendCsReq",
            CmdFriendType::CmdSyncHandleFriendScNotify => "CmdSyncHandleFriendScNotify",
            CmdFriendType::CmdSetFriendRemarkNameCsReq => "CmdSetFriendRemarkNameCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdFriendTypeNone" => Some(Self::None),
            "CmdGetPlatformPlayerInfoCsReq" => Some(Self::CmdGetPlatformPlayerInfoCsReq),
            "CmdGetFriendRecommendListInfoCsReq" => {
                Some(Self::CmdGetFriendRecommendListInfoCsReq)
            }
            "CmdGetPlayerDetailInfoCsReq" => Some(Self::CmdGetPlayerDetailInfoCsReq),
            "CmdAddBlacklistScRsp" => Some(Self::CmdAddBlacklistScRsp),
            "CmdGetCurAssistCsReq" => Some(Self::CmdGetCurAssistCsReq),
            "CmdSetFriendRemarkNameScRsp" => Some(Self::CmdSetFriendRemarkNameScRsp),
            "CmdGetFriendChallengeDetailCsReq" => {
                Some(Self::CmdGetFriendChallengeDetailCsReq)
            }
            "CmdSyncApplyFriendScNotify" => Some(Self::CmdSyncApplyFriendScNotify),
            "CmdGetFriendChallengeDetailScRsp" => {
                Some(Self::CmdGetFriendChallengeDetailScRsp)
            }
            "CmdGetFriendBattleRecordDetailCsReq" => {
                Some(Self::CmdGetFriendBattleRecordDetailCsReq)
            }
            "CmdSetAssistCsReq" => Some(Self::CmdSetAssistCsReq),
            "CmdApplyFriendCsReq" => Some(Self::CmdApplyFriendCsReq),
            "CmdSearchPlayerScRsp" => Some(Self::CmdSearchPlayerScRsp),
            "CmdDeleteFriendScRsp" => Some(Self::CmdDeleteFriendScRsp),
            "CmdGetFriendDevelopmentInfoScRsp" => {
                Some(Self::CmdGetFriendDevelopmentInfoScRsp)
            }
            "CmdGetFriendChallengeLineupScRsp" => {
                Some(Self::CmdGetFriendChallengeLineupScRsp)
            }
            "CmdCurAssistChangedNotify" => Some(Self::CmdCurAssistChangedNotify),
            "CmdReportPlayerCsReq" => Some(Self::CmdReportPlayerCsReq),
            "CmdSetAssistScRsp" => Some(Self::CmdSetAssistScRsp),
            "CmdGetFriendDevelopmentInfoCsReq" => {
                Some(Self::CmdGetFriendDevelopmentInfoCsReq)
            }
            "CmdGetAssistListScRsp" => Some(Self::CmdGetAssistListScRsp),
            "CmdSyncDeleteFriendScNotify" => Some(Self::CmdSyncDeleteFriendScNotify),
            "CmdAddBlacklistCsReq" => Some(Self::CmdAddBlacklistCsReq),
            "CmdHandleFriendScRsp" => Some(Self::CmdHandleFriendScRsp),
            "CmdGetCurAssistScRsp" => Some(Self::CmdGetCurAssistScRsp),
            "CmdGetAssistHistoryScRsp" => Some(Self::CmdGetAssistHistoryScRsp),
            "CmdSearchPlayerCsReq" => Some(Self::CmdSearchPlayerCsReq),
            "CmdGetFriendApplyListInfoCsReq" => {
                Some(Self::CmdGetFriendApplyListInfoCsReq)
            }
            "CmdSetForbidOtherApplyFriendCsReq" => {
                Some(Self::CmdSetForbidOtherApplyFriendCsReq)
            }
            "CmdHandleFriendCsReq" => Some(Self::CmdHandleFriendCsReq),
            "CmdNewAssistHistoryNotify" => Some(Self::CmdNewAssistHistoryNotify),
            "CmdGetFriendListInfoScRsp" => Some(Self::CmdGetFriendListInfoScRsp),
            "CmdGetAssistListCsReq" => Some(Self::CmdGetAssistListCsReq),
            "CmdDeleteBlacklistCsReq" => Some(Self::CmdDeleteBlacklistCsReq),
            "CmdGetFriendBattleRecordDetailScRsp" => {
                Some(Self::CmdGetFriendBattleRecordDetailScRsp)
            }
            "CmdGetFriendChallengeLineupCsReq" => {
                Some(Self::CmdGetFriendChallengeLineupCsReq)
            }
            "CmdGetPlatformPlayerInfoScRsp" => Some(Self::CmdGetPlatformPlayerInfoScRsp),
            "CmdTakeAssistRewardScRsp" => Some(Self::CmdTakeAssistRewardScRsp),
            "CmdTakeAssistRewardCsReq" => Some(Self::CmdTakeAssistRewardCsReq),
            "CmdGetFriendAssistListScRsp" => Some(Self::CmdGetFriendAssistListScRsp),
            "CmdGetFriendRecommendListInfoScRsp" => {
                Some(Self::CmdGetFriendRecommendListInfoScRsp)
            }
            "CmdGetAssistHistoryCsReq" => Some(Self::CmdGetAssistHistoryCsReq),
            "CmdGetPlayerDetailInfoScRsp" => Some(Self::CmdGetPlayerDetailInfoScRsp),
            "CmdGetFriendAssistListCsReq" => Some(Self::CmdGetFriendAssistListCsReq),
            "CmdGetFriendLoginInfoScRsp" => Some(Self::CmdGetFriendLoginInfoScRsp),
            "CmdGetFriendApplyListInfoScRsp" => {
                Some(Self::CmdGetFriendApplyListInfoScRsp)
            }
            "CmdSyncAddBlacklistScNotify" => Some(Self::CmdSyncAddBlacklistScNotify),
            "CmdDeleteBlacklistScRsp" => Some(Self::CmdDeleteBlacklistScRsp),
            "CmdApplyFriendScRsp" => Some(Self::CmdApplyFriendScRsp),
            "CmdSetForbidOtherApplyFriendScRsp" => {
                Some(Self::CmdSetForbidOtherApplyFriendScRsp)
            }
            "CmdReportPlayerScRsp" => Some(Self::CmdReportPlayerScRsp),
            "CmdSetFriendMarkScRsp" => Some(Self::CmdSetFriendMarkScRsp),
            "CmdGetFriendLoginInfoCsReq" => Some(Self::CmdGetFriendLoginInfoCsReq),
            "CmdGetFriendListInfoCsReq" => Some(Self::CmdGetFriendListInfoCsReq),
            "CmdSetFriendMarkCsReq" => Some(Self::CmdSetFriendMarkCsReq),
            "CmdDeleteFriendCsReq" => Some(Self::CmdDeleteFriendCsReq),
            "CmdSyncHandleFriendScNotify" => Some(Self::CmdSyncHandleFriendScNotify),
            "CmdSetFriendRemarkNameCsReq" => Some(Self::CmdSetFriendRemarkNameCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FriendOnlineStatus {
    Offline = 0,
    Online = 1,
}
impl FriendOnlineStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            FriendOnlineStatus::Offline => "FRIEND_ONLINE_STATUS_OFFLINE",
            FriendOnlineStatus::Online => "FRIEND_ONLINE_STATUS_ONLINE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FRIEND_ONLINE_STATUS_OFFLINE" => Some(Self::Offline),
            "FRIEND_ONLINE_STATUS_ONLINE" => Some(Self::Online),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FriendApplySource {
    None = 0,
    Search = 1,
    Recommend = 2,
    Assist = 3,
    RecommendAssist = 4,
    PsnFriend = 5,
    AssistReward = 6,
}
impl FriendApplySource {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            FriendApplySource::None => "FRIEND_APPLY_SOURCE_NONE",
            FriendApplySource::Search => "FRIEND_APPLY_SOURCE_SEARCH",
            FriendApplySource::Recommend => "FRIEND_APPLY_SOURCE_RECOMMEND",
            FriendApplySource::Assist => "FRIEND_APPLY_SOURCE_ASSIST",
            FriendApplySource::RecommendAssist => "FRIEND_APPLY_SOURCE_RECOMMEND_ASSIST",
            FriendApplySource::PsnFriend => "FRIEND_APPLY_SOURCE_PSN_FRIEND",
            FriendApplySource::AssistReward => "FRIEND_APPLY_SOURCE_ASSIST_REWARD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FRIEND_APPLY_SOURCE_NONE" => Some(Self::None),
            "FRIEND_APPLY_SOURCE_SEARCH" => Some(Self::Search),
            "FRIEND_APPLY_SOURCE_RECOMMEND" => Some(Self::Recommend),
            "FRIEND_APPLY_SOURCE_ASSIST" => Some(Self::Assist),
            "FRIEND_APPLY_SOURCE_RECOMMEND_ASSIST" => Some(Self::RecommendAssist),
            "FRIEND_APPLY_SOURCE_PSN_FRIEND" => Some(Self::PsnFriend),
            "FRIEND_APPLY_SOURCE_ASSIST_REWARD" => Some(Self::AssistReward),
            _ => None,
        }
    }
}
/// Obf: KNKDEJPLOGG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdGachaType {
    None = 0,
    CmdGetGachaInfoScRsp = 1968,
    CmdExchangeGachaCeilingCsReq = 1997,
    CmdGetGachaInfoCsReq = 1901,
    CmdDoGachaCsReq = 1958,
    CmdDoGachaScRsp = 1924,
    CmdGetGachaCeilingScRsp = 1956,
    CmdExchangeGachaCeilingScRsp = 1976,
    CmdGetGachaCeilingCsReq = 1930,
}
impl CmdGachaType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdGachaType::None => "CmdGachaTypeNone",
            CmdGachaType::CmdGetGachaInfoScRsp => "CmdGetGachaInfoScRsp",
            CmdGachaType::CmdExchangeGachaCeilingCsReq => "CmdExchangeGachaCeilingCsReq",
            CmdGachaType::CmdGetGachaInfoCsReq => "CmdGetGachaInfoCsReq",
            CmdGachaType::CmdDoGachaCsReq => "CmdDoGachaCsReq",
            CmdGachaType::CmdDoGachaScRsp => "CmdDoGachaScRsp",
            CmdGachaType::CmdGetGachaCeilingScRsp => "CmdGetGachaCeilingScRsp",
            CmdGachaType::CmdExchangeGachaCeilingScRsp => "CmdExchangeGachaCeilingScRsp",
            CmdGachaType::CmdGetGachaCeilingCsReq => "CmdGetGachaCeilingCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdGachaTypeNone" => Some(Self::None),
            "CmdGetGachaInfoScRsp" => Some(Self::CmdGetGachaInfoScRsp),
            "CmdExchangeGachaCeilingCsReq" => Some(Self::CmdExchangeGachaCeilingCsReq),
            "CmdGetGachaInfoCsReq" => Some(Self::CmdGetGachaInfoCsReq),
            "CmdDoGachaCsReq" => Some(Self::CmdDoGachaCsReq),
            "CmdDoGachaScRsp" => Some(Self::CmdDoGachaScRsp),
            "CmdGetGachaCeilingScRsp" => Some(Self::CmdGetGachaCeilingScRsp),
            "CmdExchangeGachaCeilingScRsp" => Some(Self::CmdExchangeGachaCeilingScRsp),
            "CmdGetGachaCeilingCsReq" => Some(Self::CmdGetGachaCeilingCsReq),
            _ => None,
        }
    }
}
/// Obf: LGLAJCBOAMK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdHeartdialType {
    None = 0,
    CmdHeartDialTraceScriptScRsp = 6305,
    CmdFinishEmotionDialoguePerformanceCsReq = 6397,
    CmdGetHeartDialInfoScRsp = 6368,
    CmdSubmitEmotionItemCsReq = 6330,
    CmdSubmitEmotionItemScRsp = 6356,
    CmdHeartDialTraceScriptCsReq = 6311,
    CmdHeartDialScriptChangeScNotify = 6328,
    CmdGetHeartDialInfoCsReq = 6301,
    CmdChangeScriptEmotionCsReq = 6358,
    CmdChangeScriptEmotionScRsp = 6324,
    CmdFinishEmotionDialoguePerformanceScRsp = 6376,
}
impl CmdHeartdialType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdHeartdialType::None => "CmdHeartdialTypeNone",
            CmdHeartdialType::CmdHeartDialTraceScriptScRsp => {
                "CmdHeartDialTraceScriptScRsp"
            }
            CmdHeartdialType::CmdFinishEmotionDialoguePerformanceCsReq => {
                "CmdFinishEmotionDialoguePerformanceCsReq"
            }
            CmdHeartdialType::CmdGetHeartDialInfoScRsp => "CmdGetHeartDialInfoScRsp",
            CmdHeartdialType::CmdSubmitEmotionItemCsReq => "CmdSubmitEmotionItemCsReq",
            CmdHeartdialType::CmdSubmitEmotionItemScRsp => "CmdSubmitEmotionItemScRsp",
            CmdHeartdialType::CmdHeartDialTraceScriptCsReq => {
                "CmdHeartDialTraceScriptCsReq"
            }
            CmdHeartdialType::CmdHeartDialScriptChangeScNotify => {
                "CmdHeartDialScriptChangeScNotify"
            }
            CmdHeartdialType::CmdGetHeartDialInfoCsReq => "CmdGetHeartDialInfoCsReq",
            CmdHeartdialType::CmdChangeScriptEmotionCsReq => {
                "CmdChangeScriptEmotionCsReq"
            }
            CmdHeartdialType::CmdChangeScriptEmotionScRsp => {
                "CmdChangeScriptEmotionScRsp"
            }
            CmdHeartdialType::CmdFinishEmotionDialoguePerformanceScRsp => {
                "CmdFinishEmotionDialoguePerformanceScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdHeartdialTypeNone" => Some(Self::None),
            "CmdHeartDialTraceScriptScRsp" => Some(Self::CmdHeartDialTraceScriptScRsp),
            "CmdFinishEmotionDialoguePerformanceCsReq" => {
                Some(Self::CmdFinishEmotionDialoguePerformanceCsReq)
            }
            "CmdGetHeartDialInfoScRsp" => Some(Self::CmdGetHeartDialInfoScRsp),
            "CmdSubmitEmotionItemCsReq" => Some(Self::CmdSubmitEmotionItemCsReq),
            "CmdSubmitEmotionItemScRsp" => Some(Self::CmdSubmitEmotionItemScRsp),
            "CmdHeartDialTraceScriptCsReq" => Some(Self::CmdHeartDialTraceScriptCsReq),
            "CmdHeartDialScriptChangeScNotify" => {
                Some(Self::CmdHeartDialScriptChangeScNotify)
            }
            "CmdGetHeartDialInfoCsReq" => Some(Self::CmdGetHeartDialInfoCsReq),
            "CmdChangeScriptEmotionCsReq" => Some(Self::CmdChangeScriptEmotionCsReq),
            "CmdChangeScriptEmotionScRsp" => Some(Self::CmdChangeScriptEmotionScRsp),
            "CmdFinishEmotionDialoguePerformanceScRsp" => {
                Some(Self::CmdFinishEmotionDialoguePerformanceScRsp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bfdflhekfgk {
    HeartDialEmotionTypePeace = 0,
    HeartDialEmotionTypeAnger = 1,
    HeartDialEmotionTypeHappy = 2,
    HeartDialEmotionTypeSad = 3,
}
impl Bfdflhekfgk {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Bfdflhekfgk::HeartDialEmotionTypePeace => "HEART_DIAL_EMOTION_TYPE_PEACE",
            Bfdflhekfgk::HeartDialEmotionTypeAnger => "HEART_DIAL_EMOTION_TYPE_ANGER",
            Bfdflhekfgk::HeartDialEmotionTypeHappy => "HEART_DIAL_EMOTION_TYPE_HAPPY",
            Bfdflhekfgk::HeartDialEmotionTypeSad => "HEART_DIAL_EMOTION_TYPE_SAD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HEART_DIAL_EMOTION_TYPE_PEACE" => Some(Self::HeartDialEmotionTypePeace),
            "HEART_DIAL_EMOTION_TYPE_ANGER" => Some(Self::HeartDialEmotionTypeAnger),
            "HEART_DIAL_EMOTION_TYPE_HAPPY" => Some(Self::HeartDialEmotionTypeHappy),
            "HEART_DIAL_EMOTION_TYPE_SAD" => Some(Self::HeartDialEmotionTypeSad),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Afefbpablhm {
    HeartDialStepTypeMissing = 0,
    HeartDialStepTypeFull = 1,
    HeartDialStepTypeLock = 2,
    HeartDialStepTypeUnlock = 3,
    HeartDialStepTypeNormal = 4,
    HeartDialStepTypeControl = 5,
}
impl Afefbpablhm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Afefbpablhm::HeartDialStepTypeMissing => "HEART_DIAL_STEP_TYPE_MISSING",
            Afefbpablhm::HeartDialStepTypeFull => "HEART_DIAL_STEP_TYPE_FULL",
            Afefbpablhm::HeartDialStepTypeLock => "HEART_DIAL_STEP_TYPE_LOCK",
            Afefbpablhm::HeartDialStepTypeUnlock => "HEART_DIAL_STEP_TYPE_UNLOCK",
            Afefbpablhm::HeartDialStepTypeNormal => "HEART_DIAL_STEP_TYPE_NORMAL",
            Afefbpablhm::HeartDialStepTypeControl => "HEART_DIAL_STEP_TYPE_CONTROL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HEART_DIAL_STEP_TYPE_MISSING" => Some(Self::HeartDialStepTypeMissing),
            "HEART_DIAL_STEP_TYPE_FULL" => Some(Self::HeartDialStepTypeFull),
            "HEART_DIAL_STEP_TYPE_LOCK" => Some(Self::HeartDialStepTypeLock),
            "HEART_DIAL_STEP_TYPE_UNLOCK" => Some(Self::HeartDialStepTypeUnlock),
            "HEART_DIAL_STEP_TYPE_NORMAL" => Some(Self::HeartDialStepTypeNormal),
            "HEART_DIAL_STEP_TYPE_CONTROL" => Some(Self::HeartDialStepTypeControl),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ooehgmemkoi {
    HeartDialUnlockStatusLock = 0,
    HeartDialUnlockStatusUnlockSingle = 1,
    HeartDialUnlockStatusUnlockAll = 2,
}
impl Ooehgmemkoi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ooehgmemkoi::HeartDialUnlockStatusLock => "HEART_DIAL_UNLOCK_STATUS_LOCK",
            Ooehgmemkoi::HeartDialUnlockStatusUnlockSingle => {
                "HEART_DIAL_UNLOCK_STATUS_UNLOCK_SINGLE"
            }
            Ooehgmemkoi::HeartDialUnlockStatusUnlockAll => {
                "HEART_DIAL_UNLOCK_STATUS_UNLOCK_ALL"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HEART_DIAL_UNLOCK_STATUS_LOCK" => Some(Self::HeartDialUnlockStatusLock),
            "HEART_DIAL_UNLOCK_STATUS_UNLOCK_SINGLE" => {
                Some(Self::HeartDialUnlockStatusUnlockSingle)
            }
            "HEART_DIAL_UNLOCK_STATUS_UNLOCK_ALL" => {
                Some(Self::HeartDialUnlockStatusUnlockAll)
            }
            _ => None,
        }
    }
}
/// Obf: ONLOCFMPMMD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdHeliobusType {
    None = 0,
    CmdHeliobusInfoChangedScNotify = 5814,
    CmdHeliobusSnsCommentScRsp = 5811,
    CmdHeliobusStartRaidCsReq = 5891,
    CmdHeliobusSnsLikeScRsp = 5876,
    CmdHeliobusSnsReadCsReq = 5858,
    CmdHeliobusSelectSkillCsReq = 5880,
    CmdHeliobusUnlockSkillScNotify = 5847,
    CmdHeliobusEnterBattleScRsp = 5817,
    CmdHeliobusSnsCommentCsReq = 5828,
    CmdHeliobusUpgradeLevelScRsp = 5822,
    CmdHeliobusSnsPostCsReq = 5830,
    CmdHeliobusChallengeUpdateScNotify = 5895,
    CmdHeliobusSnsPostScRsp = 5856,
    CmdHeliobusSnsUpdateScNotify = 5805,
    CmdHeliobusLineupUpdateScNotify = 5850,
    CmdHeliobusSnsReadScRsp = 5824,
    CmdHeliobusStartRaidScRsp = 5818,
    CmdHeliobusSnsLikeCsReq = 5897,
    CmdHeliobusActivityDataScRsp = 5868,
    CmdHeliobusUpgradeLevelCsReq = 5849,
    CmdHeliobusSelectSkillScRsp = 5839,
    CmdHeliobusActivityDataCsReq = 5801,
    CmdHeliobusEnterBattleCsReq = 5812,
}
impl CmdHeliobusType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdHeliobusType::None => "CmdHeliobusTypeNone",
            CmdHeliobusType::CmdHeliobusInfoChangedScNotify => {
                "CmdHeliobusInfoChangedScNotify"
            }
            CmdHeliobusType::CmdHeliobusSnsCommentScRsp => "CmdHeliobusSnsCommentScRsp",
            CmdHeliobusType::CmdHeliobusStartRaidCsReq => "CmdHeliobusStartRaidCsReq",
            CmdHeliobusType::CmdHeliobusSnsLikeScRsp => "CmdHeliobusSnsLikeScRsp",
            CmdHeliobusType::CmdHeliobusSnsReadCsReq => "CmdHeliobusSnsReadCsReq",
            CmdHeliobusType::CmdHeliobusSelectSkillCsReq => "CmdHeliobusSelectSkillCsReq",
            CmdHeliobusType::CmdHeliobusUnlockSkillScNotify => {
                "CmdHeliobusUnlockSkillScNotify"
            }
            CmdHeliobusType::CmdHeliobusEnterBattleScRsp => "CmdHeliobusEnterBattleScRsp",
            CmdHeliobusType::CmdHeliobusSnsCommentCsReq => "CmdHeliobusSnsCommentCsReq",
            CmdHeliobusType::CmdHeliobusUpgradeLevelScRsp => {
                "CmdHeliobusUpgradeLevelScRsp"
            }
            CmdHeliobusType::CmdHeliobusSnsPostCsReq => "CmdHeliobusSnsPostCsReq",
            CmdHeliobusType::CmdHeliobusChallengeUpdateScNotify => {
                "CmdHeliobusChallengeUpdateScNotify"
            }
            CmdHeliobusType::CmdHeliobusSnsPostScRsp => "CmdHeliobusSnsPostScRsp",
            CmdHeliobusType::CmdHeliobusSnsUpdateScNotify => {
                "CmdHeliobusSnsUpdateScNotify"
            }
            CmdHeliobusType::CmdHeliobusLineupUpdateScNotify => {
                "CmdHeliobusLineupUpdateScNotify"
            }
            CmdHeliobusType::CmdHeliobusSnsReadScRsp => "CmdHeliobusSnsReadScRsp",
            CmdHeliobusType::CmdHeliobusStartRaidScRsp => "CmdHeliobusStartRaidScRsp",
            CmdHeliobusType::CmdHeliobusSnsLikeCsReq => "CmdHeliobusSnsLikeCsReq",
            CmdHeliobusType::CmdHeliobusActivityDataScRsp => {
                "CmdHeliobusActivityDataScRsp"
            }
            CmdHeliobusType::CmdHeliobusUpgradeLevelCsReq => {
                "CmdHeliobusUpgradeLevelCsReq"
            }
            CmdHeliobusType::CmdHeliobusSelectSkillScRsp => "CmdHeliobusSelectSkillScRsp",
            CmdHeliobusType::CmdHeliobusActivityDataCsReq => {
                "CmdHeliobusActivityDataCsReq"
            }
            CmdHeliobusType::CmdHeliobusEnterBattleCsReq => "CmdHeliobusEnterBattleCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdHeliobusTypeNone" => Some(Self::None),
            "CmdHeliobusInfoChangedScNotify" => {
                Some(Self::CmdHeliobusInfoChangedScNotify)
            }
            "CmdHeliobusSnsCommentScRsp" => Some(Self::CmdHeliobusSnsCommentScRsp),
            "CmdHeliobusStartRaidCsReq" => Some(Self::CmdHeliobusStartRaidCsReq),
            "CmdHeliobusSnsLikeScRsp" => Some(Self::CmdHeliobusSnsLikeScRsp),
            "CmdHeliobusSnsReadCsReq" => Some(Self::CmdHeliobusSnsReadCsReq),
            "CmdHeliobusSelectSkillCsReq" => Some(Self::CmdHeliobusSelectSkillCsReq),
            "CmdHeliobusUnlockSkillScNotify" => {
                Some(Self::CmdHeliobusUnlockSkillScNotify)
            }
            "CmdHeliobusEnterBattleScRsp" => Some(Self::CmdHeliobusEnterBattleScRsp),
            "CmdHeliobusSnsCommentCsReq" => Some(Self::CmdHeliobusSnsCommentCsReq),
            "CmdHeliobusUpgradeLevelScRsp" => Some(Self::CmdHeliobusUpgradeLevelScRsp),
            "CmdHeliobusSnsPostCsReq" => Some(Self::CmdHeliobusSnsPostCsReq),
            "CmdHeliobusChallengeUpdateScNotify" => {
                Some(Self::CmdHeliobusChallengeUpdateScNotify)
            }
            "CmdHeliobusSnsPostScRsp" => Some(Self::CmdHeliobusSnsPostScRsp),
            "CmdHeliobusSnsUpdateScNotify" => Some(Self::CmdHeliobusSnsUpdateScNotify),
            "CmdHeliobusLineupUpdateScNotify" => {
                Some(Self::CmdHeliobusLineupUpdateScNotify)
            }
            "CmdHeliobusSnsReadScRsp" => Some(Self::CmdHeliobusSnsReadScRsp),
            "CmdHeliobusStartRaidScRsp" => Some(Self::CmdHeliobusStartRaidScRsp),
            "CmdHeliobusSnsLikeCsReq" => Some(Self::CmdHeliobusSnsLikeCsReq),
            "CmdHeliobusActivityDataScRsp" => Some(Self::CmdHeliobusActivityDataScRsp),
            "CmdHeliobusUpgradeLevelCsReq" => Some(Self::CmdHeliobusUpgradeLevelCsReq),
            "CmdHeliobusSelectSkillScRsp" => Some(Self::CmdHeliobusSelectSkillScRsp),
            "CmdHeliobusActivityDataCsReq" => Some(Self::CmdHeliobusActivityDataCsReq),
            "CmdHeliobusEnterBattleCsReq" => Some(Self::CmdHeliobusEnterBattleCsReq),
            _ => None,
        }
    }
}
/// Obf: KMEAJJECJFD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdItemType {
    None = 0,
    CmdPromoteEquipmentScRsp = 524,
    CmdMarkItemCsReq = 559,
    CmdPromoteEquipmentCsReq = 558,
    CmdGetBagScRsp = 568,
    CmdExpUpEquipmentScRsp = 514,
    CmdRelicReforgeCsReq = 588,
    CmdExpUpEquipmentCsReq = 505,
    CmdDiscardRelicCsReq = 508,
    CmdAddRelicFilterPlanCsReq = 554,
    CmdGetMarkItemListCsReq = 519,
    CmdSetTurnFoodSwitchCsReq = 503,
    CmdUseItemCsReq = 597,
    CmdRankUpEquipmentCsReq = 528,
    CmdGetMarkItemListScRsp = 582,
    CmdGetRecyleTimeScRsp = 520,
    CmdComposeLimitNumUpdateNotify = 570,
    CmdSellItemScRsp = 512,
    CmdDiscardRelicScRsp = 578,
    CmdRechargeSuccNotify = 517,
    CmdUseItemScRsp = 576,
    CmdExpUpRelicCsReq = 547,
    CmdAddEquipmentScNotify = 548,
    CmdDestroyItemScRsp = 538,
    CmdDestroyItemCsReq = 581,
    CmdMarkRelicFilterPlanCsReq = 526,
    CmdModifyRelicFilterPlanScRsp = 555,
    CmdGetRelicFilterPlanCsReq = 577,
    CmdGetRelicFilterPlanScRsp = 506,
    CmdGetBagCsReq = 501,
    CmdRelicReforgeScRsp = 589,
    CmdRelicReforgeConfirmCsReq = 565,
    CmdLockRelicCsReq = 539,
    CmdRelicFilterPlanClearNameScNotify = 507,
    CmdMarkItemScRsp = 541,
    CmdExchangeHcoinScRsp = 518,
    CmdGeneralVirtualItemDataNotify = 513,
    CmdDeleteRelicFilterPlanScRsp = 560,
    CmdGetRecyleTimeCsReq = 569,
    CmdSetTurnFoodSwitchScRsp = 557,
    CmdComposeSelectedRelicCsReq = 595,
    CmdRankUpEquipmentScRsp = 511,
    CmdLockEquipmentCsReq = 530,
    CmdSellItemCsReq = 523,
    CmdAddRelicFilterPlanScRsp = 561,
    CmdDeleteRelicFilterPlanCsReq = 585,
    CmdSyncTurnFoodNotify = 540,
    CmdExchangeHcoinCsReq = 591,
    CmdMarkRelicFilterPlanScRsp = 563,
    CmdLockEquipmentScRsp = 556,
    CmdRelicReforgeConfirmScRsp = 574,
    CmdCancelMarkItemNotify = 573,
    CmdComposeItemCsReq = 549,
    CmdComposeSelectedRelicScRsp = 550,
    CmdExpUpRelicScRsp = 580,
    CmdComposeLimitNumCompleteNotify = 592,
    CmdModifyRelicFilterPlanCsReq = 590,
    CmdComposeItemScRsp = 522,
    CmdLockRelicScRsp = 596,
}
impl CmdItemType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdItemType::None => "CmdItemTypeNone",
            CmdItemType::CmdPromoteEquipmentScRsp => "CmdPromoteEquipmentScRsp",
            CmdItemType::CmdMarkItemCsReq => "CmdMarkItemCsReq",
            CmdItemType::CmdPromoteEquipmentCsReq => "CmdPromoteEquipmentCsReq",
            CmdItemType::CmdGetBagScRsp => "CmdGetBagScRsp",
            CmdItemType::CmdExpUpEquipmentScRsp => "CmdExpUpEquipmentScRsp",
            CmdItemType::CmdRelicReforgeCsReq => "CmdRelicReforgeCsReq",
            CmdItemType::CmdExpUpEquipmentCsReq => "CmdExpUpEquipmentCsReq",
            CmdItemType::CmdDiscardRelicCsReq => "CmdDiscardRelicCsReq",
            CmdItemType::CmdAddRelicFilterPlanCsReq => "CmdAddRelicFilterPlanCsReq",
            CmdItemType::CmdGetMarkItemListCsReq => "CmdGetMarkItemListCsReq",
            CmdItemType::CmdSetTurnFoodSwitchCsReq => "CmdSetTurnFoodSwitchCsReq",
            CmdItemType::CmdUseItemCsReq => "CmdUseItemCsReq",
            CmdItemType::CmdRankUpEquipmentCsReq => "CmdRankUpEquipmentCsReq",
            CmdItemType::CmdGetMarkItemListScRsp => "CmdGetMarkItemListScRsp",
            CmdItemType::CmdGetRecyleTimeScRsp => "CmdGetRecyleTimeScRsp",
            CmdItemType::CmdComposeLimitNumUpdateNotify => {
                "CmdComposeLimitNumUpdateNotify"
            }
            CmdItemType::CmdSellItemScRsp => "CmdSellItemScRsp",
            CmdItemType::CmdDiscardRelicScRsp => "CmdDiscardRelicScRsp",
            CmdItemType::CmdRechargeSuccNotify => "CmdRechargeSuccNotify",
            CmdItemType::CmdUseItemScRsp => "CmdUseItemScRsp",
            CmdItemType::CmdExpUpRelicCsReq => "CmdExpUpRelicCsReq",
            CmdItemType::CmdAddEquipmentScNotify => "CmdAddEquipmentScNotify",
            CmdItemType::CmdDestroyItemScRsp => "CmdDestroyItemScRsp",
            CmdItemType::CmdDestroyItemCsReq => "CmdDestroyItemCsReq",
            CmdItemType::CmdMarkRelicFilterPlanCsReq => "CmdMarkRelicFilterPlanCsReq",
            CmdItemType::CmdModifyRelicFilterPlanScRsp => "CmdModifyRelicFilterPlanScRsp",
            CmdItemType::CmdGetRelicFilterPlanCsReq => "CmdGetRelicFilterPlanCsReq",
            CmdItemType::CmdGetRelicFilterPlanScRsp => "CmdGetRelicFilterPlanScRsp",
            CmdItemType::CmdGetBagCsReq => "CmdGetBagCsReq",
            CmdItemType::CmdRelicReforgeScRsp => "CmdRelicReforgeScRsp",
            CmdItemType::CmdRelicReforgeConfirmCsReq => "CmdRelicReforgeConfirmCsReq",
            CmdItemType::CmdLockRelicCsReq => "CmdLockRelicCsReq",
            CmdItemType::CmdRelicFilterPlanClearNameScNotify => {
                "CmdRelicFilterPlanClearNameScNotify"
            }
            CmdItemType::CmdMarkItemScRsp => "CmdMarkItemScRsp",
            CmdItemType::CmdExchangeHcoinScRsp => "CmdExchangeHcoinScRsp",
            CmdItemType::CmdGeneralVirtualItemDataNotify => {
                "CmdGeneralVirtualItemDataNotify"
            }
            CmdItemType::CmdDeleteRelicFilterPlanScRsp => "CmdDeleteRelicFilterPlanScRsp",
            CmdItemType::CmdGetRecyleTimeCsReq => "CmdGetRecyleTimeCsReq",
            CmdItemType::CmdSetTurnFoodSwitchScRsp => "CmdSetTurnFoodSwitchScRsp",
            CmdItemType::CmdComposeSelectedRelicCsReq => "CmdComposeSelectedRelicCsReq",
            CmdItemType::CmdRankUpEquipmentScRsp => "CmdRankUpEquipmentScRsp",
            CmdItemType::CmdLockEquipmentCsReq => "CmdLockEquipmentCsReq",
            CmdItemType::CmdSellItemCsReq => "CmdSellItemCsReq",
            CmdItemType::CmdAddRelicFilterPlanScRsp => "CmdAddRelicFilterPlanScRsp",
            CmdItemType::CmdDeleteRelicFilterPlanCsReq => "CmdDeleteRelicFilterPlanCsReq",
            CmdItemType::CmdSyncTurnFoodNotify => "CmdSyncTurnFoodNotify",
            CmdItemType::CmdExchangeHcoinCsReq => "CmdExchangeHcoinCsReq",
            CmdItemType::CmdMarkRelicFilterPlanScRsp => "CmdMarkRelicFilterPlanScRsp",
            CmdItemType::CmdLockEquipmentScRsp => "CmdLockEquipmentScRsp",
            CmdItemType::CmdRelicReforgeConfirmScRsp => "CmdRelicReforgeConfirmScRsp",
            CmdItemType::CmdCancelMarkItemNotify => "CmdCancelMarkItemNotify",
            CmdItemType::CmdComposeItemCsReq => "CmdComposeItemCsReq",
            CmdItemType::CmdComposeSelectedRelicScRsp => "CmdComposeSelectedRelicScRsp",
            CmdItemType::CmdExpUpRelicScRsp => "CmdExpUpRelicScRsp",
            CmdItemType::CmdComposeLimitNumCompleteNotify => {
                "CmdComposeLimitNumCompleteNotify"
            }
            CmdItemType::CmdModifyRelicFilterPlanCsReq => "CmdModifyRelicFilterPlanCsReq",
            CmdItemType::CmdComposeItemScRsp => "CmdComposeItemScRsp",
            CmdItemType::CmdLockRelicScRsp => "CmdLockRelicScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdItemTypeNone" => Some(Self::None),
            "CmdPromoteEquipmentScRsp" => Some(Self::CmdPromoteEquipmentScRsp),
            "CmdMarkItemCsReq" => Some(Self::CmdMarkItemCsReq),
            "CmdPromoteEquipmentCsReq" => Some(Self::CmdPromoteEquipmentCsReq),
            "CmdGetBagScRsp" => Some(Self::CmdGetBagScRsp),
            "CmdExpUpEquipmentScRsp" => Some(Self::CmdExpUpEquipmentScRsp),
            "CmdRelicReforgeCsReq" => Some(Self::CmdRelicReforgeCsReq),
            "CmdExpUpEquipmentCsReq" => Some(Self::CmdExpUpEquipmentCsReq),
            "CmdDiscardRelicCsReq" => Some(Self::CmdDiscardRelicCsReq),
            "CmdAddRelicFilterPlanCsReq" => Some(Self::CmdAddRelicFilterPlanCsReq),
            "CmdGetMarkItemListCsReq" => Some(Self::CmdGetMarkItemListCsReq),
            "CmdSetTurnFoodSwitchCsReq" => Some(Self::CmdSetTurnFoodSwitchCsReq),
            "CmdUseItemCsReq" => Some(Self::CmdUseItemCsReq),
            "CmdRankUpEquipmentCsReq" => Some(Self::CmdRankUpEquipmentCsReq),
            "CmdGetMarkItemListScRsp" => Some(Self::CmdGetMarkItemListScRsp),
            "CmdGetRecyleTimeScRsp" => Some(Self::CmdGetRecyleTimeScRsp),
            "CmdComposeLimitNumUpdateNotify" => {
                Some(Self::CmdComposeLimitNumUpdateNotify)
            }
            "CmdSellItemScRsp" => Some(Self::CmdSellItemScRsp),
            "CmdDiscardRelicScRsp" => Some(Self::CmdDiscardRelicScRsp),
            "CmdRechargeSuccNotify" => Some(Self::CmdRechargeSuccNotify),
            "CmdUseItemScRsp" => Some(Self::CmdUseItemScRsp),
            "CmdExpUpRelicCsReq" => Some(Self::CmdExpUpRelicCsReq),
            "CmdAddEquipmentScNotify" => Some(Self::CmdAddEquipmentScNotify),
            "CmdDestroyItemScRsp" => Some(Self::CmdDestroyItemScRsp),
            "CmdDestroyItemCsReq" => Some(Self::CmdDestroyItemCsReq),
            "CmdMarkRelicFilterPlanCsReq" => Some(Self::CmdMarkRelicFilterPlanCsReq),
            "CmdModifyRelicFilterPlanScRsp" => Some(Self::CmdModifyRelicFilterPlanScRsp),
            "CmdGetRelicFilterPlanCsReq" => Some(Self::CmdGetRelicFilterPlanCsReq),
            "CmdGetRelicFilterPlanScRsp" => Some(Self::CmdGetRelicFilterPlanScRsp),
            "CmdGetBagCsReq" => Some(Self::CmdGetBagCsReq),
            "CmdRelicReforgeScRsp" => Some(Self::CmdRelicReforgeScRsp),
            "CmdRelicReforgeConfirmCsReq" => Some(Self::CmdRelicReforgeConfirmCsReq),
            "CmdLockRelicCsReq" => Some(Self::CmdLockRelicCsReq),
            "CmdRelicFilterPlanClearNameScNotify" => {
                Some(Self::CmdRelicFilterPlanClearNameScNotify)
            }
            "CmdMarkItemScRsp" => Some(Self::CmdMarkItemScRsp),
            "CmdExchangeHcoinScRsp" => Some(Self::CmdExchangeHcoinScRsp),
            "CmdGeneralVirtualItemDataNotify" => {
                Some(Self::CmdGeneralVirtualItemDataNotify)
            }
            "CmdDeleteRelicFilterPlanScRsp" => Some(Self::CmdDeleteRelicFilterPlanScRsp),
            "CmdGetRecyleTimeCsReq" => Some(Self::CmdGetRecyleTimeCsReq),
            "CmdSetTurnFoodSwitchScRsp" => Some(Self::CmdSetTurnFoodSwitchScRsp),
            "CmdComposeSelectedRelicCsReq" => Some(Self::CmdComposeSelectedRelicCsReq),
            "CmdRankUpEquipmentScRsp" => Some(Self::CmdRankUpEquipmentScRsp),
            "CmdLockEquipmentCsReq" => Some(Self::CmdLockEquipmentCsReq),
            "CmdSellItemCsReq" => Some(Self::CmdSellItemCsReq),
            "CmdAddRelicFilterPlanScRsp" => Some(Self::CmdAddRelicFilterPlanScRsp),
            "CmdDeleteRelicFilterPlanCsReq" => Some(Self::CmdDeleteRelicFilterPlanCsReq),
            "CmdSyncTurnFoodNotify" => Some(Self::CmdSyncTurnFoodNotify),
            "CmdExchangeHcoinCsReq" => Some(Self::CmdExchangeHcoinCsReq),
            "CmdMarkRelicFilterPlanScRsp" => Some(Self::CmdMarkRelicFilterPlanScRsp),
            "CmdLockEquipmentScRsp" => Some(Self::CmdLockEquipmentScRsp),
            "CmdRelicReforgeConfirmScRsp" => Some(Self::CmdRelicReforgeConfirmScRsp),
            "CmdCancelMarkItemNotify" => Some(Self::CmdCancelMarkItemNotify),
            "CmdComposeItemCsReq" => Some(Self::CmdComposeItemCsReq),
            "CmdComposeSelectedRelicScRsp" => Some(Self::CmdComposeSelectedRelicScRsp),
            "CmdExpUpRelicScRsp" => Some(Self::CmdExpUpRelicScRsp),
            "CmdComposeLimitNumCompleteNotify" => {
                Some(Self::CmdComposeLimitNumCompleteNotify)
            }
            "CmdModifyRelicFilterPlanCsReq" => Some(Self::CmdModifyRelicFilterPlanCsReq),
            "CmdComposeItemScRsp" => Some(Self::CmdComposeItemScRsp),
            "CmdLockRelicScRsp" => Some(Self::CmdLockRelicScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TurnFoodSwitch {
    None = 0,
    Attack = 1,
    Define = 2,
}
impl TurnFoodSwitch {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            TurnFoodSwitch::None => "TURN_FOOD_SWITCH_NONE",
            TurnFoodSwitch::Attack => "TURN_FOOD_SWITCH_ATTACK",
            TurnFoodSwitch::Define => "TURN_FOOD_SWITCH_DEFINE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TURN_FOOD_SWITCH_NONE" => Some(Self::None),
            "TURN_FOOD_SWITCH_ATTACK" => Some(Self::Attack),
            "TURN_FOOD_SWITCH_DEFINE" => Some(Self::Define),
            _ => None,
        }
    }
}
/// Obf: CNEHLGPAMNH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdJukeboxType {
    None = 0,
    CmdGetJukeboxDataCsReq = 3101,
    CmdPlayBackGroundMusicScRsp = 3124,
    CmdTrialBackGroundMusicCsReq = 3197,
    CmdUnlockBackGroundMusicScRsp = 3156,
    CmdPlayBackGroundMusicCsReq = 3158,
    CmdTrialBackGroundMusicScRsp = 3176,
    CmdUnlockBackGroundMusicCsReq = 3130,
    CmdGetJukeboxDataScRsp = 3168,
}
impl CmdJukeboxType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdJukeboxType::None => "CmdJukeboxTypeNone",
            CmdJukeboxType::CmdGetJukeboxDataCsReq => "CmdGetJukeboxDataCsReq",
            CmdJukeboxType::CmdPlayBackGroundMusicScRsp => "CmdPlayBackGroundMusicScRsp",
            CmdJukeboxType::CmdTrialBackGroundMusicCsReq => {
                "CmdTrialBackGroundMusicCsReq"
            }
            CmdJukeboxType::CmdUnlockBackGroundMusicScRsp => {
                "CmdUnlockBackGroundMusicScRsp"
            }
            CmdJukeboxType::CmdPlayBackGroundMusicCsReq => "CmdPlayBackGroundMusicCsReq",
            CmdJukeboxType::CmdTrialBackGroundMusicScRsp => {
                "CmdTrialBackGroundMusicScRsp"
            }
            CmdJukeboxType::CmdUnlockBackGroundMusicCsReq => {
                "CmdUnlockBackGroundMusicCsReq"
            }
            CmdJukeboxType::CmdGetJukeboxDataScRsp => "CmdGetJukeboxDataScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdJukeboxTypeNone" => Some(Self::None),
            "CmdGetJukeboxDataCsReq" => Some(Self::CmdGetJukeboxDataCsReq),
            "CmdPlayBackGroundMusicScRsp" => Some(Self::CmdPlayBackGroundMusicScRsp),
            "CmdTrialBackGroundMusicCsReq" => Some(Self::CmdTrialBackGroundMusicCsReq),
            "CmdUnlockBackGroundMusicScRsp" => Some(Self::CmdUnlockBackGroundMusicScRsp),
            "CmdPlayBackGroundMusicCsReq" => Some(Self::CmdPlayBackGroundMusicCsReq),
            "CmdTrialBackGroundMusicScRsp" => Some(Self::CmdTrialBackGroundMusicScRsp),
            "CmdUnlockBackGroundMusicCsReq" => Some(Self::CmdUnlockBackGroundMusicCsReq),
            "CmdGetJukeboxDataScRsp" => Some(Self::CmdGetJukeboxDataScRsp),
            _ => None,
        }
    }
}
/// Obf: BFNPHAGFANF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdLineupType {
    None = 0,
    CmdQuitLineupScRsp = 776,
    CmdSwapLineupCsReq = 728,
    CmdExtraLineupDestroyNotify = 750,
    CmdSetLineupNameCsReq = 796,
    CmdReplaceLineupScRsp = 795,
    CmdReplaceLineupCsReq = 718,
    CmdGetStageLineupScRsp = 768,
    CmdSwapLineupScRsp = 711,
    CmdSyncLineupNotify = 705,
    CmdGetCurLineupDataScRsp = 724,
    CmdGetStageLineupCsReq = 701,
    CmdSetLineupNameScRsp = 723,
    CmdGetLineupAvatarDataCsReq = 714,
    CmdGetAllLineupDataCsReq = 712,
    CmdJoinLineupScRsp = 756,
    CmdChangeLineupLeaderScRsp = 747,
    CmdGetAllLineupDataScRsp = 717,
    CmdChangeLineupLeaderCsReq = 722,
    CmdJoinLineupCsReq = 730,
    CmdVirtualLineupTrialAvatarChangeScNotify = 748,
    CmdQuitLineupCsReq = 797,
    CmdGetCurLineupDataCsReq = 758,
    CmdSwitchLineupIndexScRsp = 739,
    CmdVirtualLineupDestroyNotify = 791,
    CmdGetLineupAvatarDataScRsp = 749,
    CmdSwitchLineupIndexCsReq = 780,
}
impl CmdLineupType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdLineupType::None => "CmdLineupTypeNone",
            CmdLineupType::CmdQuitLineupScRsp => "CmdQuitLineupScRsp",
            CmdLineupType::CmdSwapLineupCsReq => "CmdSwapLineupCsReq",
            CmdLineupType::CmdExtraLineupDestroyNotify => "CmdExtraLineupDestroyNotify",
            CmdLineupType::CmdSetLineupNameCsReq => "CmdSetLineupNameCsReq",
            CmdLineupType::CmdReplaceLineupScRsp => "CmdReplaceLineupScRsp",
            CmdLineupType::CmdReplaceLineupCsReq => "CmdReplaceLineupCsReq",
            CmdLineupType::CmdGetStageLineupScRsp => "CmdGetStageLineupScRsp",
            CmdLineupType::CmdSwapLineupScRsp => "CmdSwapLineupScRsp",
            CmdLineupType::CmdSyncLineupNotify => "CmdSyncLineupNotify",
            CmdLineupType::CmdGetCurLineupDataScRsp => "CmdGetCurLineupDataScRsp",
            CmdLineupType::CmdGetStageLineupCsReq => "CmdGetStageLineupCsReq",
            CmdLineupType::CmdSetLineupNameScRsp => "CmdSetLineupNameScRsp",
            CmdLineupType::CmdGetLineupAvatarDataCsReq => "CmdGetLineupAvatarDataCsReq",
            CmdLineupType::CmdGetAllLineupDataCsReq => "CmdGetAllLineupDataCsReq",
            CmdLineupType::CmdJoinLineupScRsp => "CmdJoinLineupScRsp",
            CmdLineupType::CmdChangeLineupLeaderScRsp => "CmdChangeLineupLeaderScRsp",
            CmdLineupType::CmdGetAllLineupDataScRsp => "CmdGetAllLineupDataScRsp",
            CmdLineupType::CmdChangeLineupLeaderCsReq => "CmdChangeLineupLeaderCsReq",
            CmdLineupType::CmdJoinLineupCsReq => "CmdJoinLineupCsReq",
            CmdLineupType::CmdVirtualLineupTrialAvatarChangeScNotify => {
                "CmdVirtualLineupTrialAvatarChangeScNotify"
            }
            CmdLineupType::CmdQuitLineupCsReq => "CmdQuitLineupCsReq",
            CmdLineupType::CmdGetCurLineupDataCsReq => "CmdGetCurLineupDataCsReq",
            CmdLineupType::CmdSwitchLineupIndexScRsp => "CmdSwitchLineupIndexScRsp",
            CmdLineupType::CmdVirtualLineupDestroyNotify => {
                "CmdVirtualLineupDestroyNotify"
            }
            CmdLineupType::CmdGetLineupAvatarDataScRsp => "CmdGetLineupAvatarDataScRsp",
            CmdLineupType::CmdSwitchLineupIndexCsReq => "CmdSwitchLineupIndexCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdLineupTypeNone" => Some(Self::None),
            "CmdQuitLineupScRsp" => Some(Self::CmdQuitLineupScRsp),
            "CmdSwapLineupCsReq" => Some(Self::CmdSwapLineupCsReq),
            "CmdExtraLineupDestroyNotify" => Some(Self::CmdExtraLineupDestroyNotify),
            "CmdSetLineupNameCsReq" => Some(Self::CmdSetLineupNameCsReq),
            "CmdReplaceLineupScRsp" => Some(Self::CmdReplaceLineupScRsp),
            "CmdReplaceLineupCsReq" => Some(Self::CmdReplaceLineupCsReq),
            "CmdGetStageLineupScRsp" => Some(Self::CmdGetStageLineupScRsp),
            "CmdSwapLineupScRsp" => Some(Self::CmdSwapLineupScRsp),
            "CmdSyncLineupNotify" => Some(Self::CmdSyncLineupNotify),
            "CmdGetCurLineupDataScRsp" => Some(Self::CmdGetCurLineupDataScRsp),
            "CmdGetStageLineupCsReq" => Some(Self::CmdGetStageLineupCsReq),
            "CmdSetLineupNameScRsp" => Some(Self::CmdSetLineupNameScRsp),
            "CmdGetLineupAvatarDataCsReq" => Some(Self::CmdGetLineupAvatarDataCsReq),
            "CmdGetAllLineupDataCsReq" => Some(Self::CmdGetAllLineupDataCsReq),
            "CmdJoinLineupScRsp" => Some(Self::CmdJoinLineupScRsp),
            "CmdChangeLineupLeaderScRsp" => Some(Self::CmdChangeLineupLeaderScRsp),
            "CmdGetAllLineupDataScRsp" => Some(Self::CmdGetAllLineupDataScRsp),
            "CmdChangeLineupLeaderCsReq" => Some(Self::CmdChangeLineupLeaderCsReq),
            "CmdJoinLineupCsReq" => Some(Self::CmdJoinLineupCsReq),
            "CmdVirtualLineupTrialAvatarChangeScNotify" => {
                Some(Self::CmdVirtualLineupTrialAvatarChangeScNotify)
            }
            "CmdQuitLineupCsReq" => Some(Self::CmdQuitLineupCsReq),
            "CmdGetCurLineupDataCsReq" => Some(Self::CmdGetCurLineupDataCsReq),
            "CmdSwitchLineupIndexScRsp" => Some(Self::CmdSwitchLineupIndexScRsp),
            "CmdVirtualLineupDestroyNotify" => Some(Self::CmdVirtualLineupDestroyNotify),
            "CmdGetLineupAvatarDataScRsp" => Some(Self::CmdGetLineupAvatarDataScRsp),
            "CmdSwitchLineupIndexCsReq" => Some(Self::CmdSwitchLineupIndexCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pbpahlpfnda {
    LineupTypeNone = 0,
    LineupTypePreset = 1,
    LineupTypeVirtual = 2,
    LineupTypeExtra = 3,
    LineupTypeStoryLine = 4,
}
impl Pbpahlpfnda {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Pbpahlpfnda::LineupTypeNone => "LINEUP_TYPE_NONE",
            Pbpahlpfnda::LineupTypePreset => "LINEUP_TYPE_PRESET",
            Pbpahlpfnda::LineupTypeVirtual => "LINEUP_TYPE_VIRTUAL",
            Pbpahlpfnda::LineupTypeExtra => "LINEUP_TYPE_EXTRA",
            Pbpahlpfnda::LineupTypeStoryLine => "LINEUP_TYPE_STORY_LINE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LINEUP_TYPE_NONE" => Some(Self::LineupTypeNone),
            "LINEUP_TYPE_PRESET" => Some(Self::LineupTypePreset),
            "LINEUP_TYPE_VIRTUAL" => Some(Self::LineupTypeVirtual),
            "LINEUP_TYPE_EXTRA" => Some(Self::LineupTypeExtra),
            "LINEUP_TYPE_STORY_LINE" => Some(Self::LineupTypeStoryLine),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ExtraLineupType {
    LineupNone = 0,
    LineupChallenge = 1,
    LineupRogue = 2,
    LineupChallenge2 = 3,
    LineupChallenge3 = 4,
    LineupRogueChallenge = 5,
    LineupStageTrial = 6,
    LineupRogueTrial = 7,
    LineupActivity = 8,
    LineupBoxingClub = 9,
    LineupTreasureDungeon = 11,
    LineupChessRogue = 12,
    LineupHeliobus = 13,
    LineupTournRogue = 14,
    LineupRelicRogue = 15,
    LineupArcadeRogue = 16,
    LineupMagicRogue = 17,
}
impl ExtraLineupType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            ExtraLineupType::LineupNone => "LINEUP_NONE",
            ExtraLineupType::LineupChallenge => "LINEUP_CHALLENGE",
            ExtraLineupType::LineupRogue => "LINEUP_ROGUE",
            ExtraLineupType::LineupChallenge2 => "LINEUP_CHALLENGE_2",
            ExtraLineupType::LineupChallenge3 => "LINEUP_CHALLENGE_3",
            ExtraLineupType::LineupRogueChallenge => "LINEUP_ROGUE_CHALLENGE",
            ExtraLineupType::LineupStageTrial => "LINEUP_STAGE_TRIAL",
            ExtraLineupType::LineupRogueTrial => "LINEUP_ROGUE_TRIAL",
            ExtraLineupType::LineupActivity => "LINEUP_ACTIVITY",
            ExtraLineupType::LineupBoxingClub => "LINEUP_BOXING_CLUB",
            ExtraLineupType::LineupTreasureDungeon => "LINEUP_TREASURE_DUNGEON",
            ExtraLineupType::LineupChessRogue => "LINEUP_CHESS_ROGUE",
            ExtraLineupType::LineupHeliobus => "LINEUP_HELIOBUS",
            ExtraLineupType::LineupTournRogue => "LINEUP_TOURN_ROGUE",
            ExtraLineupType::LineupRelicRogue => "LINEUP_RELIC_ROGUE",
            ExtraLineupType::LineupArcadeRogue => "LINEUP_ARCADE_ROGUE",
            ExtraLineupType::LineupMagicRogue => "LINEUP_MAGIC_ROGUE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LINEUP_NONE" => Some(Self::LineupNone),
            "LINEUP_CHALLENGE" => Some(Self::LineupChallenge),
            "LINEUP_ROGUE" => Some(Self::LineupRogue),
            "LINEUP_CHALLENGE_2" => Some(Self::LineupChallenge2),
            "LINEUP_CHALLENGE_3" => Some(Self::LineupChallenge3),
            "LINEUP_ROGUE_CHALLENGE" => Some(Self::LineupRogueChallenge),
            "LINEUP_STAGE_TRIAL" => Some(Self::LineupStageTrial),
            "LINEUP_ROGUE_TRIAL" => Some(Self::LineupRogueTrial),
            "LINEUP_ACTIVITY" => Some(Self::LineupActivity),
            "LINEUP_BOXING_CLUB" => Some(Self::LineupBoxingClub),
            "LINEUP_TREASURE_DUNGEON" => Some(Self::LineupTreasureDungeon),
            "LINEUP_CHESS_ROGUE" => Some(Self::LineupChessRogue),
            "LINEUP_HELIOBUS" => Some(Self::LineupHeliobus),
            "LINEUP_TOURN_ROGUE" => Some(Self::LineupTournRogue),
            "LINEUP_RELIC_ROGUE" => Some(Self::LineupRelicRogue),
            "LINEUP_ARCADE_ROGUE" => Some(Self::LineupArcadeRogue),
            "LINEUP_MAGIC_ROGUE" => Some(Self::LineupMagicRogue),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SyncReason {
    None = 0,
    MpAdd = 1,
    MpAddPropHit = 2,
    HpAdd = 3,
    HpAddPropHit = 4,
}
impl SyncReason {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            SyncReason::None => "SYNC_REASON_NONE",
            SyncReason::MpAdd => "SYNC_REASON_MP_ADD",
            SyncReason::MpAddPropHit => "SYNC_REASON_MP_ADD_PROP_HIT",
            SyncReason::HpAdd => "SYNC_REASON_HP_ADD",
            SyncReason::HpAddPropHit => "SYNC_REASON_HP_ADD_PROP_HIT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SYNC_REASON_NONE" => Some(Self::None),
            "SYNC_REASON_MP_ADD" => Some(Self::MpAdd),
            "SYNC_REASON_MP_ADD_PROP_HIT" => Some(Self::MpAddPropHit),
            "SYNC_REASON_HP_ADD" => Some(Self::HpAdd),
            "SYNC_REASON_HP_ADD_PROP_HIT" => Some(Self::HpAddPropHit),
            _ => None,
        }
    }
}
/// Obf: HGGAGPEPKLN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdLobbyType {
    None = 0,
    CmdLobbyInviteCsReq = 7352,
    CmdLobbyGetInfoScRsp = 7360,
    CmdLobbyModifyPlayerInfoCsReq = 7357,
    CmdLobbyKickOutCsReq = 7375,
    CmdLobbyBeginScRsp = 7383,
    CmdLobbyCreateScRsp = 7387,
    CmdLobbyQuitScRsp = 7382,
    CmdLobbyCreateCsReq = 7376,
    CmdLobbyBeginCsReq = 7356,
    CmdLobbyJoinCsReq = 7391,
    CmdLobbyQuitCsReq = 7354,
    CmdLobbyModifyPlayerInfoScRsp = 7379,
    CmdLobbySyncInfoScNotify = 7380,
    CmdLobbyInviteScNotify = 7364,
    CmdLobbyJoinScRsp = 7393,
    CmdLobbyGetInfoCsReq = 7390,
    CmdLobbyInviteScRsp = 7398,
    CmdLobbyKickOutScRsp = 7365,
}
impl CmdLobbyType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdLobbyType::None => "CmdLobbyTypeNone",
            CmdLobbyType::CmdLobbyInviteCsReq => "CmdLobbyInviteCsReq",
            CmdLobbyType::CmdLobbyGetInfoScRsp => "CmdLobbyGetInfoScRsp",
            CmdLobbyType::CmdLobbyModifyPlayerInfoCsReq => {
                "CmdLobbyModifyPlayerInfoCsReq"
            }
            CmdLobbyType::CmdLobbyKickOutCsReq => "CmdLobbyKickOutCsReq",
            CmdLobbyType::CmdLobbyBeginScRsp => "CmdLobbyBeginScRsp",
            CmdLobbyType::CmdLobbyCreateScRsp => "CmdLobbyCreateScRsp",
            CmdLobbyType::CmdLobbyQuitScRsp => "CmdLobbyQuitScRsp",
            CmdLobbyType::CmdLobbyCreateCsReq => "CmdLobbyCreateCsReq",
            CmdLobbyType::CmdLobbyBeginCsReq => "CmdLobbyBeginCsReq",
            CmdLobbyType::CmdLobbyJoinCsReq => "CmdLobbyJoinCsReq",
            CmdLobbyType::CmdLobbyQuitCsReq => "CmdLobbyQuitCsReq",
            CmdLobbyType::CmdLobbyModifyPlayerInfoScRsp => {
                "CmdLobbyModifyPlayerInfoScRsp"
            }
            CmdLobbyType::CmdLobbySyncInfoScNotify => "CmdLobbySyncInfoScNotify",
            CmdLobbyType::CmdLobbyInviteScNotify => "CmdLobbyInviteScNotify",
            CmdLobbyType::CmdLobbyJoinScRsp => "CmdLobbyJoinScRsp",
            CmdLobbyType::CmdLobbyGetInfoCsReq => "CmdLobbyGetInfoCsReq",
            CmdLobbyType::CmdLobbyInviteScRsp => "CmdLobbyInviteScRsp",
            CmdLobbyType::CmdLobbyKickOutScRsp => "CmdLobbyKickOutScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdLobbyTypeNone" => Some(Self::None),
            "CmdLobbyInviteCsReq" => Some(Self::CmdLobbyInviteCsReq),
            "CmdLobbyGetInfoScRsp" => Some(Self::CmdLobbyGetInfoScRsp),
            "CmdLobbyModifyPlayerInfoCsReq" => Some(Self::CmdLobbyModifyPlayerInfoCsReq),
            "CmdLobbyKickOutCsReq" => Some(Self::CmdLobbyKickOutCsReq),
            "CmdLobbyBeginScRsp" => Some(Self::CmdLobbyBeginScRsp),
            "CmdLobbyCreateScRsp" => Some(Self::CmdLobbyCreateScRsp),
            "CmdLobbyQuitScRsp" => Some(Self::CmdLobbyQuitScRsp),
            "CmdLobbyCreateCsReq" => Some(Self::CmdLobbyCreateCsReq),
            "CmdLobbyBeginCsReq" => Some(Self::CmdLobbyBeginCsReq),
            "CmdLobbyJoinCsReq" => Some(Self::CmdLobbyJoinCsReq),
            "CmdLobbyQuitCsReq" => Some(Self::CmdLobbyQuitCsReq),
            "CmdLobbyModifyPlayerInfoScRsp" => Some(Self::CmdLobbyModifyPlayerInfoScRsp),
            "CmdLobbySyncInfoScNotify" => Some(Self::CmdLobbySyncInfoScNotify),
            "CmdLobbyInviteScNotify" => Some(Self::CmdLobbyInviteScNotify),
            "CmdLobbyJoinScRsp" => Some(Self::CmdLobbyJoinScRsp),
            "CmdLobbyGetInfoCsReq" => Some(Self::CmdLobbyGetInfoCsReq),
            "CmdLobbyInviteScRsp" => Some(Self::CmdLobbyInviteScRsp),
            "CmdLobbyKickOutScRsp" => Some(Self::CmdLobbyKickOutScRsp),
            _ => None,
        }
    }
}
/// Obf: EOADFOLDOCJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMailType {
    None = 0,
    CmdTakeMailAttachmentCsReq = 897,
    CmdGetMailScRsp = 868,
    CmdDelMailScRsp = 856,
    CmdGetMailCsReq = 801,
    CmdMarkReadMailScRsp = 824,
    CmdNewMailScNotify = 828,
    CmdMarkReadMailCsReq = 858,
    CmdTakeMailAttachmentScRsp = 876,
    CmdDelMailCsReq = 830,
}
impl CmdMailType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMailType::None => "CmdMailTypeNone",
            CmdMailType::CmdTakeMailAttachmentCsReq => "CmdTakeMailAttachmentCsReq",
            CmdMailType::CmdGetMailScRsp => "CmdGetMailScRsp",
            CmdMailType::CmdDelMailScRsp => "CmdDelMailScRsp",
            CmdMailType::CmdGetMailCsReq => "CmdGetMailCsReq",
            CmdMailType::CmdMarkReadMailScRsp => "CmdMarkReadMailScRsp",
            CmdMailType::CmdNewMailScNotify => "CmdNewMailScNotify",
            CmdMailType::CmdMarkReadMailCsReq => "CmdMarkReadMailCsReq",
            CmdMailType::CmdTakeMailAttachmentScRsp => "CmdTakeMailAttachmentScRsp",
            CmdMailType::CmdDelMailCsReq => "CmdDelMailCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMailTypeNone" => Some(Self::None),
            "CmdTakeMailAttachmentCsReq" => Some(Self::CmdTakeMailAttachmentCsReq),
            "CmdGetMailScRsp" => Some(Self::CmdGetMailScRsp),
            "CmdDelMailScRsp" => Some(Self::CmdDelMailScRsp),
            "CmdGetMailCsReq" => Some(Self::CmdGetMailCsReq),
            "CmdMarkReadMailScRsp" => Some(Self::CmdMarkReadMailScRsp),
            "CmdNewMailScNotify" => Some(Self::CmdNewMailScNotify),
            "CmdMarkReadMailCsReq" => Some(Self::CmdMarkReadMailCsReq),
            "CmdTakeMailAttachmentScRsp" => Some(Self::CmdTakeMailAttachmentScRsp),
            "CmdDelMailCsReq" => Some(Self::CmdDelMailCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MailType {
    Normal = 0,
    Star = 1,
}
impl MailType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            MailType::Normal => "MAIL_TYPE_NORMAL",
            MailType::Star => "MAIL_TYPE_STAR",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MAIL_TYPE_NORMAL" => Some(Self::Normal),
            "MAIL_TYPE_STAR" => Some(Self::Star),
            _ => None,
        }
    }
}
/// Obf: CAABCBEELDO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMapRotationType {
    None = 0,
    CmdLeaveMapRotationRegionCsReq = 6828,
    CmdUpdateEnergyScNotify = 6880,
    CmdInteractChargerScRsp = 6824,
    CmdRemoveRotaterScRsp = 6823,
    CmdGetMapRotationDataScRsp = 6814,
    CmdRotateMapScRsp = 6876,
    CmdRotateMapCsReq = 6897,
    CmdInteractChargerCsReq = 6858,
    CmdResetMapRotationRegionCsReq = 6849,
    CmdDeployRotaterCsReq = 6830,
    CmdUpdateMapRotationDataScNotify = 6839,
    CmdLeaveMapRotationRegionScNotify = 6847,
    CmdLeaveMapRotationRegionScRsp = 6811,
    CmdEnterMapRotationRegionScRsp = 6868,
    CmdEnterMapRotationRegionCsReq = 6801,
    CmdGetMapRotationDataCsReq = 6805,
    CmdResetMapRotationRegionScRsp = 6822,
    CmdUpdateRotaterScNotify = 6812,
    CmdRemoveRotaterCsReq = 6896,
    CmdDeployRotaterScRsp = 6856,
}
impl CmdMapRotationType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMapRotationType::None => "CmdMapRotationTypeNone",
            CmdMapRotationType::CmdLeaveMapRotationRegionCsReq => {
                "CmdLeaveMapRotationRegionCsReq"
            }
            CmdMapRotationType::CmdUpdateEnergyScNotify => "CmdUpdateEnergyScNotify",
            CmdMapRotationType::CmdInteractChargerScRsp => "CmdInteractChargerScRsp",
            CmdMapRotationType::CmdRemoveRotaterScRsp => "CmdRemoveRotaterScRsp",
            CmdMapRotationType::CmdGetMapRotationDataScRsp => {
                "CmdGetMapRotationDataScRsp"
            }
            CmdMapRotationType::CmdRotateMapScRsp => "CmdRotateMapScRsp",
            CmdMapRotationType::CmdRotateMapCsReq => "CmdRotateMapCsReq",
            CmdMapRotationType::CmdInteractChargerCsReq => "CmdInteractChargerCsReq",
            CmdMapRotationType::CmdResetMapRotationRegionCsReq => {
                "CmdResetMapRotationRegionCsReq"
            }
            CmdMapRotationType::CmdDeployRotaterCsReq => "CmdDeployRotaterCsReq",
            CmdMapRotationType::CmdUpdateMapRotationDataScNotify => {
                "CmdUpdateMapRotationDataScNotify"
            }
            CmdMapRotationType::CmdLeaveMapRotationRegionScNotify => {
                "CmdLeaveMapRotationRegionScNotify"
            }
            CmdMapRotationType::CmdLeaveMapRotationRegionScRsp => {
                "CmdLeaveMapRotationRegionScRsp"
            }
            CmdMapRotationType::CmdEnterMapRotationRegionScRsp => {
                "CmdEnterMapRotationRegionScRsp"
            }
            CmdMapRotationType::CmdEnterMapRotationRegionCsReq => {
                "CmdEnterMapRotationRegionCsReq"
            }
            CmdMapRotationType::CmdGetMapRotationDataCsReq => {
                "CmdGetMapRotationDataCsReq"
            }
            CmdMapRotationType::CmdResetMapRotationRegionScRsp => {
                "CmdResetMapRotationRegionScRsp"
            }
            CmdMapRotationType::CmdUpdateRotaterScNotify => "CmdUpdateRotaterScNotify",
            CmdMapRotationType::CmdRemoveRotaterCsReq => "CmdRemoveRotaterCsReq",
            CmdMapRotationType::CmdDeployRotaterScRsp => "CmdDeployRotaterScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMapRotationTypeNone" => Some(Self::None),
            "CmdLeaveMapRotationRegionCsReq" => {
                Some(Self::CmdLeaveMapRotationRegionCsReq)
            }
            "CmdUpdateEnergyScNotify" => Some(Self::CmdUpdateEnergyScNotify),
            "CmdInteractChargerScRsp" => Some(Self::CmdInteractChargerScRsp),
            "CmdRemoveRotaterScRsp" => Some(Self::CmdRemoveRotaterScRsp),
            "CmdGetMapRotationDataScRsp" => Some(Self::CmdGetMapRotationDataScRsp),
            "CmdRotateMapScRsp" => Some(Self::CmdRotateMapScRsp),
            "CmdRotateMapCsReq" => Some(Self::CmdRotateMapCsReq),
            "CmdInteractChargerCsReq" => Some(Self::CmdInteractChargerCsReq),
            "CmdResetMapRotationRegionCsReq" => {
                Some(Self::CmdResetMapRotationRegionCsReq)
            }
            "CmdDeployRotaterCsReq" => Some(Self::CmdDeployRotaterCsReq),
            "CmdUpdateMapRotationDataScNotify" => {
                Some(Self::CmdUpdateMapRotationDataScNotify)
            }
            "CmdLeaveMapRotationRegionScNotify" => {
                Some(Self::CmdLeaveMapRotationRegionScNotify)
            }
            "CmdLeaveMapRotationRegionScRsp" => {
                Some(Self::CmdLeaveMapRotationRegionScRsp)
            }
            "CmdEnterMapRotationRegionScRsp" => {
                Some(Self::CmdEnterMapRotationRegionScRsp)
            }
            "CmdEnterMapRotationRegionCsReq" => {
                Some(Self::CmdEnterMapRotationRegionCsReq)
            }
            "CmdGetMapRotationDataCsReq" => Some(Self::CmdGetMapRotationDataCsReq),
            "CmdResetMapRotationRegionScRsp" => {
                Some(Self::CmdResetMapRotationRegionScRsp)
            }
            "CmdUpdateRotaterScNotify" => Some(Self::CmdUpdateRotaterScNotify),
            "CmdRemoveRotaterCsReq" => Some(Self::CmdRemoveRotaterCsReq),
            "CmdDeployRotaterScRsp" => Some(Self::CmdDeployRotaterScRsp),
            _ => None,
        }
    }
}
/// Obf: GODAKGNEGMM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMarkChestType {
    None = 0,
    CmdGetMarkChestCsReq = 8197,
    CmdUpdateMarkChestScRsp = 8182,
    CmdGetMarkChestScRsp = 8188,
    CmdMarkChestChangedScNotify = 8184,
    CmdUpdateMarkChestCsReq = 8192,
}
impl CmdMarkChestType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMarkChestType::None => "CmdMarkChestTypeNone",
            CmdMarkChestType::CmdGetMarkChestCsReq => "CmdGetMarkChestCsReq",
            CmdMarkChestType::CmdUpdateMarkChestScRsp => "CmdUpdateMarkChestScRsp",
            CmdMarkChestType::CmdGetMarkChestScRsp => "CmdGetMarkChestScRsp",
            CmdMarkChestType::CmdMarkChestChangedScNotify => {
                "CmdMarkChestChangedScNotify"
            }
            CmdMarkChestType::CmdUpdateMarkChestCsReq => "CmdUpdateMarkChestCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMarkChestTypeNone" => Some(Self::None),
            "CmdGetMarkChestCsReq" => Some(Self::CmdGetMarkChestCsReq),
            "CmdUpdateMarkChestScRsp" => Some(Self::CmdUpdateMarkChestScRsp),
            "CmdGetMarkChestScRsp" => Some(Self::CmdGetMarkChestScRsp),
            "CmdMarkChestChangedScNotify" => Some(Self::CmdMarkChestChangedScNotify),
            "CmdUpdateMarkChestCsReq" => Some(Self::CmdUpdateMarkChestCsReq),
            _ => None,
        }
    }
}
/// Obf: CMNBDIABCMK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMatchType {
    None = 0,
    CmdGetCrossInfoCsReq = 7333,
    CmdMatchResultScNotify = 7306,
    CmdStartMatchCsReq = 7326,
    CmdCancelMatchScRsp = 7343,
    CmdGetCrossInfoScRsp = 7307,
    CmdStartMatchScRsp = 7337,
    CmdCancelMatchCsReq = 7341,
}
impl CmdMatchType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMatchType::None => "CmdMatchTypeNone",
            CmdMatchType::CmdGetCrossInfoCsReq => "CmdGetCrossInfoCsReq",
            CmdMatchType::CmdMatchResultScNotify => "CmdMatchResultScNotify",
            CmdMatchType::CmdStartMatchCsReq => "CmdStartMatchCsReq",
            CmdMatchType::CmdCancelMatchScRsp => "CmdCancelMatchScRsp",
            CmdMatchType::CmdGetCrossInfoScRsp => "CmdGetCrossInfoScRsp",
            CmdMatchType::CmdStartMatchScRsp => "CmdStartMatchScRsp",
            CmdMatchType::CmdCancelMatchCsReq => "CmdCancelMatchCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMatchTypeNone" => Some(Self::None),
            "CmdGetCrossInfoCsReq" => Some(Self::CmdGetCrossInfoCsReq),
            "CmdMatchResultScNotify" => Some(Self::CmdMatchResultScNotify),
            "CmdStartMatchCsReq" => Some(Self::CmdStartMatchCsReq),
            "CmdCancelMatchScRsp" => Some(Self::CmdCancelMatchScRsp),
            "CmdGetCrossInfoScRsp" => Some(Self::CmdGetCrossInfoScRsp),
            "CmdStartMatchScRsp" => Some(Self::CmdStartMatchScRsp),
            "CmdCancelMatchCsReq" => Some(Self::CmdCancelMatchCsReq),
            _ => None,
        }
    }
}
/// Obf: GIPAEBEPNNJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMatchThreeModuleType {
    None = 0,
    CmdMatchThreeSyncDataScNotify = 7406,
    CmdMatchThreeLevelEndCsReq = 7441,
    CmdMatchThreeGetDataScRsp = 7437,
    CmdMatchThreeLevelEndScRsp = 7443,
    CmdMatchThreeSetBirdPosCsReq = 7433,
    CmdMatchThreeSetBirdPosScRsp = 7407,
    CmdMatchThreeGetDataCsReq = 7426,
}
impl CmdMatchThreeModuleType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMatchThreeModuleType::None => "CmdMatchThreeModuleTypeNone",
            CmdMatchThreeModuleType::CmdMatchThreeSyncDataScNotify => {
                "CmdMatchThreeSyncDataScNotify"
            }
            CmdMatchThreeModuleType::CmdMatchThreeLevelEndCsReq => {
                "CmdMatchThreeLevelEndCsReq"
            }
            CmdMatchThreeModuleType::CmdMatchThreeGetDataScRsp => {
                "CmdMatchThreeGetDataScRsp"
            }
            CmdMatchThreeModuleType::CmdMatchThreeLevelEndScRsp => {
                "CmdMatchThreeLevelEndScRsp"
            }
            CmdMatchThreeModuleType::CmdMatchThreeSetBirdPosCsReq => {
                "CmdMatchThreeSetBirdPosCsReq"
            }
            CmdMatchThreeModuleType::CmdMatchThreeSetBirdPosScRsp => {
                "CmdMatchThreeSetBirdPosScRsp"
            }
            CmdMatchThreeModuleType::CmdMatchThreeGetDataCsReq => {
                "CmdMatchThreeGetDataCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMatchThreeModuleTypeNone" => Some(Self::None),
            "CmdMatchThreeSyncDataScNotify" => Some(Self::CmdMatchThreeSyncDataScNotify),
            "CmdMatchThreeLevelEndCsReq" => Some(Self::CmdMatchThreeLevelEndCsReq),
            "CmdMatchThreeGetDataScRsp" => Some(Self::CmdMatchThreeGetDataScRsp),
            "CmdMatchThreeLevelEndScRsp" => Some(Self::CmdMatchThreeLevelEndScRsp),
            "CmdMatchThreeSetBirdPosCsReq" => Some(Self::CmdMatchThreeSetBirdPosCsReq),
            "CmdMatchThreeSetBirdPosScRsp" => Some(Self::CmdMatchThreeSetBirdPosScRsp),
            "CmdMatchThreeGetDataCsReq" => Some(Self::CmdMatchThreeGetDataCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ajddhbhmoof {
    MatchThreeStatisticsNone = 0,
    MatchThreeStatisticsFirst = 1,
    MatchThreeStatisticsSecond = 2,
    MatchThreeStatisticsThird = 3,
    MatchThreeStatisticsFruit = 4,
    MatchThreeStatisticsSkill = 5,
    MatchThreeStatisticsDefeat = 6,
    MatchThreeStatisticsBomb = 7,
    MatchThreeStatisticsDamage = 8,
    MatchThreeStatisticsEnergy = 9,
    MatchThreeStatisticsSwapBomb = 10,
}
impl Ajddhbhmoof {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ajddhbhmoof::MatchThreeStatisticsNone => "MatchThreeStatistics_None",
            Ajddhbhmoof::MatchThreeStatisticsFirst => "MatchThreeStatistics_First",
            Ajddhbhmoof::MatchThreeStatisticsSecond => "MatchThreeStatistics_Second",
            Ajddhbhmoof::MatchThreeStatisticsThird => "MatchThreeStatistics_Third",
            Ajddhbhmoof::MatchThreeStatisticsFruit => "MatchThreeStatistics_Fruit",
            Ajddhbhmoof::MatchThreeStatisticsSkill => "MatchThreeStatistics_Skill",
            Ajddhbhmoof::MatchThreeStatisticsDefeat => "MatchThreeStatistics_Defeat",
            Ajddhbhmoof::MatchThreeStatisticsBomb => "MatchThreeStatistics_Bomb",
            Ajddhbhmoof::MatchThreeStatisticsDamage => "MatchThreeStatistics_Damage",
            Ajddhbhmoof::MatchThreeStatisticsEnergy => "MatchThreeStatistics_Energy",
            Ajddhbhmoof::MatchThreeStatisticsSwapBomb => "MatchThreeStatistics_SwapBomb",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MatchThreeStatistics_None" => Some(Self::MatchThreeStatisticsNone),
            "MatchThreeStatistics_First" => Some(Self::MatchThreeStatisticsFirst),
            "MatchThreeStatistics_Second" => Some(Self::MatchThreeStatisticsSecond),
            "MatchThreeStatistics_Third" => Some(Self::MatchThreeStatisticsThird),
            "MatchThreeStatistics_Fruit" => Some(Self::MatchThreeStatisticsFruit),
            "MatchThreeStatistics_Skill" => Some(Self::MatchThreeStatisticsSkill),
            "MatchThreeStatistics_Defeat" => Some(Self::MatchThreeStatisticsDefeat),
            "MatchThreeStatistics_Bomb" => Some(Self::MatchThreeStatisticsBomb),
            "MatchThreeStatistics_Damage" => Some(Self::MatchThreeStatisticsDamage),
            "MatchThreeStatistics_Energy" => Some(Self::MatchThreeStatisticsEnergy),
            "MatchThreeStatistics_SwapBomb" => Some(Self::MatchThreeStatisticsSwapBomb),
            _ => None,
        }
    }
}
/// Obf: MMOLEKJKOHN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMessageType {
    None = 0,
    CmdGetNpcStatusCsReq = 2758,
    CmdGetNpcStatusScRsp = 2724,
    CmdGetMissionMessageInfoCsReq = 2705,
    CmdFinishSectionIdCsReq = 2797,
    CmdGetNpcMessageGroupScRsp = 2768,
    CmdFinishItemIdCsReq = 2730,
    CmdGetMissionMessageInfoScRsp = 2714,
    CmdFinishItemIdScRsp = 2756,
    CmdFinishPerformSectionIdScRsp = 2711,
    CmdFinishSectionIdScRsp = 2776,
    CmdGetNpcMessageGroupCsReq = 2701,
    CmdFinishPerformSectionIdCsReq = 2728,
}
impl CmdMessageType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMessageType::None => "CmdMessageTypeNone",
            CmdMessageType::CmdGetNpcStatusCsReq => "CmdGetNpcStatusCsReq",
            CmdMessageType::CmdGetNpcStatusScRsp => "CmdGetNpcStatusScRsp",
            CmdMessageType::CmdGetMissionMessageInfoCsReq => {
                "CmdGetMissionMessageInfoCsReq"
            }
            CmdMessageType::CmdFinishSectionIdCsReq => "CmdFinishSectionIdCsReq",
            CmdMessageType::CmdGetNpcMessageGroupScRsp => "CmdGetNpcMessageGroupScRsp",
            CmdMessageType::CmdFinishItemIdCsReq => "CmdFinishItemIdCsReq",
            CmdMessageType::CmdGetMissionMessageInfoScRsp => {
                "CmdGetMissionMessageInfoScRsp"
            }
            CmdMessageType::CmdFinishItemIdScRsp => "CmdFinishItemIdScRsp",
            CmdMessageType::CmdFinishPerformSectionIdScRsp => {
                "CmdFinishPerformSectionIdScRsp"
            }
            CmdMessageType::CmdFinishSectionIdScRsp => "CmdFinishSectionIdScRsp",
            CmdMessageType::CmdGetNpcMessageGroupCsReq => "CmdGetNpcMessageGroupCsReq",
            CmdMessageType::CmdFinishPerformSectionIdCsReq => {
                "CmdFinishPerformSectionIdCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMessageTypeNone" => Some(Self::None),
            "CmdGetNpcStatusCsReq" => Some(Self::CmdGetNpcStatusCsReq),
            "CmdGetNpcStatusScRsp" => Some(Self::CmdGetNpcStatusScRsp),
            "CmdGetMissionMessageInfoCsReq" => Some(Self::CmdGetMissionMessageInfoCsReq),
            "CmdFinishSectionIdCsReq" => Some(Self::CmdFinishSectionIdCsReq),
            "CmdGetNpcMessageGroupScRsp" => Some(Self::CmdGetNpcMessageGroupScRsp),
            "CmdFinishItemIdCsReq" => Some(Self::CmdFinishItemIdCsReq),
            "CmdGetMissionMessageInfoScRsp" => Some(Self::CmdGetMissionMessageInfoScRsp),
            "CmdFinishItemIdScRsp" => Some(Self::CmdFinishItemIdScRsp),
            "CmdFinishPerformSectionIdScRsp" => {
                Some(Self::CmdFinishPerformSectionIdScRsp)
            }
            "CmdFinishSectionIdScRsp" => Some(Self::CmdFinishSectionIdScRsp),
            "CmdGetNpcMessageGroupCsReq" => Some(Self::CmdGetNpcMessageGroupCsReq),
            "CmdFinishPerformSectionIdCsReq" => {
                Some(Self::CmdFinishPerformSectionIdCsReq)
            }
            _ => None,
        }
    }
}
/// Obf: HHLNLNJIEKE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMiscModuleType {
    None = 0,
    CmdTakePictureCsReq = 4130,
    CmdUpdateGunPlayDataScRsp = 4120,
    CmdDifficultyAdjustmentGetDataScRsp = 4170,
    CmdShareCsReq = 4101,
    CmdTriggerVoiceCsReq = 4149,
    CmdGetGunPlayDataScRsp = 4148,
    CmdMazeKillDirectScRsp = 4182,
    CmdGetShareDataScRsp = 4124,
    CmdTriggerVoiceScRsp = 4122,
    CmdSecurityReportScRsp = 4114,
    CmdGetMovieRacingDataCsReq = 4117,
    CmdGetGunPlayDataCsReq = 4150,
    CmdDifficultyAdjustmentGetDataCsReq = 4192,
    CmdCancelCacheNotifyScRsp = 4111,
    CmdUpdateMovieRacingDataCsReq = 4118,
    CmdUpdateMovieRacingDataScRsp = 4195,
    CmdGetMovieRacingDataScRsp = 4191,
    CmdGetShareDataCsReq = 4158,
    CmdCancelCacheNotifyCsReq = 4128,
    CmdUpdateGunPlayDataCsReq = 4169,
    CmdDifficultyAdjustmentUpdateDataCsReq = 4181,
    CmdSubmitOrigamiItemScRsp = 4180,
    CmdSecurityReportCsReq = 4105,
    CmdShareScRsp = 4168,
    CmdSubmitOrigamiItemCsReq = 4147,
    CmdMazeKillDirectCsReq = 4119,
    CmdDifficultyAdjustmentUpdateDataScRsp = 4138,
    CmdTakePictureScRsp = 4156,
}
impl CmdMiscModuleType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMiscModuleType::None => "CmdMiscModuleTypeNone",
            CmdMiscModuleType::CmdTakePictureCsReq => "CmdTakePictureCsReq",
            CmdMiscModuleType::CmdUpdateGunPlayDataScRsp => "CmdUpdateGunPlayDataScRsp",
            CmdMiscModuleType::CmdDifficultyAdjustmentGetDataScRsp => {
                "CmdDifficultyAdjustmentGetDataScRsp"
            }
            CmdMiscModuleType::CmdShareCsReq => "CmdShareCsReq",
            CmdMiscModuleType::CmdTriggerVoiceCsReq => "CmdTriggerVoiceCsReq",
            CmdMiscModuleType::CmdGetGunPlayDataScRsp => "CmdGetGunPlayDataScRsp",
            CmdMiscModuleType::CmdMazeKillDirectScRsp => "CmdMazeKillDirectScRsp",
            CmdMiscModuleType::CmdGetShareDataScRsp => "CmdGetShareDataScRsp",
            CmdMiscModuleType::CmdTriggerVoiceScRsp => "CmdTriggerVoiceScRsp",
            CmdMiscModuleType::CmdSecurityReportScRsp => "CmdSecurityReportScRsp",
            CmdMiscModuleType::CmdGetMovieRacingDataCsReq => "CmdGetMovieRacingDataCsReq",
            CmdMiscModuleType::CmdGetGunPlayDataCsReq => "CmdGetGunPlayDataCsReq",
            CmdMiscModuleType::CmdDifficultyAdjustmentGetDataCsReq => {
                "CmdDifficultyAdjustmentGetDataCsReq"
            }
            CmdMiscModuleType::CmdCancelCacheNotifyScRsp => "CmdCancelCacheNotifyScRsp",
            CmdMiscModuleType::CmdUpdateMovieRacingDataCsReq => {
                "CmdUpdateMovieRacingDataCsReq"
            }
            CmdMiscModuleType::CmdUpdateMovieRacingDataScRsp => {
                "CmdUpdateMovieRacingDataScRsp"
            }
            CmdMiscModuleType::CmdGetMovieRacingDataScRsp => "CmdGetMovieRacingDataScRsp",
            CmdMiscModuleType::CmdGetShareDataCsReq => "CmdGetShareDataCsReq",
            CmdMiscModuleType::CmdCancelCacheNotifyCsReq => "CmdCancelCacheNotifyCsReq",
            CmdMiscModuleType::CmdUpdateGunPlayDataCsReq => "CmdUpdateGunPlayDataCsReq",
            CmdMiscModuleType::CmdDifficultyAdjustmentUpdateDataCsReq => {
                "CmdDifficultyAdjustmentUpdateDataCsReq"
            }
            CmdMiscModuleType::CmdSubmitOrigamiItemScRsp => "CmdSubmitOrigamiItemScRsp",
            CmdMiscModuleType::CmdSecurityReportCsReq => "CmdSecurityReportCsReq",
            CmdMiscModuleType::CmdShareScRsp => "CmdShareScRsp",
            CmdMiscModuleType::CmdSubmitOrigamiItemCsReq => "CmdSubmitOrigamiItemCsReq",
            CmdMiscModuleType::CmdMazeKillDirectCsReq => "CmdMazeKillDirectCsReq",
            CmdMiscModuleType::CmdDifficultyAdjustmentUpdateDataScRsp => {
                "CmdDifficultyAdjustmentUpdateDataScRsp"
            }
            CmdMiscModuleType::CmdTakePictureScRsp => "CmdTakePictureScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMiscModuleTypeNone" => Some(Self::None),
            "CmdTakePictureCsReq" => Some(Self::CmdTakePictureCsReq),
            "CmdUpdateGunPlayDataScRsp" => Some(Self::CmdUpdateGunPlayDataScRsp),
            "CmdDifficultyAdjustmentGetDataScRsp" => {
                Some(Self::CmdDifficultyAdjustmentGetDataScRsp)
            }
            "CmdShareCsReq" => Some(Self::CmdShareCsReq),
            "CmdTriggerVoiceCsReq" => Some(Self::CmdTriggerVoiceCsReq),
            "CmdGetGunPlayDataScRsp" => Some(Self::CmdGetGunPlayDataScRsp),
            "CmdMazeKillDirectScRsp" => Some(Self::CmdMazeKillDirectScRsp),
            "CmdGetShareDataScRsp" => Some(Self::CmdGetShareDataScRsp),
            "CmdTriggerVoiceScRsp" => Some(Self::CmdTriggerVoiceScRsp),
            "CmdSecurityReportScRsp" => Some(Self::CmdSecurityReportScRsp),
            "CmdGetMovieRacingDataCsReq" => Some(Self::CmdGetMovieRacingDataCsReq),
            "CmdGetGunPlayDataCsReq" => Some(Self::CmdGetGunPlayDataCsReq),
            "CmdDifficultyAdjustmentGetDataCsReq" => {
                Some(Self::CmdDifficultyAdjustmentGetDataCsReq)
            }
            "CmdCancelCacheNotifyScRsp" => Some(Self::CmdCancelCacheNotifyScRsp),
            "CmdUpdateMovieRacingDataCsReq" => Some(Self::CmdUpdateMovieRacingDataCsReq),
            "CmdUpdateMovieRacingDataScRsp" => Some(Self::CmdUpdateMovieRacingDataScRsp),
            "CmdGetMovieRacingDataScRsp" => Some(Self::CmdGetMovieRacingDataScRsp),
            "CmdGetShareDataCsReq" => Some(Self::CmdGetShareDataCsReq),
            "CmdCancelCacheNotifyCsReq" => Some(Self::CmdCancelCacheNotifyCsReq),
            "CmdUpdateGunPlayDataCsReq" => Some(Self::CmdUpdateGunPlayDataCsReq),
            "CmdDifficultyAdjustmentUpdateDataCsReq" => {
                Some(Self::CmdDifficultyAdjustmentUpdateDataCsReq)
            }
            "CmdSubmitOrigamiItemScRsp" => Some(Self::CmdSubmitOrigamiItemScRsp),
            "CmdSecurityReportCsReq" => Some(Self::CmdSecurityReportCsReq),
            "CmdShareScRsp" => Some(Self::CmdShareScRsp),
            "CmdSubmitOrigamiItemCsReq" => Some(Self::CmdSubmitOrigamiItemCsReq),
            "CmdMazeKillDirectCsReq" => Some(Self::CmdMazeKillDirectCsReq),
            "CmdDifficultyAdjustmentUpdateDataScRsp" => {
                Some(Self::CmdDifficultyAdjustmentUpdateDataScRsp)
            }
            "CmdTakePictureScRsp" => Some(Self::CmdTakePictureScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mgaefjjdmom {
    CacheNotifyTypeNone = 0,
    CacheNotifyTypeRecycle = 1,
    CacheNotifyTypeRecharge = 2,
}
impl Mgaefjjdmom {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Mgaefjjdmom::CacheNotifyTypeNone => "CACHE_NOTIFY_TYPE_NONE",
            Mgaefjjdmom::CacheNotifyTypeRecycle => "CACHE_NOTIFY_TYPE_RECYCLE",
            Mgaefjjdmom::CacheNotifyTypeRecharge => "CACHE_NOTIFY_TYPE_RECHARGE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CACHE_NOTIFY_TYPE_NONE" => Some(Self::CacheNotifyTypeNone),
            "CACHE_NOTIFY_TYPE_RECYCLE" => Some(Self::CacheNotifyTypeRecycle),
            "CACHE_NOTIFY_TYPE_RECHARGE" => Some(Self::CacheNotifyTypeRecharge),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dcadlnjbkbk {
    MovieRacingOverTake = 0,
    MovieRacingOverTakeEndless = 1,
    MovieRacingShooting = 2,
    MovieRacingShootingEndless = 3,
}
impl Dcadlnjbkbk {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Dcadlnjbkbk::MovieRacingOverTake => "MOVIE_RACING_OVER_TAKE",
            Dcadlnjbkbk::MovieRacingOverTakeEndless => "MOVIE_RACING_OVER_TAKE_ENDLESS",
            Dcadlnjbkbk::MovieRacingShooting => "MOVIE_RACING_SHOOTING",
            Dcadlnjbkbk::MovieRacingShootingEndless => "MOVIE_RACING_SHOOTING_ENDLESS",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MOVIE_RACING_OVER_TAKE" => Some(Self::MovieRacingOverTake),
            "MOVIE_RACING_OVER_TAKE_ENDLESS" => Some(Self::MovieRacingOverTakeEndless),
            "MOVIE_RACING_SHOOTING" => Some(Self::MovieRacingShooting),
            "MOVIE_RACING_SHOOTING_ENDLESS" => Some(Self::MovieRacingShootingEndless),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fjhikfikamo {
    DifficultyAjustmentTypeDefault = 0,
    DifficultyAjustmentTypeEasy = 1,
}
impl Fjhikfikamo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Fjhikfikamo::DifficultyAjustmentTypeDefault => {
                "DIFFICULTY_AJUSTMENT_TYPE_DEFAULT"
            }
            Fjhikfikamo::DifficultyAjustmentTypeEasy => "DIFFICULTY_AJUSTMENT_TYPE_EASY",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DIFFICULTY_AJUSTMENT_TYPE_DEFAULT" => {
                Some(Self::DifficultyAjustmentTypeDefault)
            }
            "DIFFICULTY_AJUSTMENT_TYPE_EASY" => Some(Self::DifficultyAjustmentTypeEasy),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Giilenmkcah {
    DifficultyAjustmentSourceNone = 0,
    DifficultyAjustmentSourceRaid = 1,
    DifficultyAjustmentSourceEvent = 2,
}
impl Giilenmkcah {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Giilenmkcah::DifficultyAjustmentSourceNone => {
                "DIFFICULTY_AJUSTMENT_SOURCE_NONE"
            }
            Giilenmkcah::DifficultyAjustmentSourceRaid => {
                "DIFFICULTY_AJUSTMENT_SOURCE_RAID"
            }
            Giilenmkcah::DifficultyAjustmentSourceEvent => {
                "DIFFICULTY_AJUSTMENT_SOURCE_EVENT"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DIFFICULTY_AJUSTMENT_SOURCE_NONE" => {
                Some(Self::DifficultyAjustmentSourceNone)
            }
            "DIFFICULTY_AJUSTMENT_SOURCE_RAID" => {
                Some(Self::DifficultyAjustmentSourceRaid)
            }
            "DIFFICULTY_AJUSTMENT_SOURCE_EVENT" => {
                Some(Self::DifficultyAjustmentSourceEvent)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mnijhmepgnn {
    MazeKillSourceNone = 0,
    MazeKillSourceSwitchHand = 1,
    MazeKillSourceTimeLine = 2,
}
impl Mnijhmepgnn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Mnijhmepgnn::MazeKillSourceNone => "MAZE_KILL_SOURCE_NONE",
            Mnijhmepgnn::MazeKillSourceSwitchHand => "MAZE_KILL_SOURCE_SWITCH_HAND",
            Mnijhmepgnn::MazeKillSourceTimeLine => "MAZE_KILL_SOURCE_TIME_LINE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MAZE_KILL_SOURCE_NONE" => Some(Self::MazeKillSourceNone),
            "MAZE_KILL_SOURCE_SWITCH_HAND" => Some(Self::MazeKillSourceSwitchHand),
            "MAZE_KILL_SOURCE_TIME_LINE" => Some(Self::MazeKillSourceTimeLine),
            _ => None,
        }
    }
}
/// Obf: KHKMAFONKBD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMissionType {
    None = 0,
    CmdFinishTalkMissionCsReq = 1258,
    CmdFinishCosumeItemMissionCsReq = 1249,
    CmdGetMainMissionCustomValueScRsp = 1282,
    CmdStartFinishMainMissionScNotify = 1270,
    CmdMissionRewardScNotify = 1230,
    CmdGetMissionDataCsReq = 1201,
    CmdUpdateTrackMainMissionIdCsReq = 1273,
    CmdFinishedMissionScNotify = 1203,
    CmdGetMainMissionCustomValueCsReq = 1219,
    CmdFinishCosumeItemMissionScRsp = 1222,
    CmdFinishTalkMissionScRsp = 1224,
    CmdGetMissionStatusScRsp = 1217,
    CmdStartFinishSubMissionScNotify = 1292,
    CmdGetMissionStatusCsReq = 1212,
    CmdSyncTaskScRsp = 1297,
    CmdAcceptMainMissionCsReq = 1281,
    CmdTeleportToMissionResetPointCsReq = 1269,
    CmdSyncTaskCsReq = 1256,
    CmdGetMissionDataScRsp = 1268,
    CmdMissionGroupWarnScNotify = 1214,
    CmdMissionAcceptScNotify = 1259,
    CmdTeleportToMissionResetPointScRsp = 1220,
    CmdAcceptMainMissionScRsp = 1238,
    CmdSubMissionRewardScNotify = 1248,
    CmdUpdateTrackMainMissionIdScRsp = 1240,
}
impl CmdMissionType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMissionType::None => "CmdMissionTypeNone",
            CmdMissionType::CmdFinishTalkMissionCsReq => "CmdFinishTalkMissionCsReq",
            CmdMissionType::CmdFinishCosumeItemMissionCsReq => {
                "CmdFinishCosumeItemMissionCsReq"
            }
            CmdMissionType::CmdGetMainMissionCustomValueScRsp => {
                "CmdGetMainMissionCustomValueScRsp"
            }
            CmdMissionType::CmdStartFinishMainMissionScNotify => {
                "CmdStartFinishMainMissionScNotify"
            }
            CmdMissionType::CmdMissionRewardScNotify => "CmdMissionRewardScNotify",
            CmdMissionType::CmdGetMissionDataCsReq => "CmdGetMissionDataCsReq",
            CmdMissionType::CmdUpdateTrackMainMissionIdCsReq => {
                "CmdUpdateTrackMainMissionIdCsReq"
            }
            CmdMissionType::CmdFinishedMissionScNotify => "CmdFinishedMissionScNotify",
            CmdMissionType::CmdGetMainMissionCustomValueCsReq => {
                "CmdGetMainMissionCustomValueCsReq"
            }
            CmdMissionType::CmdFinishCosumeItemMissionScRsp => {
                "CmdFinishCosumeItemMissionScRsp"
            }
            CmdMissionType::CmdFinishTalkMissionScRsp => "CmdFinishTalkMissionScRsp",
            CmdMissionType::CmdGetMissionStatusScRsp => "CmdGetMissionStatusScRsp",
            CmdMissionType::CmdStartFinishSubMissionScNotify => {
                "CmdStartFinishSubMissionScNotify"
            }
            CmdMissionType::CmdGetMissionStatusCsReq => "CmdGetMissionStatusCsReq",
            CmdMissionType::CmdSyncTaskScRsp => "CmdSyncTaskScRsp",
            CmdMissionType::CmdAcceptMainMissionCsReq => "CmdAcceptMainMissionCsReq",
            CmdMissionType::CmdTeleportToMissionResetPointCsReq => {
                "CmdTeleportToMissionResetPointCsReq"
            }
            CmdMissionType::CmdSyncTaskCsReq => "CmdSyncTaskCsReq",
            CmdMissionType::CmdGetMissionDataScRsp => "CmdGetMissionDataScRsp",
            CmdMissionType::CmdMissionGroupWarnScNotify => "CmdMissionGroupWarnScNotify",
            CmdMissionType::CmdMissionAcceptScNotify => "CmdMissionAcceptScNotify",
            CmdMissionType::CmdTeleportToMissionResetPointScRsp => {
                "CmdTeleportToMissionResetPointScRsp"
            }
            CmdMissionType::CmdAcceptMainMissionScRsp => "CmdAcceptMainMissionScRsp",
            CmdMissionType::CmdSubMissionRewardScNotify => "CmdSubMissionRewardScNotify",
            CmdMissionType::CmdUpdateTrackMainMissionIdScRsp => {
                "CmdUpdateTrackMainMissionIdScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMissionTypeNone" => Some(Self::None),
            "CmdFinishTalkMissionCsReq" => Some(Self::CmdFinishTalkMissionCsReq),
            "CmdFinishCosumeItemMissionCsReq" => {
                Some(Self::CmdFinishCosumeItemMissionCsReq)
            }
            "CmdGetMainMissionCustomValueScRsp" => {
                Some(Self::CmdGetMainMissionCustomValueScRsp)
            }
            "CmdStartFinishMainMissionScNotify" => {
                Some(Self::CmdStartFinishMainMissionScNotify)
            }
            "CmdMissionRewardScNotify" => Some(Self::CmdMissionRewardScNotify),
            "CmdGetMissionDataCsReq" => Some(Self::CmdGetMissionDataCsReq),
            "CmdUpdateTrackMainMissionIdCsReq" => {
                Some(Self::CmdUpdateTrackMainMissionIdCsReq)
            }
            "CmdFinishedMissionScNotify" => Some(Self::CmdFinishedMissionScNotify),
            "CmdGetMainMissionCustomValueCsReq" => {
                Some(Self::CmdGetMainMissionCustomValueCsReq)
            }
            "CmdFinishCosumeItemMissionScRsp" => {
                Some(Self::CmdFinishCosumeItemMissionScRsp)
            }
            "CmdFinishTalkMissionScRsp" => Some(Self::CmdFinishTalkMissionScRsp),
            "CmdGetMissionStatusScRsp" => Some(Self::CmdGetMissionStatusScRsp),
            "CmdStartFinishSubMissionScNotify" => {
                Some(Self::CmdStartFinishSubMissionScNotify)
            }
            "CmdGetMissionStatusCsReq" => Some(Self::CmdGetMissionStatusCsReq),
            "CmdSyncTaskScRsp" => Some(Self::CmdSyncTaskScRsp),
            "CmdAcceptMainMissionCsReq" => Some(Self::CmdAcceptMainMissionCsReq),
            "CmdTeleportToMissionResetPointCsReq" => {
                Some(Self::CmdTeleportToMissionResetPointCsReq)
            }
            "CmdSyncTaskCsReq" => Some(Self::CmdSyncTaskCsReq),
            "CmdGetMissionDataScRsp" => Some(Self::CmdGetMissionDataScRsp),
            "CmdMissionGroupWarnScNotify" => Some(Self::CmdMissionGroupWarnScNotify),
            "CmdMissionAcceptScNotify" => Some(Self::CmdMissionAcceptScNotify),
            "CmdTeleportToMissionResetPointScRsp" => {
                Some(Self::CmdTeleportToMissionResetPointScRsp)
            }
            "CmdAcceptMainMissionScRsp" => Some(Self::CmdAcceptMainMissionScRsp),
            "CmdSubMissionRewardScNotify" => Some(Self::CmdSubMissionRewardScNotify),
            "CmdUpdateTrackMainMissionIdScRsp" => {
                Some(Self::CmdUpdateTrackMainMissionIdScRsp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Iebnpbjdfgp {
    MissionSyncRecordNone = 0,
    MissionSyncRecordMainMissionAccept = 1,
    MissionSyncRecordMainMissionStart = 2,
    MissionSyncRecordMainMissionFinish = 3,
    MissionSyncRecordMainMissionDelete = 4,
    MissionSyncRecordMissionAccept = 11,
    MissionSyncRecordMissionStart = 12,
    MissionSyncRecordMissionFinish = 13,
    MissionSyncRecordMissionDelete = 14,
    MissionSyncRecordMissionProgress = 15,
}
impl Iebnpbjdfgp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Iebnpbjdfgp::MissionSyncRecordNone => "MISSION_SYNC_RECORD_NONE",
            Iebnpbjdfgp::MissionSyncRecordMainMissionAccept => {
                "MISSION_SYNC_RECORD_MAIN_MISSION_ACCEPT"
            }
            Iebnpbjdfgp::MissionSyncRecordMainMissionStart => {
                "MISSION_SYNC_RECORD_MAIN_MISSION_START"
            }
            Iebnpbjdfgp::MissionSyncRecordMainMissionFinish => {
                "MISSION_SYNC_RECORD_MAIN_MISSION_FINISH"
            }
            Iebnpbjdfgp::MissionSyncRecordMainMissionDelete => {
                "MISSION_SYNC_RECORD_MAIN_MISSION_DELETE"
            }
            Iebnpbjdfgp::MissionSyncRecordMissionAccept => {
                "MISSION_SYNC_RECORD_MISSION_ACCEPT"
            }
            Iebnpbjdfgp::MissionSyncRecordMissionStart => {
                "MISSION_SYNC_RECORD_MISSION_START"
            }
            Iebnpbjdfgp::MissionSyncRecordMissionFinish => {
                "MISSION_SYNC_RECORD_MISSION_FINISH"
            }
            Iebnpbjdfgp::MissionSyncRecordMissionDelete => {
                "MISSION_SYNC_RECORD_MISSION_DELETE"
            }
            Iebnpbjdfgp::MissionSyncRecordMissionProgress => {
                "MISSION_SYNC_RECORD_MISSION_PROGRESS"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MISSION_SYNC_RECORD_NONE" => Some(Self::MissionSyncRecordNone),
            "MISSION_SYNC_RECORD_MAIN_MISSION_ACCEPT" => {
                Some(Self::MissionSyncRecordMainMissionAccept)
            }
            "MISSION_SYNC_RECORD_MAIN_MISSION_START" => {
                Some(Self::MissionSyncRecordMainMissionStart)
            }
            "MISSION_SYNC_RECORD_MAIN_MISSION_FINISH" => {
                Some(Self::MissionSyncRecordMainMissionFinish)
            }
            "MISSION_SYNC_RECORD_MAIN_MISSION_DELETE" => {
                Some(Self::MissionSyncRecordMainMissionDelete)
            }
            "MISSION_SYNC_RECORD_MISSION_ACCEPT" => {
                Some(Self::MissionSyncRecordMissionAccept)
            }
            "MISSION_SYNC_RECORD_MISSION_START" => {
                Some(Self::MissionSyncRecordMissionStart)
            }
            "MISSION_SYNC_RECORD_MISSION_FINISH" => {
                Some(Self::MissionSyncRecordMissionFinish)
            }
            "MISSION_SYNC_RECORD_MISSION_DELETE" => {
                Some(Self::MissionSyncRecordMissionDelete)
            }
            "MISSION_SYNC_RECORD_MISSION_PROGRESS" => {
                Some(Self::MissionSyncRecordMissionProgress)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gjpkmnefcfo {
    MainMissionSyncNone = 0,
    MainMissionSyncMcv = 1,
}
impl Gjpkmnefcfo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Gjpkmnefcfo::MainMissionSyncNone => "MAIN_MISSION_SYNC_NONE",
            Gjpkmnefcfo::MainMissionSyncMcv => "MAIN_MISSION_SYNC_MCV",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MAIN_MISSION_SYNC_NONE" => Some(Self::MainMissionSyncNone),
            "MAIN_MISSION_SYNC_MCV" => Some(Self::MainMissionSyncMcv),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nnfdmniijgo {
    TrackMainMissionUpdateNone = 0,
    TrackMainMissionUpdateAuto = 1,
    TrackMainMissionUpdateManual = 2,
    TrackMainMissionUpdateLoginReport = 3,
}
impl Nnfdmniijgo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Nnfdmniijgo::TrackMainMissionUpdateNone => "TRACK_MAIN_MISSION_UPDATE_NONE",
            Nnfdmniijgo::TrackMainMissionUpdateAuto => "TRACK_MAIN_MISSION_UPDATE_AUTO",
            Nnfdmniijgo::TrackMainMissionUpdateManual => {
                "TRACK_MAIN_MISSION_UPDATE_MANUAL"
            }
            Nnfdmniijgo::TrackMainMissionUpdateLoginReport => {
                "TRACK_MAIN_MISSION_UPDATE_LOGIN_REPORT"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TRACK_MAIN_MISSION_UPDATE_NONE" => Some(Self::TrackMainMissionUpdateNone),
            "TRACK_MAIN_MISSION_UPDATE_AUTO" => Some(Self::TrackMainMissionUpdateAuto),
            "TRACK_MAIN_MISSION_UPDATE_MANUAL" => {
                Some(Self::TrackMainMissionUpdateManual)
            }
            "TRACK_MAIN_MISSION_UPDATE_LOGIN_REPORT" => {
                Some(Self::TrackMainMissionUpdateLoginReport)
            }
            _ => None,
        }
    }
}
/// Obf: OBAKFMLNFJK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMonopolyType {
    None = 0,
    CmdMonopolyCheatDiceCsReq = 7069,
    CmdMonopolyGameBingoFlipCardScRsp = 7041,
    CmdMonopolyRollRandomCsReq = 7047,
    CmdMonopolyRollRandomScRsp = 7080,
    CmdMonopolyAcceptQuizCsReq = 7073,
    CmdMonopolyGameBingoFlipCardCsReq = 7059,
    CmdMonopolyGameCreateScNotify = 7003,
    CmdMonopolyClickCellScRsp = 7099,
    CmdMonopolyGiveUpCurContentScRsp = 7048,
    CmdMonopolySelectOptionScRsp = 7005,
    CmdMonopolyClickCellCsReq = 7035,
    CmdGetMonopolyInfoCsReq = 7001,
    CmdMonopolyGetRaffleTicketCsReq = 7084,
    CmdMonopolyCheatDiceScRsp = 7020,
    CmdMonopolyRollDiceScRsp = 7097,
    CmdMonopolyGameGachaCsReq = 7019,
    CmdMonopolyGameSettleScNotify = 7038,
    CmdMonopolyCellUpdateNotify = 7024,
    CmdMonopolyQuizDurationChangeScNotify = 7029,
    CmdGetSocialEventServerCacheCsReq = 7065,
    CmdMonopolyConfirmRandomCsReq = 7023,
    CmdMonopolyReRollRandomCsReq = 7039,
    CmdMonopolyTakeRaffleTicketRewardCsReq = 7034,
    CmdGetMonopolyFriendRankingListCsReq = 7061,
    CmdMonopolyGetDailyInitItemCsReq = 7053,
    CmdMonopolySocialEventEffectScNotify = 7089,
    CmdMonopolyUpgradeAssetScRsp = 7095,
    CmdMonopolyAcceptQuizScRsp = 7040,
    CmdMonopolyLikeScNotify = 7060,
    CmdMonopolyBuyGoodsCsReq = 7017,
    CmdMonopolySelectOptionCsReq = 7011,
    CmdMonopolyGiveUpCurContentCsReq = 7050,
    CmdMonopolyMoveCsReq = 7076,
    CmdMonopolyConditionUpdateScNotify = 7043,
    CmdMonopolyEventLoadUpdateScNotify = 7046,
    CmdGetMonopolyMbtiReportRewardScRsp = 7062,
    CmdMonopolyEventSelectFriendScRsp = 7088,
    CmdMonopolyLikeCsReq = 7055,
    CmdMonopolySttUpdateScNotify = 7066,
    CmdMonopolyBuyGoodsScRsp = 7091,
    CmdMonopolyReRollRandomScRsp = 7096,
    CmdMonopolyConfirmRandomScRsp = 7012,
    CmdMonopolyGetRegionProgressCsReq = 7093,
    CmdMonopolyGuessBuyInformationCsReq = 7008,
    CmdGetMonopolyInfoScRsp = 7068,
    CmdGetMonopolyFriendRankingListScRsp = 7090,
    CmdMonopolyGetRaffleTicketScRsp = 7010,
    CmdMonopolyGameRaiseRatioScRsp = 7081,
    CmdMonopolyGetRafflePoolInfoScRsp = 7002,
    CmdGetSocialEventServerCacheScRsp = 7074,
    CmdGetMonopolyMbtiReportRewardCsReq = 7042,
    CmdMonopolyUpgradeAssetCsReq = 7018,
    CmdDeleteSocialEventServerCacheCsReq = 7052,
    CmdMonopolyRollDiceCsReq = 7056,
    CmdMonopolyGetRegionProgressScRsp = 7072,
    CmdMonopolyGuessChooseCsReq = 7057,
    CmdMonopolyTakeRaffleTicketRewardScRsp = 7027,
    CmdMonopolyClickMbtiReportScRsp = 7045,
    CmdMonopolyGetDailyInitItemScRsp = 7016,
    CmdMonopolyEventSelectFriendCsReq = 7007,
    CmdMonopolyContentUpdateScNotify = 7092,
    CmdMonopolyLikeScRsp = 7085,
    CmdDailyFirstEnterMonopolyActivityScRsp = 7022,
    CmdGetMonopolyDailyReportCsReq = 7083,
    CmdMonopolyScrachRaffleTicketCsReq = 7086,
    CmdMonopolyClickMbtiReportCsReq = 7094,
    CmdGetMbtiReportCsReq = 7026,
    CmdMonopolyGameGachaScRsp = 7082,
    CmdMonopolyGetRafflePoolInfoCsReq = 7033,
    CmdMonopolyScrachRaffleTicketScRsp = 7051,
    CmdMonopolyGuessDrawScNotify = 7067,
    CmdMonopolyTakePhaseRewardCsReq = 7031,
    CmdMonopolyActionResultScNotify = 7058,
    CmdMonopolyGuessChooseScRsp = 7013,
    CmdMonopolyGameRaiseRatioCsReq = 7070,
    CmdMonopolyTakePhaseRewardScRsp = 7098,
    CmdDeleteSocialEventServerCacheScRsp = 7004,
    CmdMonopolyMoveScRsp = 7028,
    CmdMonopolyDailySettleScNotify = 7054,
    CmdGetMbtiReportScRsp = 7063,
    CmdDailyFirstEnterMonopolyActivityCsReq = 7049,
    CmdGetMonopolyDailyReportScRsp = 7032,
    CmdMonopolyGuessBuyInformationScRsp = 7078,
}
impl CmdMonopolyType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMonopolyType::None => "CmdMonopolyTypeNone",
            CmdMonopolyType::CmdMonopolyCheatDiceCsReq => "CmdMonopolyCheatDiceCsReq",
            CmdMonopolyType::CmdMonopolyGameBingoFlipCardScRsp => {
                "CmdMonopolyGameBingoFlipCardScRsp"
            }
            CmdMonopolyType::CmdMonopolyRollRandomCsReq => "CmdMonopolyRollRandomCsReq",
            CmdMonopolyType::CmdMonopolyRollRandomScRsp => "CmdMonopolyRollRandomScRsp",
            CmdMonopolyType::CmdMonopolyAcceptQuizCsReq => "CmdMonopolyAcceptQuizCsReq",
            CmdMonopolyType::CmdMonopolyGameBingoFlipCardCsReq => {
                "CmdMonopolyGameBingoFlipCardCsReq"
            }
            CmdMonopolyType::CmdMonopolyGameCreateScNotify => {
                "CmdMonopolyGameCreateScNotify"
            }
            CmdMonopolyType::CmdMonopolyClickCellScRsp => "CmdMonopolyClickCellScRsp",
            CmdMonopolyType::CmdMonopolyGiveUpCurContentScRsp => {
                "CmdMonopolyGiveUpCurContentScRsp"
            }
            CmdMonopolyType::CmdMonopolySelectOptionScRsp => {
                "CmdMonopolySelectOptionScRsp"
            }
            CmdMonopolyType::CmdMonopolyClickCellCsReq => "CmdMonopolyClickCellCsReq",
            CmdMonopolyType::CmdGetMonopolyInfoCsReq => "CmdGetMonopolyInfoCsReq",
            CmdMonopolyType::CmdMonopolyGetRaffleTicketCsReq => {
                "CmdMonopolyGetRaffleTicketCsReq"
            }
            CmdMonopolyType::CmdMonopolyCheatDiceScRsp => "CmdMonopolyCheatDiceScRsp",
            CmdMonopolyType::CmdMonopolyRollDiceScRsp => "CmdMonopolyRollDiceScRsp",
            CmdMonopolyType::CmdMonopolyGameGachaCsReq => "CmdMonopolyGameGachaCsReq",
            CmdMonopolyType::CmdMonopolyGameSettleScNotify => {
                "CmdMonopolyGameSettleScNotify"
            }
            CmdMonopolyType::CmdMonopolyCellUpdateNotify => "CmdMonopolyCellUpdateNotify",
            CmdMonopolyType::CmdMonopolyQuizDurationChangeScNotify => {
                "CmdMonopolyQuizDurationChangeScNotify"
            }
            CmdMonopolyType::CmdGetSocialEventServerCacheCsReq => {
                "CmdGetSocialEventServerCacheCsReq"
            }
            CmdMonopolyType::CmdMonopolyConfirmRandomCsReq => {
                "CmdMonopolyConfirmRandomCsReq"
            }
            CmdMonopolyType::CmdMonopolyReRollRandomCsReq => {
                "CmdMonopolyReRollRandomCsReq"
            }
            CmdMonopolyType::CmdMonopolyTakeRaffleTicketRewardCsReq => {
                "CmdMonopolyTakeRaffleTicketRewardCsReq"
            }
            CmdMonopolyType::CmdGetMonopolyFriendRankingListCsReq => {
                "CmdGetMonopolyFriendRankingListCsReq"
            }
            CmdMonopolyType::CmdMonopolyGetDailyInitItemCsReq => {
                "CmdMonopolyGetDailyInitItemCsReq"
            }
            CmdMonopolyType::CmdMonopolySocialEventEffectScNotify => {
                "CmdMonopolySocialEventEffectScNotify"
            }
            CmdMonopolyType::CmdMonopolyUpgradeAssetScRsp => {
                "CmdMonopolyUpgradeAssetScRsp"
            }
            CmdMonopolyType::CmdMonopolyAcceptQuizScRsp => "CmdMonopolyAcceptQuizScRsp",
            CmdMonopolyType::CmdMonopolyLikeScNotify => "CmdMonopolyLikeScNotify",
            CmdMonopolyType::CmdMonopolyBuyGoodsCsReq => "CmdMonopolyBuyGoodsCsReq",
            CmdMonopolyType::CmdMonopolySelectOptionCsReq => {
                "CmdMonopolySelectOptionCsReq"
            }
            CmdMonopolyType::CmdMonopolyGiveUpCurContentCsReq => {
                "CmdMonopolyGiveUpCurContentCsReq"
            }
            CmdMonopolyType::CmdMonopolyMoveCsReq => "CmdMonopolyMoveCsReq",
            CmdMonopolyType::CmdMonopolyConditionUpdateScNotify => {
                "CmdMonopolyConditionUpdateScNotify"
            }
            CmdMonopolyType::CmdMonopolyEventLoadUpdateScNotify => {
                "CmdMonopolyEventLoadUpdateScNotify"
            }
            CmdMonopolyType::CmdGetMonopolyMbtiReportRewardScRsp => {
                "CmdGetMonopolyMbtiReportRewardScRsp"
            }
            CmdMonopolyType::CmdMonopolyEventSelectFriendScRsp => {
                "CmdMonopolyEventSelectFriendScRsp"
            }
            CmdMonopolyType::CmdMonopolyLikeCsReq => "CmdMonopolyLikeCsReq",
            CmdMonopolyType::CmdMonopolySttUpdateScNotify => {
                "CmdMonopolySttUpdateScNotify"
            }
            CmdMonopolyType::CmdMonopolyBuyGoodsScRsp => "CmdMonopolyBuyGoodsScRsp",
            CmdMonopolyType::CmdMonopolyReRollRandomScRsp => {
                "CmdMonopolyReRollRandomScRsp"
            }
            CmdMonopolyType::CmdMonopolyConfirmRandomScRsp => {
                "CmdMonopolyConfirmRandomScRsp"
            }
            CmdMonopolyType::CmdMonopolyGetRegionProgressCsReq => {
                "CmdMonopolyGetRegionProgressCsReq"
            }
            CmdMonopolyType::CmdMonopolyGuessBuyInformationCsReq => {
                "CmdMonopolyGuessBuyInformationCsReq"
            }
            CmdMonopolyType::CmdGetMonopolyInfoScRsp => "CmdGetMonopolyInfoScRsp",
            CmdMonopolyType::CmdGetMonopolyFriendRankingListScRsp => {
                "CmdGetMonopolyFriendRankingListScRsp"
            }
            CmdMonopolyType::CmdMonopolyGetRaffleTicketScRsp => {
                "CmdMonopolyGetRaffleTicketScRsp"
            }
            CmdMonopolyType::CmdMonopolyGameRaiseRatioScRsp => {
                "CmdMonopolyGameRaiseRatioScRsp"
            }
            CmdMonopolyType::CmdMonopolyGetRafflePoolInfoScRsp => {
                "CmdMonopolyGetRafflePoolInfoScRsp"
            }
            CmdMonopolyType::CmdGetSocialEventServerCacheScRsp => {
                "CmdGetSocialEventServerCacheScRsp"
            }
            CmdMonopolyType::CmdGetMonopolyMbtiReportRewardCsReq => {
                "CmdGetMonopolyMbtiReportRewardCsReq"
            }
            CmdMonopolyType::CmdMonopolyUpgradeAssetCsReq => {
                "CmdMonopolyUpgradeAssetCsReq"
            }
            CmdMonopolyType::CmdDeleteSocialEventServerCacheCsReq => {
                "CmdDeleteSocialEventServerCacheCsReq"
            }
            CmdMonopolyType::CmdMonopolyRollDiceCsReq => "CmdMonopolyRollDiceCsReq",
            CmdMonopolyType::CmdMonopolyGetRegionProgressScRsp => {
                "CmdMonopolyGetRegionProgressScRsp"
            }
            CmdMonopolyType::CmdMonopolyGuessChooseCsReq => "CmdMonopolyGuessChooseCsReq",
            CmdMonopolyType::CmdMonopolyTakeRaffleTicketRewardScRsp => {
                "CmdMonopolyTakeRaffleTicketRewardScRsp"
            }
            CmdMonopolyType::CmdMonopolyClickMbtiReportScRsp => {
                "CmdMonopolyClickMbtiReportScRsp"
            }
            CmdMonopolyType::CmdMonopolyGetDailyInitItemScRsp => {
                "CmdMonopolyGetDailyInitItemScRsp"
            }
            CmdMonopolyType::CmdMonopolyEventSelectFriendCsReq => {
                "CmdMonopolyEventSelectFriendCsReq"
            }
            CmdMonopolyType::CmdMonopolyContentUpdateScNotify => {
                "CmdMonopolyContentUpdateScNotify"
            }
            CmdMonopolyType::CmdMonopolyLikeScRsp => "CmdMonopolyLikeScRsp",
            CmdMonopolyType::CmdDailyFirstEnterMonopolyActivityScRsp => {
                "CmdDailyFirstEnterMonopolyActivityScRsp"
            }
            CmdMonopolyType::CmdGetMonopolyDailyReportCsReq => {
                "CmdGetMonopolyDailyReportCsReq"
            }
            CmdMonopolyType::CmdMonopolyScrachRaffleTicketCsReq => {
                "CmdMonopolyScrachRaffleTicketCsReq"
            }
            CmdMonopolyType::CmdMonopolyClickMbtiReportCsReq => {
                "CmdMonopolyClickMbtiReportCsReq"
            }
            CmdMonopolyType::CmdGetMbtiReportCsReq => "CmdGetMbtiReportCsReq",
            CmdMonopolyType::CmdMonopolyGameGachaScRsp => "CmdMonopolyGameGachaScRsp",
            CmdMonopolyType::CmdMonopolyGetRafflePoolInfoCsReq => {
                "CmdMonopolyGetRafflePoolInfoCsReq"
            }
            CmdMonopolyType::CmdMonopolyScrachRaffleTicketScRsp => {
                "CmdMonopolyScrachRaffleTicketScRsp"
            }
            CmdMonopolyType::CmdMonopolyGuessDrawScNotify => {
                "CmdMonopolyGuessDrawScNotify"
            }
            CmdMonopolyType::CmdMonopolyTakePhaseRewardCsReq => {
                "CmdMonopolyTakePhaseRewardCsReq"
            }
            CmdMonopolyType::CmdMonopolyActionResultScNotify => {
                "CmdMonopolyActionResultScNotify"
            }
            CmdMonopolyType::CmdMonopolyGuessChooseScRsp => "CmdMonopolyGuessChooseScRsp",
            CmdMonopolyType::CmdMonopolyGameRaiseRatioCsReq => {
                "CmdMonopolyGameRaiseRatioCsReq"
            }
            CmdMonopolyType::CmdMonopolyTakePhaseRewardScRsp => {
                "CmdMonopolyTakePhaseRewardScRsp"
            }
            CmdMonopolyType::CmdDeleteSocialEventServerCacheScRsp => {
                "CmdDeleteSocialEventServerCacheScRsp"
            }
            CmdMonopolyType::CmdMonopolyMoveScRsp => "CmdMonopolyMoveScRsp",
            CmdMonopolyType::CmdMonopolyDailySettleScNotify => {
                "CmdMonopolyDailySettleScNotify"
            }
            CmdMonopolyType::CmdGetMbtiReportScRsp => "CmdGetMbtiReportScRsp",
            CmdMonopolyType::CmdDailyFirstEnterMonopolyActivityCsReq => {
                "CmdDailyFirstEnterMonopolyActivityCsReq"
            }
            CmdMonopolyType::CmdGetMonopolyDailyReportScRsp => {
                "CmdGetMonopolyDailyReportScRsp"
            }
            CmdMonopolyType::CmdMonopolyGuessBuyInformationScRsp => {
                "CmdMonopolyGuessBuyInformationScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMonopolyTypeNone" => Some(Self::None),
            "CmdMonopolyCheatDiceCsReq" => Some(Self::CmdMonopolyCheatDiceCsReq),
            "CmdMonopolyGameBingoFlipCardScRsp" => {
                Some(Self::CmdMonopolyGameBingoFlipCardScRsp)
            }
            "CmdMonopolyRollRandomCsReq" => Some(Self::CmdMonopolyRollRandomCsReq),
            "CmdMonopolyRollRandomScRsp" => Some(Self::CmdMonopolyRollRandomScRsp),
            "CmdMonopolyAcceptQuizCsReq" => Some(Self::CmdMonopolyAcceptQuizCsReq),
            "CmdMonopolyGameBingoFlipCardCsReq" => {
                Some(Self::CmdMonopolyGameBingoFlipCardCsReq)
            }
            "CmdMonopolyGameCreateScNotify" => Some(Self::CmdMonopolyGameCreateScNotify),
            "CmdMonopolyClickCellScRsp" => Some(Self::CmdMonopolyClickCellScRsp),
            "CmdMonopolyGiveUpCurContentScRsp" => {
                Some(Self::CmdMonopolyGiveUpCurContentScRsp)
            }
            "CmdMonopolySelectOptionScRsp" => Some(Self::CmdMonopolySelectOptionScRsp),
            "CmdMonopolyClickCellCsReq" => Some(Self::CmdMonopolyClickCellCsReq),
            "CmdGetMonopolyInfoCsReq" => Some(Self::CmdGetMonopolyInfoCsReq),
            "CmdMonopolyGetRaffleTicketCsReq" => {
                Some(Self::CmdMonopolyGetRaffleTicketCsReq)
            }
            "CmdMonopolyCheatDiceScRsp" => Some(Self::CmdMonopolyCheatDiceScRsp),
            "CmdMonopolyRollDiceScRsp" => Some(Self::CmdMonopolyRollDiceScRsp),
            "CmdMonopolyGameGachaCsReq" => Some(Self::CmdMonopolyGameGachaCsReq),
            "CmdMonopolyGameSettleScNotify" => Some(Self::CmdMonopolyGameSettleScNotify),
            "CmdMonopolyCellUpdateNotify" => Some(Self::CmdMonopolyCellUpdateNotify),
            "CmdMonopolyQuizDurationChangeScNotify" => {
                Some(Self::CmdMonopolyQuizDurationChangeScNotify)
            }
            "CmdGetSocialEventServerCacheCsReq" => {
                Some(Self::CmdGetSocialEventServerCacheCsReq)
            }
            "CmdMonopolyConfirmRandomCsReq" => Some(Self::CmdMonopolyConfirmRandomCsReq),
            "CmdMonopolyReRollRandomCsReq" => Some(Self::CmdMonopolyReRollRandomCsReq),
            "CmdMonopolyTakeRaffleTicketRewardCsReq" => {
                Some(Self::CmdMonopolyTakeRaffleTicketRewardCsReq)
            }
            "CmdGetMonopolyFriendRankingListCsReq" => {
                Some(Self::CmdGetMonopolyFriendRankingListCsReq)
            }
            "CmdMonopolyGetDailyInitItemCsReq" => {
                Some(Self::CmdMonopolyGetDailyInitItemCsReq)
            }
            "CmdMonopolySocialEventEffectScNotify" => {
                Some(Self::CmdMonopolySocialEventEffectScNotify)
            }
            "CmdMonopolyUpgradeAssetScRsp" => Some(Self::CmdMonopolyUpgradeAssetScRsp),
            "CmdMonopolyAcceptQuizScRsp" => Some(Self::CmdMonopolyAcceptQuizScRsp),
            "CmdMonopolyLikeScNotify" => Some(Self::CmdMonopolyLikeScNotify),
            "CmdMonopolyBuyGoodsCsReq" => Some(Self::CmdMonopolyBuyGoodsCsReq),
            "CmdMonopolySelectOptionCsReq" => Some(Self::CmdMonopolySelectOptionCsReq),
            "CmdMonopolyGiveUpCurContentCsReq" => {
                Some(Self::CmdMonopolyGiveUpCurContentCsReq)
            }
            "CmdMonopolyMoveCsReq" => Some(Self::CmdMonopolyMoveCsReq),
            "CmdMonopolyConditionUpdateScNotify" => {
                Some(Self::CmdMonopolyConditionUpdateScNotify)
            }
            "CmdMonopolyEventLoadUpdateScNotify" => {
                Some(Self::CmdMonopolyEventLoadUpdateScNotify)
            }
            "CmdGetMonopolyMbtiReportRewardScRsp" => {
                Some(Self::CmdGetMonopolyMbtiReportRewardScRsp)
            }
            "CmdMonopolyEventSelectFriendScRsp" => {
                Some(Self::CmdMonopolyEventSelectFriendScRsp)
            }
            "CmdMonopolyLikeCsReq" => Some(Self::CmdMonopolyLikeCsReq),
            "CmdMonopolySttUpdateScNotify" => Some(Self::CmdMonopolySttUpdateScNotify),
            "CmdMonopolyBuyGoodsScRsp" => Some(Self::CmdMonopolyBuyGoodsScRsp),
            "CmdMonopolyReRollRandomScRsp" => Some(Self::CmdMonopolyReRollRandomScRsp),
            "CmdMonopolyConfirmRandomScRsp" => Some(Self::CmdMonopolyConfirmRandomScRsp),
            "CmdMonopolyGetRegionProgressCsReq" => {
                Some(Self::CmdMonopolyGetRegionProgressCsReq)
            }
            "CmdMonopolyGuessBuyInformationCsReq" => {
                Some(Self::CmdMonopolyGuessBuyInformationCsReq)
            }
            "CmdGetMonopolyInfoScRsp" => Some(Self::CmdGetMonopolyInfoScRsp),
            "CmdGetMonopolyFriendRankingListScRsp" => {
                Some(Self::CmdGetMonopolyFriendRankingListScRsp)
            }
            "CmdMonopolyGetRaffleTicketScRsp" => {
                Some(Self::CmdMonopolyGetRaffleTicketScRsp)
            }
            "CmdMonopolyGameRaiseRatioScRsp" => {
                Some(Self::CmdMonopolyGameRaiseRatioScRsp)
            }
            "CmdMonopolyGetRafflePoolInfoScRsp" => {
                Some(Self::CmdMonopolyGetRafflePoolInfoScRsp)
            }
            "CmdGetSocialEventServerCacheScRsp" => {
                Some(Self::CmdGetSocialEventServerCacheScRsp)
            }
            "CmdGetMonopolyMbtiReportRewardCsReq" => {
                Some(Self::CmdGetMonopolyMbtiReportRewardCsReq)
            }
            "CmdMonopolyUpgradeAssetCsReq" => Some(Self::CmdMonopolyUpgradeAssetCsReq),
            "CmdDeleteSocialEventServerCacheCsReq" => {
                Some(Self::CmdDeleteSocialEventServerCacheCsReq)
            }
            "CmdMonopolyRollDiceCsReq" => Some(Self::CmdMonopolyRollDiceCsReq),
            "CmdMonopolyGetRegionProgressScRsp" => {
                Some(Self::CmdMonopolyGetRegionProgressScRsp)
            }
            "CmdMonopolyGuessChooseCsReq" => Some(Self::CmdMonopolyGuessChooseCsReq),
            "CmdMonopolyTakeRaffleTicketRewardScRsp" => {
                Some(Self::CmdMonopolyTakeRaffleTicketRewardScRsp)
            }
            "CmdMonopolyClickMbtiReportScRsp" => {
                Some(Self::CmdMonopolyClickMbtiReportScRsp)
            }
            "CmdMonopolyGetDailyInitItemScRsp" => {
                Some(Self::CmdMonopolyGetDailyInitItemScRsp)
            }
            "CmdMonopolyEventSelectFriendCsReq" => {
                Some(Self::CmdMonopolyEventSelectFriendCsReq)
            }
            "CmdMonopolyContentUpdateScNotify" => {
                Some(Self::CmdMonopolyContentUpdateScNotify)
            }
            "CmdMonopolyLikeScRsp" => Some(Self::CmdMonopolyLikeScRsp),
            "CmdDailyFirstEnterMonopolyActivityScRsp" => {
                Some(Self::CmdDailyFirstEnterMonopolyActivityScRsp)
            }
            "CmdGetMonopolyDailyReportCsReq" => {
                Some(Self::CmdGetMonopolyDailyReportCsReq)
            }
            "CmdMonopolyScrachRaffleTicketCsReq" => {
                Some(Self::CmdMonopolyScrachRaffleTicketCsReq)
            }
            "CmdMonopolyClickMbtiReportCsReq" => {
                Some(Self::CmdMonopolyClickMbtiReportCsReq)
            }
            "CmdGetMbtiReportCsReq" => Some(Self::CmdGetMbtiReportCsReq),
            "CmdMonopolyGameGachaScRsp" => Some(Self::CmdMonopolyGameGachaScRsp),
            "CmdMonopolyGetRafflePoolInfoCsReq" => {
                Some(Self::CmdMonopolyGetRafflePoolInfoCsReq)
            }
            "CmdMonopolyScrachRaffleTicketScRsp" => {
                Some(Self::CmdMonopolyScrachRaffleTicketScRsp)
            }
            "CmdMonopolyGuessDrawScNotify" => Some(Self::CmdMonopolyGuessDrawScNotify),
            "CmdMonopolyTakePhaseRewardCsReq" => {
                Some(Self::CmdMonopolyTakePhaseRewardCsReq)
            }
            "CmdMonopolyActionResultScNotify" => {
                Some(Self::CmdMonopolyActionResultScNotify)
            }
            "CmdMonopolyGuessChooseScRsp" => Some(Self::CmdMonopolyGuessChooseScRsp),
            "CmdMonopolyGameRaiseRatioCsReq" => {
                Some(Self::CmdMonopolyGameRaiseRatioCsReq)
            }
            "CmdMonopolyTakePhaseRewardScRsp" => {
                Some(Self::CmdMonopolyTakePhaseRewardScRsp)
            }
            "CmdDeleteSocialEventServerCacheScRsp" => {
                Some(Self::CmdDeleteSocialEventServerCacheScRsp)
            }
            "CmdMonopolyMoveScRsp" => Some(Self::CmdMonopolyMoveScRsp),
            "CmdMonopolyDailySettleScNotify" => {
                Some(Self::CmdMonopolyDailySettleScNotify)
            }
            "CmdGetMbtiReportScRsp" => Some(Self::CmdGetMbtiReportScRsp),
            "CmdDailyFirstEnterMonopolyActivityCsReq" => {
                Some(Self::CmdDailyFirstEnterMonopolyActivityCsReq)
            }
            "CmdGetMonopolyDailyReportScRsp" => {
                Some(Self::CmdGetMonopolyDailyReportScRsp)
            }
            "CmdMonopolyGuessBuyInformationScRsp" => {
                Some(Self::CmdMonopolyGuessBuyInformationScRsp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gojoindbkik {
    MonopolySocialEventStatusNone = 0,
    MonopolySocialEventStatusWaitingSelectFriend = 1,
}
impl Gojoindbkik {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Gojoindbkik::MonopolySocialEventStatusNone => {
                "MONOPOLY_SOCIAL_EVENT_STATUS_NONE"
            }
            Gojoindbkik::MonopolySocialEventStatusWaitingSelectFriend => {
                "MONOPOLY_SOCIAL_EVENT_STATUS_WAITING_SELECT_FRIEND"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MONOPOLY_SOCIAL_EVENT_STATUS_NONE" => {
                Some(Self::MonopolySocialEventStatusNone)
            }
            "MONOPOLY_SOCIAL_EVENT_STATUS_WAITING_SELECT_FRIEND" => {
                Some(Self::MonopolySocialEventStatusWaitingSelectFriend)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ihgjllngdkl {
    MonopolyCellStateIdle = 0,
    MonopolyCellStateBarrier = 1,
    MonopolyCellStateGround = 2,
    MonopolyCellStateFinish = 3,
}
impl Ihgjllngdkl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ihgjllngdkl::MonopolyCellStateIdle => "MONOPOLY_CELL_STATE_IDLE",
            Ihgjllngdkl::MonopolyCellStateBarrier => "MONOPOLY_CELL_STATE_BARRIER",
            Ihgjllngdkl::MonopolyCellStateGround => "MONOPOLY_CELL_STATE_GROUND",
            Ihgjllngdkl::MonopolyCellStateFinish => "MONOPOLY_CELL_STATE_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MONOPOLY_CELL_STATE_IDLE" => Some(Self::MonopolyCellStateIdle),
            "MONOPOLY_CELL_STATE_BARRIER" => Some(Self::MonopolyCellStateBarrier),
            "MONOPOLY_CELL_STATE_GROUND" => Some(Self::MonopolyCellStateGround),
            "MONOPOLY_CELL_STATE_FINISH" => Some(Self::MonopolyCellStateFinish),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gkejfkakenm {
    MonopolyActionResultSourceTypeNone = 0,
    MonopolyActionResultSourceTypeEffect = 1,
    MonopolyActionResultSourceTypeAssetBonus = 2,
    MonopolyActionResultSourceTypeAssetTax = 3,
    MonopolyActionResultSourceTypeAssetUpgrade = 4,
    MonopolyActionResultSourceTypeGameSettle = 5,
    MonopolyActionResultSourceTypeBuyGoods = 6,
    MonopolyActionResultSourceTypeClick = 7,
    MonopolyActionResultSourceTypeSocialEvent = 8,
    MonopolyActionResultSourceTypeLike = 9,
    MonopolyActionResultSourceTypeQuizGameSettle = 10,
}
impl Gkejfkakenm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Gkejfkakenm::MonopolyActionResultSourceTypeNone => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_NONE"
            }
            Gkejfkakenm::MonopolyActionResultSourceTypeEffect => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_EFFECT"
            }
            Gkejfkakenm::MonopolyActionResultSourceTypeAssetBonus => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_ASSET_BONUS"
            }
            Gkejfkakenm::MonopolyActionResultSourceTypeAssetTax => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_ASSET_TAX"
            }
            Gkejfkakenm::MonopolyActionResultSourceTypeAssetUpgrade => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_ASSET_UPGRADE"
            }
            Gkejfkakenm::MonopolyActionResultSourceTypeGameSettle => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_GAME_SETTLE"
            }
            Gkejfkakenm::MonopolyActionResultSourceTypeBuyGoods => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_BUY_GOODS"
            }
            Gkejfkakenm::MonopolyActionResultSourceTypeClick => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_CLICK"
            }
            Gkejfkakenm::MonopolyActionResultSourceTypeSocialEvent => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_SOCIAL_EVENT"
            }
            Gkejfkakenm::MonopolyActionResultSourceTypeLike => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_LIKE"
            }
            Gkejfkakenm::MonopolyActionResultSourceTypeQuizGameSettle => {
                "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_QUIZ_GAME_SETTLE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_NONE" => {
                Some(Self::MonopolyActionResultSourceTypeNone)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_EFFECT" => {
                Some(Self::MonopolyActionResultSourceTypeEffect)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_ASSET_BONUS" => {
                Some(Self::MonopolyActionResultSourceTypeAssetBonus)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_ASSET_TAX" => {
                Some(Self::MonopolyActionResultSourceTypeAssetTax)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_ASSET_UPGRADE" => {
                Some(Self::MonopolyActionResultSourceTypeAssetUpgrade)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_GAME_SETTLE" => {
                Some(Self::MonopolyActionResultSourceTypeGameSettle)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_BUY_GOODS" => {
                Some(Self::MonopolyActionResultSourceTypeBuyGoods)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_CLICK" => {
                Some(Self::MonopolyActionResultSourceTypeClick)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_SOCIAL_EVENT" => {
                Some(Self::MonopolyActionResultSourceTypeSocialEvent)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_LIKE" => {
                Some(Self::MonopolyActionResultSourceTypeLike)
            }
            "MONOPOLY_ACTION_RESULT_SOURCE_TYPE_QUIZ_GAME_SETTLE" => {
                Some(Self::MonopolyActionResultSourceTypeQuizGameSettle)
            }
            _ => None,
        }
    }
}
/// Obf: GGJAIBFOBCD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMultiplayerType {
    None = 0,
    CmdMultiplayerFightGiveUpCsReq = 1030,
    CmdMultiplayerFightGiveUpScRsp = 1056,
    CmdMultiplayerFightGameStartScNotify = 1097,
    CmdMultiplayerFightGameFinishScNotify = 1076,
    CmdMultiplayerGetFightGateCsReq = 1058,
    CmdMultiplayerGetFightGateScRsp = 1024,
    CmdMultiplayerFightGameStateScRsp = 1068,
    CmdMultiplayerFightGameStateCsReq = 1001,
    CmdMultiplayerMatch3FinishScNotify = 1028,
}
impl CmdMultiplayerType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMultiplayerType::None => "CmdMultiplayerTypeNone",
            CmdMultiplayerType::CmdMultiplayerFightGiveUpCsReq => {
                "CmdMultiplayerFightGiveUpCsReq"
            }
            CmdMultiplayerType::CmdMultiplayerFightGiveUpScRsp => {
                "CmdMultiplayerFightGiveUpScRsp"
            }
            CmdMultiplayerType::CmdMultiplayerFightGameStartScNotify => {
                "CmdMultiplayerFightGameStartScNotify"
            }
            CmdMultiplayerType::CmdMultiplayerFightGameFinishScNotify => {
                "CmdMultiplayerFightGameFinishScNotify"
            }
            CmdMultiplayerType::CmdMultiplayerGetFightGateCsReq => {
                "CmdMultiplayerGetFightGateCsReq"
            }
            CmdMultiplayerType::CmdMultiplayerGetFightGateScRsp => {
                "CmdMultiplayerGetFightGateScRsp"
            }
            CmdMultiplayerType::CmdMultiplayerFightGameStateScRsp => {
                "CmdMultiplayerFightGameStateScRsp"
            }
            CmdMultiplayerType::CmdMultiplayerFightGameStateCsReq => {
                "CmdMultiplayerFightGameStateCsReq"
            }
            CmdMultiplayerType::CmdMultiplayerMatch3FinishScNotify => {
                "CmdMultiplayerMatch3FinishScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMultiplayerTypeNone" => Some(Self::None),
            "CmdMultiplayerFightGiveUpCsReq" => {
                Some(Self::CmdMultiplayerFightGiveUpCsReq)
            }
            "CmdMultiplayerFightGiveUpScRsp" => {
                Some(Self::CmdMultiplayerFightGiveUpScRsp)
            }
            "CmdMultiplayerFightGameStartScNotify" => {
                Some(Self::CmdMultiplayerFightGameStartScNotify)
            }
            "CmdMultiplayerFightGameFinishScNotify" => {
                Some(Self::CmdMultiplayerFightGameFinishScNotify)
            }
            "CmdMultiplayerGetFightGateCsReq" => {
                Some(Self::CmdMultiplayerGetFightGateCsReq)
            }
            "CmdMultiplayerGetFightGateScRsp" => {
                Some(Self::CmdMultiplayerGetFightGateScRsp)
            }
            "CmdMultiplayerFightGameStateScRsp" => {
                Some(Self::CmdMultiplayerFightGameStateScRsp)
            }
            "CmdMultiplayerFightGameStateCsReq" => {
                Some(Self::CmdMultiplayerFightGameStateCsReq)
            }
            "CmdMultiplayerMatch3FinishScNotify" => {
                Some(Self::CmdMultiplayerMatch3FinishScNotify)
            }
            _ => None,
        }
    }
}
/// Obf: LAJPOLACPBI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMultipleDropType {
    None = 0,
    CmdGetPlayerReturnMultiDropInfoCsReq = 4624,
    CmdMultipleDropInfoScNotify = 4658,
    CmdGetMultipleDropInfoCsReq = 4601,
    CmdGetMultipleDropInfoScRsp = 4668,
    CmdMultipleDropInfoNotify = 4656,
    CmdGetPlayerReturnMultiDropInfoScRsp = 4630,
}
impl CmdMultipleDropType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMultipleDropType::None => "CmdMultipleDropTypeNone",
            CmdMultipleDropType::CmdGetPlayerReturnMultiDropInfoCsReq => {
                "CmdGetPlayerReturnMultiDropInfoCsReq"
            }
            CmdMultipleDropType::CmdMultipleDropInfoScNotify => {
                "CmdMultipleDropInfoScNotify"
            }
            CmdMultipleDropType::CmdGetMultipleDropInfoCsReq => {
                "CmdGetMultipleDropInfoCsReq"
            }
            CmdMultipleDropType::CmdGetMultipleDropInfoScRsp => {
                "CmdGetMultipleDropInfoScRsp"
            }
            CmdMultipleDropType::CmdMultipleDropInfoNotify => "CmdMultipleDropInfoNotify",
            CmdMultipleDropType::CmdGetPlayerReturnMultiDropInfoScRsp => {
                "CmdGetPlayerReturnMultiDropInfoScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMultipleDropTypeNone" => Some(Self::None),
            "CmdGetPlayerReturnMultiDropInfoCsReq" => {
                Some(Self::CmdGetPlayerReturnMultiDropInfoCsReq)
            }
            "CmdMultipleDropInfoScNotify" => Some(Self::CmdMultipleDropInfoScNotify),
            "CmdGetMultipleDropInfoCsReq" => Some(Self::CmdGetMultipleDropInfoCsReq),
            "CmdGetMultipleDropInfoScRsp" => Some(Self::CmdGetMultipleDropInfoScRsp),
            "CmdMultipleDropInfoNotify" => Some(Self::CmdMultipleDropInfoNotify),
            "CmdGetPlayerReturnMultiDropInfoScRsp" => {
                Some(Self::CmdGetPlayerReturnMultiDropInfoScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: FBGHFPEFFGL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMuseumType {
    None = 0,
    CmdMuseumTargetRewardNotify = 4369,
    CmdFinishCurTurnCsReq = 4305,
    CmdMuseumRandomEventSelectScRsp = 4318,
    CmdGetStuffScNotify = 4328,
    CmdRemoveStuffFromAreaScRsp = 4376,
    CmdSetStuffToAreaCsReq = 4330,
    CmdMuseumRandomEventSelectCsReq = 4391,
    CmdMuseumRandomEventQueryCsReq = 4312,
    CmdMuseumInfoChangedScNotify = 4339,
    CmdMuseumTargetStartNotify = 4350,
    CmdRemoveStuffFromAreaCsReq = 4397,
    CmdMuseumTakeCollectRewardScRsp = 4392,
    CmdUpgradeAreaCsReq = 4349,
    CmdUpgradeAreaStatScRsp = 4380,
    CmdUpgradeAreaStatCsReq = 4347,
    CmdFinishCurTurnScRsp = 4314,
    CmdMuseumDispatchFinishedScNotify = 4395,
    CmdBuyNpcStuffCsReq = 4358,
    CmdMuseumFundsChangedScNotify = 4396,
    CmdUpgradeAreaScRsp = 4322,
    CmdGetMuseumInfoScRsp = 4368,
    CmdMuseumTakeCollectRewardCsReq = 4320,
    CmdSetStuffToAreaScRsp = 4356,
    CmdMuseumRandomEventQueryScRsp = 4317,
    CmdMuseumTargetMissionFinishNotify = 4348,
    CmdBuyNpcStuffScRsp = 4324,
    CmdGetExhibitScNotify = 4311,
    CmdGetMuseumInfoCsReq = 4301,
    CmdMuseumRandomEventStartScNotify = 4323,
}
impl CmdMuseumType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMuseumType::None => "CmdMuseumTypeNone",
            CmdMuseumType::CmdMuseumTargetRewardNotify => "CmdMuseumTargetRewardNotify",
            CmdMuseumType::CmdFinishCurTurnCsReq => "CmdFinishCurTurnCsReq",
            CmdMuseumType::CmdMuseumRandomEventSelectScRsp => {
                "CmdMuseumRandomEventSelectScRsp"
            }
            CmdMuseumType::CmdGetStuffScNotify => "CmdGetStuffScNotify",
            CmdMuseumType::CmdRemoveStuffFromAreaScRsp => "CmdRemoveStuffFromAreaScRsp",
            CmdMuseumType::CmdSetStuffToAreaCsReq => "CmdSetStuffToAreaCsReq",
            CmdMuseumType::CmdMuseumRandomEventSelectCsReq => {
                "CmdMuseumRandomEventSelectCsReq"
            }
            CmdMuseumType::CmdMuseumRandomEventQueryCsReq => {
                "CmdMuseumRandomEventQueryCsReq"
            }
            CmdMuseumType::CmdMuseumInfoChangedScNotify => "CmdMuseumInfoChangedScNotify",
            CmdMuseumType::CmdMuseumTargetStartNotify => "CmdMuseumTargetStartNotify",
            CmdMuseumType::CmdRemoveStuffFromAreaCsReq => "CmdRemoveStuffFromAreaCsReq",
            CmdMuseumType::CmdMuseumTakeCollectRewardScRsp => {
                "CmdMuseumTakeCollectRewardScRsp"
            }
            CmdMuseumType::CmdUpgradeAreaCsReq => "CmdUpgradeAreaCsReq",
            CmdMuseumType::CmdUpgradeAreaStatScRsp => "CmdUpgradeAreaStatScRsp",
            CmdMuseumType::CmdUpgradeAreaStatCsReq => "CmdUpgradeAreaStatCsReq",
            CmdMuseumType::CmdFinishCurTurnScRsp => "CmdFinishCurTurnScRsp",
            CmdMuseumType::CmdMuseumDispatchFinishedScNotify => {
                "CmdMuseumDispatchFinishedScNotify"
            }
            CmdMuseumType::CmdBuyNpcStuffCsReq => "CmdBuyNpcStuffCsReq",
            CmdMuseumType::CmdMuseumFundsChangedScNotify => {
                "CmdMuseumFundsChangedScNotify"
            }
            CmdMuseumType::CmdUpgradeAreaScRsp => "CmdUpgradeAreaScRsp",
            CmdMuseumType::CmdGetMuseumInfoScRsp => "CmdGetMuseumInfoScRsp",
            CmdMuseumType::CmdMuseumTakeCollectRewardCsReq => {
                "CmdMuseumTakeCollectRewardCsReq"
            }
            CmdMuseumType::CmdSetStuffToAreaScRsp => "CmdSetStuffToAreaScRsp",
            CmdMuseumType::CmdMuseumRandomEventQueryScRsp => {
                "CmdMuseumRandomEventQueryScRsp"
            }
            CmdMuseumType::CmdMuseumTargetMissionFinishNotify => {
                "CmdMuseumTargetMissionFinishNotify"
            }
            CmdMuseumType::CmdBuyNpcStuffScRsp => "CmdBuyNpcStuffScRsp",
            CmdMuseumType::CmdGetExhibitScNotify => "CmdGetExhibitScNotify",
            CmdMuseumType::CmdGetMuseumInfoCsReq => "CmdGetMuseumInfoCsReq",
            CmdMuseumType::CmdMuseumRandomEventStartScNotify => {
                "CmdMuseumRandomEventStartScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMuseumTypeNone" => Some(Self::None),
            "CmdMuseumTargetRewardNotify" => Some(Self::CmdMuseumTargetRewardNotify),
            "CmdFinishCurTurnCsReq" => Some(Self::CmdFinishCurTurnCsReq),
            "CmdMuseumRandomEventSelectScRsp" => {
                Some(Self::CmdMuseumRandomEventSelectScRsp)
            }
            "CmdGetStuffScNotify" => Some(Self::CmdGetStuffScNotify),
            "CmdRemoveStuffFromAreaScRsp" => Some(Self::CmdRemoveStuffFromAreaScRsp),
            "CmdSetStuffToAreaCsReq" => Some(Self::CmdSetStuffToAreaCsReq),
            "CmdMuseumRandomEventSelectCsReq" => {
                Some(Self::CmdMuseumRandomEventSelectCsReq)
            }
            "CmdMuseumRandomEventQueryCsReq" => {
                Some(Self::CmdMuseumRandomEventQueryCsReq)
            }
            "CmdMuseumInfoChangedScNotify" => Some(Self::CmdMuseumInfoChangedScNotify),
            "CmdMuseumTargetStartNotify" => Some(Self::CmdMuseumTargetStartNotify),
            "CmdRemoveStuffFromAreaCsReq" => Some(Self::CmdRemoveStuffFromAreaCsReq),
            "CmdMuseumTakeCollectRewardScRsp" => {
                Some(Self::CmdMuseumTakeCollectRewardScRsp)
            }
            "CmdUpgradeAreaCsReq" => Some(Self::CmdUpgradeAreaCsReq),
            "CmdUpgradeAreaStatScRsp" => Some(Self::CmdUpgradeAreaStatScRsp),
            "CmdUpgradeAreaStatCsReq" => Some(Self::CmdUpgradeAreaStatCsReq),
            "CmdFinishCurTurnScRsp" => Some(Self::CmdFinishCurTurnScRsp),
            "CmdMuseumDispatchFinishedScNotify" => {
                Some(Self::CmdMuseumDispatchFinishedScNotify)
            }
            "CmdBuyNpcStuffCsReq" => Some(Self::CmdBuyNpcStuffCsReq),
            "CmdMuseumFundsChangedScNotify" => Some(Self::CmdMuseumFundsChangedScNotify),
            "CmdUpgradeAreaScRsp" => Some(Self::CmdUpgradeAreaScRsp),
            "CmdGetMuseumInfoScRsp" => Some(Self::CmdGetMuseumInfoScRsp),
            "CmdMuseumTakeCollectRewardCsReq" => {
                Some(Self::CmdMuseumTakeCollectRewardCsReq)
            }
            "CmdSetStuffToAreaScRsp" => Some(Self::CmdSetStuffToAreaScRsp),
            "CmdMuseumRandomEventQueryScRsp" => {
                Some(Self::CmdMuseumRandomEventQueryScRsp)
            }
            "CmdMuseumTargetMissionFinishNotify" => {
                Some(Self::CmdMuseumTargetMissionFinishNotify)
            }
            "CmdBuyNpcStuffScRsp" => Some(Self::CmdBuyNpcStuffScRsp),
            "CmdGetExhibitScNotify" => Some(Self::CmdGetExhibitScNotify),
            "CmdGetMuseumInfoCsReq" => Some(Self::CmdGetMuseumInfoCsReq),
            "CmdMuseumRandomEventStartScNotify" => {
                Some(Self::CmdMuseumRandomEventStartScNotify)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Aihadkbhpbm {
    MuseumRandomEventStateNone = 0,
    MuseumRandomEventStateStart = 1,
    MuseumRandomEventStateProcessing = 2,
    MuseumRandomEventStateFinish = 3,
}
impl Aihadkbhpbm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Aihadkbhpbm::MuseumRandomEventStateNone => "MUSEUM_RANDOM_EVENT_STATE_NONE",
            Aihadkbhpbm::MuseumRandomEventStateStart => "MUSEUM_RANDOM_EVENT_STATE_START",
            Aihadkbhpbm::MuseumRandomEventStateProcessing => {
                "MUSEUM_RANDOM_EVENT_STATE_PROCESSING"
            }
            Aihadkbhpbm::MuseumRandomEventStateFinish => {
                "MUSEUM_RANDOM_EVENT_STATE_FINISH"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MUSEUM_RANDOM_EVENT_STATE_NONE" => Some(Self::MuseumRandomEventStateNone),
            "MUSEUM_RANDOM_EVENT_STATE_START" => Some(Self::MuseumRandomEventStateStart),
            "MUSEUM_RANDOM_EVENT_STATE_PROCESSING" => {
                Some(Self::MuseumRandomEventStateProcessing)
            }
            "MUSEUM_RANDOM_EVENT_STATE_FINISH" => {
                Some(Self::MuseumRandomEventStateFinish)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kamlglmnjgj {
    WorkPosNone = 0,
    WorkPos1 = 1,
    WorkPos2 = 2,
    WorkPos3 = 3,
}
impl Kamlglmnjgj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Kamlglmnjgj::WorkPosNone => "WORK_POS_NONE",
            Kamlglmnjgj::WorkPos1 => "WORK_POS_1",
            Kamlglmnjgj::WorkPos2 => "WORK_POS_2",
            Kamlglmnjgj::WorkPos3 => "WORK_POS_3",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "WORK_POS_NONE" => Some(Self::WorkPosNone),
            "WORK_POS_1" => Some(Self::WorkPos1),
            "WORK_POS_2" => Some(Self::WorkPos2),
            "WORK_POS_3" => Some(Self::WorkPos3),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ibbgdgghejl {
    StatTypeNone = 0,
    StatTypeArt = 1,
    StatTypeCulture = 2,
    StatTypePopular = 3,
}
impl Ibbgdgghejl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ibbgdgghejl::StatTypeNone => "STAT_TYPE_NONE",
            Ibbgdgghejl::StatTypeArt => "STAT_TYPE_ART",
            Ibbgdgghejl::StatTypeCulture => "STAT_TYPE_CULTURE",
            Ibbgdgghejl::StatTypePopular => "STAT_TYPE_POPULAR",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "STAT_TYPE_NONE" => Some(Self::StatTypeNone),
            "STAT_TYPE_ART" => Some(Self::StatTypeArt),
            "STAT_TYPE_CULTURE" => Some(Self::StatTypeCulture),
            "STAT_TYPE_POPULAR" => Some(Self::StatTypePopular),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kgjjjkpdcfg {
    Unknow = 0,
    MissionReward = 1,
    EventBuyStuff = 2,
    MarketBuyStuff = 3,
    QuestReward = 4,
    Initial = 5,
    PhaseFinishReward = 6,
}
impl Kgjjjkpdcfg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Kgjjjkpdcfg::Unknow => "UNKNOW",
            Kgjjjkpdcfg::MissionReward => "MISSION_REWARD",
            Kgjjjkpdcfg::EventBuyStuff => "EVENT_BUY_STUFF",
            Kgjjjkpdcfg::MarketBuyStuff => "MARKET_BUY_STUFF",
            Kgjjjkpdcfg::QuestReward => "QUEST_REWARD",
            Kgjjjkpdcfg::Initial => "INITIAL",
            Kgjjjkpdcfg::PhaseFinishReward => "PHASE_FINISH_REWARD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "UNKNOW" => Some(Self::Unknow),
            "MISSION_REWARD" => Some(Self::MissionReward),
            "EVENT_BUY_STUFF" => Some(Self::EventBuyStuff),
            "MARKET_BUY_STUFF" => Some(Self::MarketBuyStuff),
            "QUEST_REWARD" => Some(Self::QuestReward),
            "INITIAL" => Some(Self::Initial),
            "PHASE_FINISH_REWARD" => Some(Self::PhaseFinishReward),
            _ => None,
        }
    }
}
/// Obf: FBGKFINCMIB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMusicRhythmType {
    None = 0,
    CmdMusicRhythmSaveSongConfigDataScRsp = 7595,
    CmdMusicRhythmUnlockTrackScNotify = 7591,
    CmdMusicRhythmFinishLevelCsReq = 7585,
    CmdMusicRhythmMaxDifficultyLevelsUnlockNotify = 7592,
    CmdMusicRhythmUnlockSongSfxScNotify = 7578,
    CmdMusicRhythmUnlockSongNotify = 7596,
    CmdMusicRhythmDataCsReq = 7583,
    CmdMusicRhythmDataScRsp = 7586,
    CmdMusicRhythmSaveSongConfigDataCsReq = 7572,
    CmdMusicRhythmStartLevelCsReq = 7598,
    CmdMusicRhythmStartLevelScRsp = 7571,
    CmdMusicRhythmFinishLevelScRsp = 7593,
}
impl CmdMusicRhythmType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdMusicRhythmType::None => "CmdMusicRhythmTypeNone",
            CmdMusicRhythmType::CmdMusicRhythmSaveSongConfigDataScRsp => {
                "CmdMusicRhythmSaveSongConfigDataScRsp"
            }
            CmdMusicRhythmType::CmdMusicRhythmUnlockTrackScNotify => {
                "CmdMusicRhythmUnlockTrackScNotify"
            }
            CmdMusicRhythmType::CmdMusicRhythmFinishLevelCsReq => {
                "CmdMusicRhythmFinishLevelCsReq"
            }
            CmdMusicRhythmType::CmdMusicRhythmMaxDifficultyLevelsUnlockNotify => {
                "CmdMusicRhythmMaxDifficultyLevelsUnlockNotify"
            }
            CmdMusicRhythmType::CmdMusicRhythmUnlockSongSfxScNotify => {
                "CmdMusicRhythmUnlockSongSfxScNotify"
            }
            CmdMusicRhythmType::CmdMusicRhythmUnlockSongNotify => {
                "CmdMusicRhythmUnlockSongNotify"
            }
            CmdMusicRhythmType::CmdMusicRhythmDataCsReq => "CmdMusicRhythmDataCsReq",
            CmdMusicRhythmType::CmdMusicRhythmDataScRsp => "CmdMusicRhythmDataScRsp",
            CmdMusicRhythmType::CmdMusicRhythmSaveSongConfigDataCsReq => {
                "CmdMusicRhythmSaveSongConfigDataCsReq"
            }
            CmdMusicRhythmType::CmdMusicRhythmStartLevelCsReq => {
                "CmdMusicRhythmStartLevelCsReq"
            }
            CmdMusicRhythmType::CmdMusicRhythmStartLevelScRsp => {
                "CmdMusicRhythmStartLevelScRsp"
            }
            CmdMusicRhythmType::CmdMusicRhythmFinishLevelScRsp => {
                "CmdMusicRhythmFinishLevelScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdMusicRhythmTypeNone" => Some(Self::None),
            "CmdMusicRhythmSaveSongConfigDataScRsp" => {
                Some(Self::CmdMusicRhythmSaveSongConfigDataScRsp)
            }
            "CmdMusicRhythmUnlockTrackScNotify" => {
                Some(Self::CmdMusicRhythmUnlockTrackScNotify)
            }
            "CmdMusicRhythmFinishLevelCsReq" => {
                Some(Self::CmdMusicRhythmFinishLevelCsReq)
            }
            "CmdMusicRhythmMaxDifficultyLevelsUnlockNotify" => {
                Some(Self::CmdMusicRhythmMaxDifficultyLevelsUnlockNotify)
            }
            "CmdMusicRhythmUnlockSongSfxScNotify" => {
                Some(Self::CmdMusicRhythmUnlockSongSfxScNotify)
            }
            "CmdMusicRhythmUnlockSongNotify" => {
                Some(Self::CmdMusicRhythmUnlockSongNotify)
            }
            "CmdMusicRhythmDataCsReq" => Some(Self::CmdMusicRhythmDataCsReq),
            "CmdMusicRhythmDataScRsp" => Some(Self::CmdMusicRhythmDataScRsp),
            "CmdMusicRhythmSaveSongConfigDataCsReq" => {
                Some(Self::CmdMusicRhythmSaveSongConfigDataCsReq)
            }
            "CmdMusicRhythmStartLevelCsReq" => Some(Self::CmdMusicRhythmStartLevelCsReq),
            "CmdMusicRhythmStartLevelScRsp" => Some(Self::CmdMusicRhythmStartLevelScRsp),
            "CmdMusicRhythmFinishLevelScRsp" => {
                Some(Self::CmdMusicRhythmFinishLevelScRsp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Epgdhhhdjdc {
    StatusClose = 0,
    StatusOpen = 1,
}
impl Epgdhhhdjdc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Epgdhhhdjdc::StatusClose => "STATUS_CLOSE",
            Epgdhhhdjdc::StatusOpen => "STATUS_OPEN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "STATUS_CLOSE" => Some(Self::StatusClose),
            "STATUS_OPEN" => Some(Self::StatusOpen),
            _ => None,
        }
    }
}
/// Obf: BMOHAFKGGLO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdOfferingType {
    None = 0,
    CmdSubmitOfferingItemScRsp = 6922,
    CmdTakeOfferingRewardScRsp = 6921,
    CmdGetOfferingInfoCsReq = 6937,
    CmdSubmitOfferingItemCsReq = 6932,
    CmdTakeOfferingRewardCsReq = 6924,
    CmdOfferingInfoScNotify = 6939,
    CmdGetOfferingInfoScRsp = 6928,
}
impl CmdOfferingType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdOfferingType::None => "CmdOfferingTypeNone",
            CmdOfferingType::CmdSubmitOfferingItemScRsp => "CmdSubmitOfferingItemScRsp",
            CmdOfferingType::CmdTakeOfferingRewardScRsp => "CmdTakeOfferingRewardScRsp",
            CmdOfferingType::CmdGetOfferingInfoCsReq => "CmdGetOfferingInfoCsReq",
            CmdOfferingType::CmdSubmitOfferingItemCsReq => "CmdSubmitOfferingItemCsReq",
            CmdOfferingType::CmdTakeOfferingRewardCsReq => "CmdTakeOfferingRewardCsReq",
            CmdOfferingType::CmdOfferingInfoScNotify => "CmdOfferingInfoScNotify",
            CmdOfferingType::CmdGetOfferingInfoScRsp => "CmdGetOfferingInfoScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdOfferingTypeNone" => Some(Self::None),
            "CmdSubmitOfferingItemScRsp" => Some(Self::CmdSubmitOfferingItemScRsp),
            "CmdTakeOfferingRewardScRsp" => Some(Self::CmdTakeOfferingRewardScRsp),
            "CmdGetOfferingInfoCsReq" => Some(Self::CmdGetOfferingInfoCsReq),
            "CmdSubmitOfferingItemCsReq" => Some(Self::CmdSubmitOfferingItemCsReq),
            "CmdTakeOfferingRewardCsReq" => Some(Self::CmdTakeOfferingRewardCsReq),
            "CmdOfferingInfoScNotify" => Some(Self::CmdOfferingInfoScNotify),
            "CmdGetOfferingInfoScRsp" => Some(Self::CmdGetOfferingInfoScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fbomlibegoc {
    OfferingStateNone = 0,
    OfferingStateLock = 1,
    OfferingStateOpen = 2,
}
impl Fbomlibegoc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Fbomlibegoc::OfferingStateNone => "OFFERING_STATE_NONE",
            Fbomlibegoc::OfferingStateLock => "OFFERING_STATE_LOCK",
            Fbomlibegoc::OfferingStateOpen => "OFFERING_STATE_OPEN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OFFERING_STATE_NONE" => Some(Self::OfferingStateNone),
            "OFFERING_STATE_LOCK" => Some(Self::OfferingStateLock),
            "OFFERING_STATE_OPEN" => Some(Self::OfferingStateOpen),
            _ => None,
        }
    }
}
/// Obf: FBCBBJLCMGP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPamMissionType {
    None = 0,
    CmdAcceptedPamMissionExpireCsReq = 4001,
    CmdAcceptedPamMissionExpireScRsp = 4068,
    CmdSyncAcceptedPamMissionNotify = 4058,
}
impl CmdPamMissionType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdPamMissionType::None => "CmdPamMissionTypeNone",
            CmdPamMissionType::CmdAcceptedPamMissionExpireCsReq => {
                "CmdAcceptedPamMissionExpireCsReq"
            }
            CmdPamMissionType::CmdAcceptedPamMissionExpireScRsp => {
                "CmdAcceptedPamMissionExpireScRsp"
            }
            CmdPamMissionType::CmdSyncAcceptedPamMissionNotify => {
                "CmdSyncAcceptedPamMissionNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPamMissionTypeNone" => Some(Self::None),
            "CmdAcceptedPamMissionExpireCsReq" => {
                Some(Self::CmdAcceptedPamMissionExpireCsReq)
            }
            "CmdAcceptedPamMissionExpireScRsp" => {
                Some(Self::CmdAcceptedPamMissionExpireScRsp)
            }
            "CmdSyncAcceptedPamMissionNotify" => {
                Some(Self::CmdSyncAcceptedPamMissionNotify)
            }
            _ => None,
        }
    }
}
/// Obf: PGNDIMHLNJJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPamSkinType {
    None = 0,
    CmdUnlockPamSkinScNotify = 8124,
    CmdSelectPamSkinCsReq = 8132,
    CmdGetPamSkinDataCsReq = 8137,
    CmdGetPamSkinDataScRsp = 8128,
    CmdSelectPamSkinScRsp = 8122,
}
impl CmdPamSkinType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdPamSkinType::None => "CmdPamSkinTypeNone",
            CmdPamSkinType::CmdUnlockPamSkinScNotify => "CmdUnlockPamSkinScNotify",
            CmdPamSkinType::CmdSelectPamSkinCsReq => "CmdSelectPamSkinCsReq",
            CmdPamSkinType::CmdGetPamSkinDataCsReq => "CmdGetPamSkinDataCsReq",
            CmdPamSkinType::CmdGetPamSkinDataScRsp => "CmdGetPamSkinDataScRsp",
            CmdPamSkinType::CmdSelectPamSkinScRsp => "CmdSelectPamSkinScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPamSkinTypeNone" => Some(Self::None),
            "CmdUnlockPamSkinScNotify" => Some(Self::CmdUnlockPamSkinScNotify),
            "CmdSelectPamSkinCsReq" => Some(Self::CmdSelectPamSkinCsReq),
            "CmdGetPamSkinDataCsReq" => Some(Self::CmdGetPamSkinDataCsReq),
            "CmdGetPamSkinDataScRsp" => Some(Self::CmdGetPamSkinDataScRsp),
            "CmdSelectPamSkinScRsp" => Some(Self::CmdSelectPamSkinScRsp),
            _ => None,
        }
    }
}
/// Obf: DDJJCPPGCOE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPetType {
    None = 0,
    CmdCurPetChangedScNotify = 7616,
    CmdSummonPetCsReq = 7601,
    CmdRecallPetCsReq = 7623,
    CmdRecallPetScRsp = 7608,
    CmdGetPetDataCsReq = 7622,
    CmdGetPetDataScRsp = 7614,
    CmdSummonPetScRsp = 7615,
}
impl CmdPetType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdPetType::None => "CmdPetTypeNone",
            CmdPetType::CmdCurPetChangedScNotify => "CmdCurPetChangedScNotify",
            CmdPetType::CmdSummonPetCsReq => "CmdSummonPetCsReq",
            CmdPetType::CmdRecallPetCsReq => "CmdRecallPetCsReq",
            CmdPetType::CmdRecallPetScRsp => "CmdRecallPetScRsp",
            CmdPetType::CmdGetPetDataCsReq => "CmdGetPetDataCsReq",
            CmdPetType::CmdGetPetDataScRsp => "CmdGetPetDataScRsp",
            CmdPetType::CmdSummonPetScRsp => "CmdSummonPetScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPetTypeNone" => Some(Self::None),
            "CmdCurPetChangedScNotify" => Some(Self::CmdCurPetChangedScNotify),
            "CmdSummonPetCsReq" => Some(Self::CmdSummonPetCsReq),
            "CmdRecallPetCsReq" => Some(Self::CmdRecallPetCsReq),
            "CmdRecallPetScRsp" => Some(Self::CmdRecallPetScRsp),
            "CmdGetPetDataCsReq" => Some(Self::CmdGetPetDataCsReq),
            "CmdGetPetDataScRsp" => Some(Self::CmdGetPetDataScRsp),
            "CmdSummonPetScRsp" => Some(Self::CmdSummonPetScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cdefbkpcppa {
    PetOperationTypeNone = 0,
    PetOperationTypeSummon = 1,
    PetOperationTypeRecall = 2,
}
impl Cdefbkpcppa {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Cdefbkpcppa::PetOperationTypeNone => "PET_OPERATION_TYPE_NONE",
            Cdefbkpcppa::PetOperationTypeSummon => "PET_OPERATION_TYPE_SUMMON",
            Cdefbkpcppa::PetOperationTypeRecall => "PET_OPERATION_TYPE_RECALL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PET_OPERATION_TYPE_NONE" => Some(Self::PetOperationTypeNone),
            "PET_OPERATION_TYPE_SUMMON" => Some(Self::PetOperationTypeSummon),
            "PET_OPERATION_TYPE_RECALL" => Some(Self::PetOperationTypeRecall),
            _ => None,
        }
    }
}
/// Obf: ONIDFEPMGCF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPhoneType {
    None = 0,
    CmdGetPhoneDataScRsp = 5168,
    CmdUnlockPhoneThemeScNotify = 5176,
    CmdUnlockChatBubbleScNotify = 5130,
    CmdSelectPhoneThemeCsReq = 5156,
    CmdSelectPhoneThemeScRsp = 5197,
    CmdSelectChatBubbleScRsp = 5124,
    CmdGetPhoneDataCsReq = 5101,
    CmdSelectChatBubbleCsReq = 5158,
}
impl CmdPhoneType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdPhoneType::None => "CmdPhoneTypeNone",
            CmdPhoneType::CmdGetPhoneDataScRsp => "CmdGetPhoneDataScRsp",
            CmdPhoneType::CmdUnlockPhoneThemeScNotify => "CmdUnlockPhoneThemeScNotify",
            CmdPhoneType::CmdUnlockChatBubbleScNotify => "CmdUnlockChatBubbleScNotify",
            CmdPhoneType::CmdSelectPhoneThemeCsReq => "CmdSelectPhoneThemeCsReq",
            CmdPhoneType::CmdSelectPhoneThemeScRsp => "CmdSelectPhoneThemeScRsp",
            CmdPhoneType::CmdSelectChatBubbleScRsp => "CmdSelectChatBubbleScRsp",
            CmdPhoneType::CmdGetPhoneDataCsReq => "CmdGetPhoneDataCsReq",
            CmdPhoneType::CmdSelectChatBubbleCsReq => "CmdSelectChatBubbleCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPhoneTypeNone" => Some(Self::None),
            "CmdGetPhoneDataScRsp" => Some(Self::CmdGetPhoneDataScRsp),
            "CmdUnlockPhoneThemeScNotify" => Some(Self::CmdUnlockPhoneThemeScNotify),
            "CmdUnlockChatBubbleScNotify" => Some(Self::CmdUnlockChatBubbleScNotify),
            "CmdSelectPhoneThemeCsReq" => Some(Self::CmdSelectPhoneThemeCsReq),
            "CmdSelectPhoneThemeScRsp" => Some(Self::CmdSelectPhoneThemeScRsp),
            "CmdSelectChatBubbleScRsp" => Some(Self::CmdSelectChatBubbleScRsp),
            "CmdGetPhoneDataCsReq" => Some(Self::CmdGetPhoneDataCsReq),
            "CmdSelectChatBubbleCsReq" => Some(Self::CmdSelectChatBubbleCsReq),
            _ => None,
        }
    }
}
/// Obf: ENDOCLJNEEC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlayerType {
    None = 0,
    CmdPlayerLoginScRsp = 68,
    CmdReserveStaminaExchangeCsReq = 51,
    CmdFeatureSwitchClosedScNotify = 88,
    CmdGetAuthkeyCsReq = 80,
    CmdGetAuthkeyScRsp = 39,
    CmdQueryProductInfoScRsp = 67,
    CmdSetGameplayBirthdayCsReq = 54,
    CmdStaminaInfoScNotify = 72,
    CmdSetRedPointStatusScNotify = 34,
    CmdUnlockAvatarPathScRsp = 94,
    CmdSetGenderCsReq = 40,
    CmdGetSecretKeyInfoCsReq = 74,
    CmdGetLevelRewardTakenListCsReq = 91,
    CmdSetGameplayBirthdayScRsp = 61,
    CmdUnlockAvatarPathCsReq = 43,
    CmdGetGameStateServiceConfigCsReq = 21,
    CmdGetMultiPathAvatarInfoScRsp = 53,
    CmdServerAnnounceNotify = 70,
    CmdGateServerScNotify = 7,
    CmdSetMultipleAvatarPathsCsReq = 45,
    CmdReserveStaminaExchangeScRsp = 93,
    CmdUpdatePsnSettingsInfoScRsp = 42,
    CmdPlayerHeartBeatCsReq = 26,
    CmdGmTalkCsReq = 11,
    CmdGetBasicInfoScRsp = 77,
    CmdSetNicknameScRsp = 17,
    CmdClientObjUploadScRsp = 46,
    CmdUpdatePsnSettingsInfoCsReq = 66,
    CmdPlayerKickOutScNotify = 28,
    CmdPlayerHeartBeatScRsp = 63,
    CmdGetLevelRewardTakenListScRsp = 18,
    CmdSetPlayerInfoScRsp = 13,
    CmdUpdatePlayerSettingCsReq = 33,
    CmdQueryProductInfoCsReq = 78,
    CmdClientDownloadDataScNotify = 29,
    CmdGmTalkScNotify = 76,
    CmdClientObjDownloadDataScNotify = 31,
    CmdAceAntiCheaterCsReq = 90,
    CmdDailyRefreshNotify = 6,
    CmdGetLevelRewardCsReq = 95,
    CmdGetVideoVersionKeyCsReq = 84,
    CmdSetGenderScRsp = 3,
    CmdAceAntiCheaterScRsp = 55,
    CmdPlayerGetTokenScRsp = 56,
    CmdPlayerLogoutCsReq = 58,
    CmdPlayerLoginFinishCsReq = 4,
    CmdUpdateFeatureSwitchScNotify = 64,
    CmdGetSecretKeyInfoScRsp = 52,
    CmdMonthCardRewardNotify = 85,
    CmdAntiAddictScNotify = 23,
    CmdExchangeStaminaScRsp = 47,
    CmdUpdatePlayerSettingScRsp = 2,
    CmdPlayerLogoutScRsp = 24,
    CmdGetBasicInfoCsReq = 15,
    CmdPlayerLoginFinishScRsp = 79,
    CmdPlayerGetTokenCsReq = 30,
    CmdExchangeStaminaCsReq = 22,
    CmdGetGameStateServiceConfigScRsp = 37,
    CmdRetcodeNotify = 60,
    CmdAvatarPathChangedNotify = 16,
    CmdRegionStopScNotify = 96,
    CmdGmTalkScRsp = 5,
    CmdSetLanguageCsReq = 20,
    CmdSetMultipleAvatarPathsScRsp = 87,
    CmdSetNicknameCsReq = 12,
    CmdGetVideoVersionKeyScRsp = 10,
    CmdSetPlayerInfoCsReq = 57,
    CmdPlayerLoginCsReq = 1,
    CmdSetAvatarPathCsReq = 32,
    CmdClientObjUploadCsReq = 98,
    CmdSetLanguageScRsp = 92,
    CmdGetMultiPathAvatarInfoCsReq = 99,
    CmdGetLevelRewardScRsp = 50,
    CmdSetAvatarPathScRsp = 35,
}
impl CmdPlayerType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdPlayerType::None => "CmdPlayerTypeNone",
            CmdPlayerType::CmdPlayerLoginScRsp => "CmdPlayerLoginScRsp",
            CmdPlayerType::CmdReserveStaminaExchangeCsReq => {
                "CmdReserveStaminaExchangeCsReq"
            }
            CmdPlayerType::CmdFeatureSwitchClosedScNotify => {
                "CmdFeatureSwitchClosedScNotify"
            }
            CmdPlayerType::CmdGetAuthkeyCsReq => "CmdGetAuthkeyCsReq",
            CmdPlayerType::CmdGetAuthkeyScRsp => "CmdGetAuthkeyScRsp",
            CmdPlayerType::CmdQueryProductInfoScRsp => "CmdQueryProductInfoScRsp",
            CmdPlayerType::CmdSetGameplayBirthdayCsReq => "CmdSetGameplayBirthdayCsReq",
            CmdPlayerType::CmdStaminaInfoScNotify => "CmdStaminaInfoScNotify",
            CmdPlayerType::CmdSetRedPointStatusScNotify => "CmdSetRedPointStatusScNotify",
            CmdPlayerType::CmdUnlockAvatarPathScRsp => "CmdUnlockAvatarPathScRsp",
            CmdPlayerType::CmdSetGenderCsReq => "CmdSetGenderCsReq",
            CmdPlayerType::CmdGetSecretKeyInfoCsReq => "CmdGetSecretKeyInfoCsReq",
            CmdPlayerType::CmdGetLevelRewardTakenListCsReq => {
                "CmdGetLevelRewardTakenListCsReq"
            }
            CmdPlayerType::CmdSetGameplayBirthdayScRsp => "CmdSetGameplayBirthdayScRsp",
            CmdPlayerType::CmdUnlockAvatarPathCsReq => "CmdUnlockAvatarPathCsReq",
            CmdPlayerType::CmdGetGameStateServiceConfigCsReq => {
                "CmdGetGameStateServiceConfigCsReq"
            }
            CmdPlayerType::CmdGetMultiPathAvatarInfoScRsp => {
                "CmdGetMultiPathAvatarInfoScRsp"
            }
            CmdPlayerType::CmdServerAnnounceNotify => "CmdServerAnnounceNotify",
            CmdPlayerType::CmdGateServerScNotify => "CmdGateServerScNotify",
            CmdPlayerType::CmdSetMultipleAvatarPathsCsReq => {
                "CmdSetMultipleAvatarPathsCsReq"
            }
            CmdPlayerType::CmdReserveStaminaExchangeScRsp => {
                "CmdReserveStaminaExchangeScRsp"
            }
            CmdPlayerType::CmdUpdatePsnSettingsInfoScRsp => {
                "CmdUpdatePsnSettingsInfoScRsp"
            }
            CmdPlayerType::CmdPlayerHeartBeatCsReq => "CmdPlayerHeartBeatCsReq",
            CmdPlayerType::CmdGmTalkCsReq => "CmdGmTalkCsReq",
            CmdPlayerType::CmdGetBasicInfoScRsp => "CmdGetBasicInfoScRsp",
            CmdPlayerType::CmdSetNicknameScRsp => "CmdSetNicknameScRsp",
            CmdPlayerType::CmdClientObjUploadScRsp => "CmdClientObjUploadScRsp",
            CmdPlayerType::CmdUpdatePsnSettingsInfoCsReq => {
                "CmdUpdatePsnSettingsInfoCsReq"
            }
            CmdPlayerType::CmdPlayerKickOutScNotify => "CmdPlayerKickOutScNotify",
            CmdPlayerType::CmdPlayerHeartBeatScRsp => "CmdPlayerHeartBeatScRsp",
            CmdPlayerType::CmdGetLevelRewardTakenListScRsp => {
                "CmdGetLevelRewardTakenListScRsp"
            }
            CmdPlayerType::CmdSetPlayerInfoScRsp => "CmdSetPlayerInfoScRsp",
            CmdPlayerType::CmdUpdatePlayerSettingCsReq => "CmdUpdatePlayerSettingCsReq",
            CmdPlayerType::CmdQueryProductInfoCsReq => "CmdQueryProductInfoCsReq",
            CmdPlayerType::CmdClientDownloadDataScNotify => {
                "CmdClientDownloadDataScNotify"
            }
            CmdPlayerType::CmdGmTalkScNotify => "CmdGmTalkScNotify",
            CmdPlayerType::CmdClientObjDownloadDataScNotify => {
                "CmdClientObjDownloadDataScNotify"
            }
            CmdPlayerType::CmdAceAntiCheaterCsReq => "CmdAceAntiCheaterCsReq",
            CmdPlayerType::CmdDailyRefreshNotify => "CmdDailyRefreshNotify",
            CmdPlayerType::CmdGetLevelRewardCsReq => "CmdGetLevelRewardCsReq",
            CmdPlayerType::CmdGetVideoVersionKeyCsReq => "CmdGetVideoVersionKeyCsReq",
            CmdPlayerType::CmdSetGenderScRsp => "CmdSetGenderScRsp",
            CmdPlayerType::CmdAceAntiCheaterScRsp => "CmdAceAntiCheaterScRsp",
            CmdPlayerType::CmdPlayerGetTokenScRsp => "CmdPlayerGetTokenScRsp",
            CmdPlayerType::CmdPlayerLogoutCsReq => "CmdPlayerLogoutCsReq",
            CmdPlayerType::CmdPlayerLoginFinishCsReq => "CmdPlayerLoginFinishCsReq",
            CmdPlayerType::CmdUpdateFeatureSwitchScNotify => {
                "CmdUpdateFeatureSwitchScNotify"
            }
            CmdPlayerType::CmdGetSecretKeyInfoScRsp => "CmdGetSecretKeyInfoScRsp",
            CmdPlayerType::CmdMonthCardRewardNotify => "CmdMonthCardRewardNotify",
            CmdPlayerType::CmdAntiAddictScNotify => "CmdAntiAddictScNotify",
            CmdPlayerType::CmdExchangeStaminaScRsp => "CmdExchangeStaminaScRsp",
            CmdPlayerType::CmdUpdatePlayerSettingScRsp => "CmdUpdatePlayerSettingScRsp",
            CmdPlayerType::CmdPlayerLogoutScRsp => "CmdPlayerLogoutScRsp",
            CmdPlayerType::CmdGetBasicInfoCsReq => "CmdGetBasicInfoCsReq",
            CmdPlayerType::CmdPlayerLoginFinishScRsp => "CmdPlayerLoginFinishScRsp",
            CmdPlayerType::CmdPlayerGetTokenCsReq => "CmdPlayerGetTokenCsReq",
            CmdPlayerType::CmdExchangeStaminaCsReq => "CmdExchangeStaminaCsReq",
            CmdPlayerType::CmdGetGameStateServiceConfigScRsp => {
                "CmdGetGameStateServiceConfigScRsp"
            }
            CmdPlayerType::CmdRetcodeNotify => "CmdRetcodeNotify",
            CmdPlayerType::CmdAvatarPathChangedNotify => "CmdAvatarPathChangedNotify",
            CmdPlayerType::CmdRegionStopScNotify => "CmdRegionStopScNotify",
            CmdPlayerType::CmdGmTalkScRsp => "CmdGmTalkScRsp",
            CmdPlayerType::CmdSetLanguageCsReq => "CmdSetLanguageCsReq",
            CmdPlayerType::CmdSetMultipleAvatarPathsScRsp => {
                "CmdSetMultipleAvatarPathsScRsp"
            }
            CmdPlayerType::CmdSetNicknameCsReq => "CmdSetNicknameCsReq",
            CmdPlayerType::CmdGetVideoVersionKeyScRsp => "CmdGetVideoVersionKeyScRsp",
            CmdPlayerType::CmdSetPlayerInfoCsReq => "CmdSetPlayerInfoCsReq",
            CmdPlayerType::CmdPlayerLoginCsReq => "CmdPlayerLoginCsReq",
            CmdPlayerType::CmdSetAvatarPathCsReq => "CmdSetAvatarPathCsReq",
            CmdPlayerType::CmdClientObjUploadCsReq => "CmdClientObjUploadCsReq",
            CmdPlayerType::CmdSetLanguageScRsp => "CmdSetLanguageScRsp",
            CmdPlayerType::CmdGetMultiPathAvatarInfoCsReq => {
                "CmdGetMultiPathAvatarInfoCsReq"
            }
            CmdPlayerType::CmdGetLevelRewardScRsp => "CmdGetLevelRewardScRsp",
            CmdPlayerType::CmdSetAvatarPathScRsp => "CmdSetAvatarPathScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPlayerTypeNone" => Some(Self::None),
            "CmdPlayerLoginScRsp" => Some(Self::CmdPlayerLoginScRsp),
            "CmdReserveStaminaExchangeCsReq" => {
                Some(Self::CmdReserveStaminaExchangeCsReq)
            }
            "CmdFeatureSwitchClosedScNotify" => {
                Some(Self::CmdFeatureSwitchClosedScNotify)
            }
            "CmdGetAuthkeyCsReq" => Some(Self::CmdGetAuthkeyCsReq),
            "CmdGetAuthkeyScRsp" => Some(Self::CmdGetAuthkeyScRsp),
            "CmdQueryProductInfoScRsp" => Some(Self::CmdQueryProductInfoScRsp),
            "CmdSetGameplayBirthdayCsReq" => Some(Self::CmdSetGameplayBirthdayCsReq),
            "CmdStaminaInfoScNotify" => Some(Self::CmdStaminaInfoScNotify),
            "CmdSetRedPointStatusScNotify" => Some(Self::CmdSetRedPointStatusScNotify),
            "CmdUnlockAvatarPathScRsp" => Some(Self::CmdUnlockAvatarPathScRsp),
            "CmdSetGenderCsReq" => Some(Self::CmdSetGenderCsReq),
            "CmdGetSecretKeyInfoCsReq" => Some(Self::CmdGetSecretKeyInfoCsReq),
            "CmdGetLevelRewardTakenListCsReq" => {
                Some(Self::CmdGetLevelRewardTakenListCsReq)
            }
            "CmdSetGameplayBirthdayScRsp" => Some(Self::CmdSetGameplayBirthdayScRsp),
            "CmdUnlockAvatarPathCsReq" => Some(Self::CmdUnlockAvatarPathCsReq),
            "CmdGetGameStateServiceConfigCsReq" => {
                Some(Self::CmdGetGameStateServiceConfigCsReq)
            }
            "CmdGetMultiPathAvatarInfoScRsp" => {
                Some(Self::CmdGetMultiPathAvatarInfoScRsp)
            }
            "CmdServerAnnounceNotify" => Some(Self::CmdServerAnnounceNotify),
            "CmdGateServerScNotify" => Some(Self::CmdGateServerScNotify),
            "CmdSetMultipleAvatarPathsCsReq" => {
                Some(Self::CmdSetMultipleAvatarPathsCsReq)
            }
            "CmdReserveStaminaExchangeScRsp" => {
                Some(Self::CmdReserveStaminaExchangeScRsp)
            }
            "CmdUpdatePsnSettingsInfoScRsp" => Some(Self::CmdUpdatePsnSettingsInfoScRsp),
            "CmdPlayerHeartBeatCsReq" => Some(Self::CmdPlayerHeartBeatCsReq),
            "CmdGmTalkCsReq" => Some(Self::CmdGmTalkCsReq),
            "CmdGetBasicInfoScRsp" => Some(Self::CmdGetBasicInfoScRsp),
            "CmdSetNicknameScRsp" => Some(Self::CmdSetNicknameScRsp),
            "CmdClientObjUploadScRsp" => Some(Self::CmdClientObjUploadScRsp),
            "CmdUpdatePsnSettingsInfoCsReq" => Some(Self::CmdUpdatePsnSettingsInfoCsReq),
            "CmdPlayerKickOutScNotify" => Some(Self::CmdPlayerKickOutScNotify),
            "CmdPlayerHeartBeatScRsp" => Some(Self::CmdPlayerHeartBeatScRsp),
            "CmdGetLevelRewardTakenListScRsp" => {
                Some(Self::CmdGetLevelRewardTakenListScRsp)
            }
            "CmdSetPlayerInfoScRsp" => Some(Self::CmdSetPlayerInfoScRsp),
            "CmdUpdatePlayerSettingCsReq" => Some(Self::CmdUpdatePlayerSettingCsReq),
            "CmdQueryProductInfoCsReq" => Some(Self::CmdQueryProductInfoCsReq),
            "CmdClientDownloadDataScNotify" => Some(Self::CmdClientDownloadDataScNotify),
            "CmdGmTalkScNotify" => Some(Self::CmdGmTalkScNotify),
            "CmdClientObjDownloadDataScNotify" => {
                Some(Self::CmdClientObjDownloadDataScNotify)
            }
            "CmdAceAntiCheaterCsReq" => Some(Self::CmdAceAntiCheaterCsReq),
            "CmdDailyRefreshNotify" => Some(Self::CmdDailyRefreshNotify),
            "CmdGetLevelRewardCsReq" => Some(Self::CmdGetLevelRewardCsReq),
            "CmdGetVideoVersionKeyCsReq" => Some(Self::CmdGetVideoVersionKeyCsReq),
            "CmdSetGenderScRsp" => Some(Self::CmdSetGenderScRsp),
            "CmdAceAntiCheaterScRsp" => Some(Self::CmdAceAntiCheaterScRsp),
            "CmdPlayerGetTokenScRsp" => Some(Self::CmdPlayerGetTokenScRsp),
            "CmdPlayerLogoutCsReq" => Some(Self::CmdPlayerLogoutCsReq),
            "CmdPlayerLoginFinishCsReq" => Some(Self::CmdPlayerLoginFinishCsReq),
            "CmdUpdateFeatureSwitchScNotify" => {
                Some(Self::CmdUpdateFeatureSwitchScNotify)
            }
            "CmdGetSecretKeyInfoScRsp" => Some(Self::CmdGetSecretKeyInfoScRsp),
            "CmdMonthCardRewardNotify" => Some(Self::CmdMonthCardRewardNotify),
            "CmdAntiAddictScNotify" => Some(Self::CmdAntiAddictScNotify),
            "CmdExchangeStaminaScRsp" => Some(Self::CmdExchangeStaminaScRsp),
            "CmdUpdatePlayerSettingScRsp" => Some(Self::CmdUpdatePlayerSettingScRsp),
            "CmdPlayerLogoutScRsp" => Some(Self::CmdPlayerLogoutScRsp),
            "CmdGetBasicInfoCsReq" => Some(Self::CmdGetBasicInfoCsReq),
            "CmdPlayerLoginFinishScRsp" => Some(Self::CmdPlayerLoginFinishScRsp),
            "CmdPlayerGetTokenCsReq" => Some(Self::CmdPlayerGetTokenCsReq),
            "CmdExchangeStaminaCsReq" => Some(Self::CmdExchangeStaminaCsReq),
            "CmdGetGameStateServiceConfigScRsp" => {
                Some(Self::CmdGetGameStateServiceConfigScRsp)
            }
            "CmdRetcodeNotify" => Some(Self::CmdRetcodeNotify),
            "CmdAvatarPathChangedNotify" => Some(Self::CmdAvatarPathChangedNotify),
            "CmdRegionStopScNotify" => Some(Self::CmdRegionStopScNotify),
            "CmdGmTalkScRsp" => Some(Self::CmdGmTalkScRsp),
            "CmdSetLanguageCsReq" => Some(Self::CmdSetLanguageCsReq),
            "CmdSetMultipleAvatarPathsScRsp" => {
                Some(Self::CmdSetMultipleAvatarPathsScRsp)
            }
            "CmdSetNicknameCsReq" => Some(Self::CmdSetNicknameCsReq),
            "CmdGetVideoVersionKeyScRsp" => Some(Self::CmdGetVideoVersionKeyScRsp),
            "CmdSetPlayerInfoCsReq" => Some(Self::CmdSetPlayerInfoCsReq),
            "CmdPlayerLoginCsReq" => Some(Self::CmdPlayerLoginCsReq),
            "CmdSetAvatarPathCsReq" => Some(Self::CmdSetAvatarPathCsReq),
            "CmdClientObjUploadCsReq" => Some(Self::CmdClientObjUploadCsReq),
            "CmdSetLanguageScRsp" => Some(Self::CmdSetLanguageScRsp),
            "CmdGetMultiPathAvatarInfoCsReq" => {
                Some(Self::CmdGetMultiPathAvatarInfoCsReq)
            }
            "CmdGetLevelRewardScRsp" => Some(Self::CmdGetLevelRewardScRsp),
            "CmdSetAvatarPathScRsp" => Some(Self::CmdSetAvatarPathScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ilpmnldgeak {
    AuthkeySignTypeNone = 0,
    AuthkeySignTypeDefault = 1,
    AuthkeySignTypeRsa = 2,
}
impl Ilpmnldgeak {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ilpmnldgeak::AuthkeySignTypeNone => "AUTHKEY_SIGN_TYPE_NONE",
            Ilpmnldgeak::AuthkeySignTypeDefault => "AUTHKEY_SIGN_TYPE_DEFAULT",
            Ilpmnldgeak::AuthkeySignTypeRsa => "AUTHKEY_SIGN_TYPE_RSA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AUTHKEY_SIGN_TYPE_NONE" => Some(Self::AuthkeySignTypeNone),
            "AUTHKEY_SIGN_TYPE_DEFAULT" => Some(Self::AuthkeySignTypeDefault),
            "AUTHKEY_SIGN_TYPE_RSA" => Some(Self::AuthkeySignTypeRsa),
            _ => None,
        }
    }
}
/// Obf: LEPEOCNCMAD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlayerBoardType {
    None = 0,
    CmdSetDisplayAvatarCsReq = 2830,
    CmdSetHeadIconCsReq = 2858,
    CmdSetIsDisplayAvatarInfoScRsp = 2876,
    CmdGetPlayerBoardDataScRsp = 2868,
    CmdSetHeadIconScRsp = 2824,
    CmdUnlockHeadIconScNotify = 2828,
    CmdSetSignatureScRsp = 2805,
    CmdSetAssistAvatarCsReq = 2814,
    CmdSetDisplayAvatarScRsp = 2856,
    CmdSetIsDisplayAvatarInfoCsReq = 2897,
    CmdSetSignatureCsReq = 2811,
    CmdSetAssistAvatarScRsp = 2849,
    CmdGetPlayerBoardDataCsReq = 2801,
}
impl CmdPlayerBoardType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdPlayerBoardType::None => "CmdPlayerBoardTypeNone",
            CmdPlayerBoardType::CmdSetDisplayAvatarCsReq => "CmdSetDisplayAvatarCsReq",
            CmdPlayerBoardType::CmdSetHeadIconCsReq => "CmdSetHeadIconCsReq",
            CmdPlayerBoardType::CmdSetIsDisplayAvatarInfoScRsp => {
                "CmdSetIsDisplayAvatarInfoScRsp"
            }
            CmdPlayerBoardType::CmdGetPlayerBoardDataScRsp => {
                "CmdGetPlayerBoardDataScRsp"
            }
            CmdPlayerBoardType::CmdSetHeadIconScRsp => "CmdSetHeadIconScRsp",
            CmdPlayerBoardType::CmdUnlockHeadIconScNotify => "CmdUnlockHeadIconScNotify",
            CmdPlayerBoardType::CmdSetSignatureScRsp => "CmdSetSignatureScRsp",
            CmdPlayerBoardType::CmdSetAssistAvatarCsReq => "CmdSetAssistAvatarCsReq",
            CmdPlayerBoardType::CmdSetDisplayAvatarScRsp => "CmdSetDisplayAvatarScRsp",
            CmdPlayerBoardType::CmdSetIsDisplayAvatarInfoCsReq => {
                "CmdSetIsDisplayAvatarInfoCsReq"
            }
            CmdPlayerBoardType::CmdSetSignatureCsReq => "CmdSetSignatureCsReq",
            CmdPlayerBoardType::CmdSetAssistAvatarScRsp => "CmdSetAssistAvatarScRsp",
            CmdPlayerBoardType::CmdGetPlayerBoardDataCsReq => {
                "CmdGetPlayerBoardDataCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPlayerBoardTypeNone" => Some(Self::None),
            "CmdSetDisplayAvatarCsReq" => Some(Self::CmdSetDisplayAvatarCsReq),
            "CmdSetHeadIconCsReq" => Some(Self::CmdSetHeadIconCsReq),
            "CmdSetIsDisplayAvatarInfoScRsp" => {
                Some(Self::CmdSetIsDisplayAvatarInfoScRsp)
            }
            "CmdGetPlayerBoardDataScRsp" => Some(Self::CmdGetPlayerBoardDataScRsp),
            "CmdSetHeadIconScRsp" => Some(Self::CmdSetHeadIconScRsp),
            "CmdUnlockHeadIconScNotify" => Some(Self::CmdUnlockHeadIconScNotify),
            "CmdSetSignatureScRsp" => Some(Self::CmdSetSignatureScRsp),
            "CmdSetAssistAvatarCsReq" => Some(Self::CmdSetAssistAvatarCsReq),
            "CmdSetDisplayAvatarScRsp" => Some(Self::CmdSetDisplayAvatarScRsp),
            "CmdSetIsDisplayAvatarInfoCsReq" => {
                Some(Self::CmdSetIsDisplayAvatarInfoCsReq)
            }
            "CmdSetSignatureCsReq" => Some(Self::CmdSetSignatureCsReq),
            "CmdSetAssistAvatarScRsp" => Some(Self::CmdSetAssistAvatarScRsp),
            "CmdGetPlayerBoardDataCsReq" => Some(Self::CmdGetPlayerBoardDataCsReq),
            _ => None,
        }
    }
}
/// Obf: MPDJCJPDFGJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlayerReturnType {
    None = 0,
    CmdPlayerReturnSignScRsp = 4558,
    CmdPlayerReturnForceFinishScNotify = 4505,
    CmdPlayerReturnSignCsReq = 4568,
    CmdPlayerReturnTakeRewardCsReq = 4597,
    CmdPlayerReturnPointChangeScNotify = 4524,
    CmdPlayerReturnStartScNotify = 4501,
    CmdPlayerReturnTakeRewardScRsp = 4576,
    CmdPlayerReturnTakePointRewardCsReq = 4530,
    CmdPlayerReturnInfoQueryScRsp = 4511,
    CmdPlayerReturnInfoQueryCsReq = 4528,
    CmdPlayerReturnTakePointRewardScRsp = 4556,
}
impl CmdPlayerReturnType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdPlayerReturnType::None => "CmdPlayerReturnTypeNone",
            CmdPlayerReturnType::CmdPlayerReturnSignScRsp => "CmdPlayerReturnSignScRsp",
            CmdPlayerReturnType::CmdPlayerReturnForceFinishScNotify => {
                "CmdPlayerReturnForceFinishScNotify"
            }
            CmdPlayerReturnType::CmdPlayerReturnSignCsReq => "CmdPlayerReturnSignCsReq",
            CmdPlayerReturnType::CmdPlayerReturnTakeRewardCsReq => {
                "CmdPlayerReturnTakeRewardCsReq"
            }
            CmdPlayerReturnType::CmdPlayerReturnPointChangeScNotify => {
                "CmdPlayerReturnPointChangeScNotify"
            }
            CmdPlayerReturnType::CmdPlayerReturnStartScNotify => {
                "CmdPlayerReturnStartScNotify"
            }
            CmdPlayerReturnType::CmdPlayerReturnTakeRewardScRsp => {
                "CmdPlayerReturnTakeRewardScRsp"
            }
            CmdPlayerReturnType::CmdPlayerReturnTakePointRewardCsReq => {
                "CmdPlayerReturnTakePointRewardCsReq"
            }
            CmdPlayerReturnType::CmdPlayerReturnInfoQueryScRsp => {
                "CmdPlayerReturnInfoQueryScRsp"
            }
            CmdPlayerReturnType::CmdPlayerReturnInfoQueryCsReq => {
                "CmdPlayerReturnInfoQueryCsReq"
            }
            CmdPlayerReturnType::CmdPlayerReturnTakePointRewardScRsp => {
                "CmdPlayerReturnTakePointRewardScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPlayerReturnTypeNone" => Some(Self::None),
            "CmdPlayerReturnSignScRsp" => Some(Self::CmdPlayerReturnSignScRsp),
            "CmdPlayerReturnForceFinishScNotify" => {
                Some(Self::CmdPlayerReturnForceFinishScNotify)
            }
            "CmdPlayerReturnSignCsReq" => Some(Self::CmdPlayerReturnSignCsReq),
            "CmdPlayerReturnTakeRewardCsReq" => {
                Some(Self::CmdPlayerReturnTakeRewardCsReq)
            }
            "CmdPlayerReturnPointChangeScNotify" => {
                Some(Self::CmdPlayerReturnPointChangeScNotify)
            }
            "CmdPlayerReturnStartScNotify" => Some(Self::CmdPlayerReturnStartScNotify),
            "CmdPlayerReturnTakeRewardScRsp" => {
                Some(Self::CmdPlayerReturnTakeRewardScRsp)
            }
            "CmdPlayerReturnTakePointRewardCsReq" => {
                Some(Self::CmdPlayerReturnTakePointRewardCsReq)
            }
            "CmdPlayerReturnInfoQueryScRsp" => Some(Self::CmdPlayerReturnInfoQueryScRsp),
            "CmdPlayerReturnInfoQueryCsReq" => Some(Self::CmdPlayerReturnInfoQueryCsReq),
            "CmdPlayerReturnTakePointRewardScRsp" => {
                Some(Self::CmdPlayerReturnTakePointRewardScRsp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nobpmmnfenj {
    PlayerReturnNone = 0,
    PlayerReturnProcessing = 1,
    PlayerReturnFinish = 2,
}
impl Nobpmmnfenj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Nobpmmnfenj::PlayerReturnNone => "PLAYER_RETURN_NONE",
            Nobpmmnfenj::PlayerReturnProcessing => "PLAYER_RETURN_PROCESSING",
            Nobpmmnfenj::PlayerReturnFinish => "PLAYER_RETURN_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PLAYER_RETURN_NONE" => Some(Self::PlayerReturnNone),
            "PLAYER_RETURN_PROCESSING" => Some(Self::PlayerReturnProcessing),
            "PLAYER_RETURN_FINISH" => Some(Self::PlayerReturnFinish),
            _ => None,
        }
    }
}
/// Obf: NINNNHBFPFO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlotType {
    None = 0,
    CmdFinishPlotCsReq = 1101,
    CmdFinishPlotScRsp = 1168,
}
impl CmdPlotType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdPlotType::None => "CmdPlotTypeNone",
            CmdPlotType::CmdFinishPlotCsReq => "CmdFinishPlotCsReq",
            CmdPlotType::CmdFinishPlotScRsp => "CmdFinishPlotScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPlotTypeNone" => Some(Self::None),
            "CmdFinishPlotCsReq" => Some(Self::CmdFinishPlotCsReq),
            "CmdFinishPlotScRsp" => Some(Self::CmdFinishPlotScRsp),
            _ => None,
        }
    }
}
/// Obf: GAMDHCOLEIC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPunkLordType {
    None = 0,
    CmdTakeKilledPunkLordMonsterScoreScRsp = 3270,
    CmdSharePunkLordMonsterCsReq = 3230,
    CmdSummonPunkLordMonsterCsReq = 3297,
    CmdTakePunkLordPointRewardScRsp = 3222,
    CmdGetPunkLordDataScRsp = 3239,
    CmdGetPunkLordBattleRecordCsReq = 3238,
    CmdPunkLordDataChangeNotify = 3281,
    CmdPunkLordRaidTimeOutScNotify = 3223,
    CmdSummonPunkLordMonsterScRsp = 3276,
    CmdGetPunkLordMonsterDataCsReq = 3201,
    CmdPunkLordBattleResultScNotify = 3218,
    CmdGetPunkLordDataCsReq = 3280,
    CmdTakePunkLordPointRewardCsReq = 3249,
    CmdPunkLordMonsterInfoScNotify = 3247,
    CmdStartPunkLordRaidCsReq = 3258,
    CmdTakeKilledPunkLordMonsterScoreCsReq = 3292,
    CmdSharePunkLordMonsterScRsp = 3256,
    CmdPunkLordMonsterKilledNotify = 3220,
    CmdGetPunkLordMonsterDataScRsp = 3268,
    CmdStartPunkLordRaidScRsp = 3224,
    CmdGetPunkLordBattleRecordScRsp = 3219,
    CmdGetKilledPunkLordMonsterDataCsReq = 3295,
    CmdGetKilledPunkLordMonsterDataScRsp = 3250,
}
impl CmdPunkLordType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdPunkLordType::None => "CmdPunkLordTypeNone",
            CmdPunkLordType::CmdTakeKilledPunkLordMonsterScoreScRsp => {
                "CmdTakeKilledPunkLordMonsterScoreScRsp"
            }
            CmdPunkLordType::CmdSharePunkLordMonsterCsReq => {
                "CmdSharePunkLordMonsterCsReq"
            }
            CmdPunkLordType::CmdSummonPunkLordMonsterCsReq => {
                "CmdSummonPunkLordMonsterCsReq"
            }
            CmdPunkLordType::CmdTakePunkLordPointRewardScRsp => {
                "CmdTakePunkLordPointRewardScRsp"
            }
            CmdPunkLordType::CmdGetPunkLordDataScRsp => "CmdGetPunkLordDataScRsp",
            CmdPunkLordType::CmdGetPunkLordBattleRecordCsReq => {
                "CmdGetPunkLordBattleRecordCsReq"
            }
            CmdPunkLordType::CmdPunkLordDataChangeNotify => "CmdPunkLordDataChangeNotify",
            CmdPunkLordType::CmdPunkLordRaidTimeOutScNotify => {
                "CmdPunkLordRaidTimeOutScNotify"
            }
            CmdPunkLordType::CmdSummonPunkLordMonsterScRsp => {
                "CmdSummonPunkLordMonsterScRsp"
            }
            CmdPunkLordType::CmdGetPunkLordMonsterDataCsReq => {
                "CmdGetPunkLordMonsterDataCsReq"
            }
            CmdPunkLordType::CmdPunkLordBattleResultScNotify => {
                "CmdPunkLordBattleResultScNotify"
            }
            CmdPunkLordType::CmdGetPunkLordDataCsReq => "CmdGetPunkLordDataCsReq",
            CmdPunkLordType::CmdTakePunkLordPointRewardCsReq => {
                "CmdTakePunkLordPointRewardCsReq"
            }
            CmdPunkLordType::CmdPunkLordMonsterInfoScNotify => {
                "CmdPunkLordMonsterInfoScNotify"
            }
            CmdPunkLordType::CmdStartPunkLordRaidCsReq => "CmdStartPunkLordRaidCsReq",
            CmdPunkLordType::CmdTakeKilledPunkLordMonsterScoreCsReq => {
                "CmdTakeKilledPunkLordMonsterScoreCsReq"
            }
            CmdPunkLordType::CmdSharePunkLordMonsterScRsp => {
                "CmdSharePunkLordMonsterScRsp"
            }
            CmdPunkLordType::CmdPunkLordMonsterKilledNotify => {
                "CmdPunkLordMonsterKilledNotify"
            }
            CmdPunkLordType::CmdGetPunkLordMonsterDataScRsp => {
                "CmdGetPunkLordMonsterDataScRsp"
            }
            CmdPunkLordType::CmdStartPunkLordRaidScRsp => "CmdStartPunkLordRaidScRsp",
            CmdPunkLordType::CmdGetPunkLordBattleRecordScRsp => {
                "CmdGetPunkLordBattleRecordScRsp"
            }
            CmdPunkLordType::CmdGetKilledPunkLordMonsterDataCsReq => {
                "CmdGetKilledPunkLordMonsterDataCsReq"
            }
            CmdPunkLordType::CmdGetKilledPunkLordMonsterDataScRsp => {
                "CmdGetKilledPunkLordMonsterDataScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPunkLordTypeNone" => Some(Self::None),
            "CmdTakeKilledPunkLordMonsterScoreScRsp" => {
                Some(Self::CmdTakeKilledPunkLordMonsterScoreScRsp)
            }
            "CmdSharePunkLordMonsterCsReq" => Some(Self::CmdSharePunkLordMonsterCsReq),
            "CmdSummonPunkLordMonsterCsReq" => Some(Self::CmdSummonPunkLordMonsterCsReq),
            "CmdTakePunkLordPointRewardScRsp" => {
                Some(Self::CmdTakePunkLordPointRewardScRsp)
            }
            "CmdGetPunkLordDataScRsp" => Some(Self::CmdGetPunkLordDataScRsp),
            "CmdGetPunkLordBattleRecordCsReq" => {
                Some(Self::CmdGetPunkLordBattleRecordCsReq)
            }
            "CmdPunkLordDataChangeNotify" => Some(Self::CmdPunkLordDataChangeNotify),
            "CmdPunkLordRaidTimeOutScNotify" => {
                Some(Self::CmdPunkLordRaidTimeOutScNotify)
            }
            "CmdSummonPunkLordMonsterScRsp" => Some(Self::CmdSummonPunkLordMonsterScRsp),
            "CmdGetPunkLordMonsterDataCsReq" => {
                Some(Self::CmdGetPunkLordMonsterDataCsReq)
            }
            "CmdPunkLordBattleResultScNotify" => {
                Some(Self::CmdPunkLordBattleResultScNotify)
            }
            "CmdGetPunkLordDataCsReq" => Some(Self::CmdGetPunkLordDataCsReq),
            "CmdTakePunkLordPointRewardCsReq" => {
                Some(Self::CmdTakePunkLordPointRewardCsReq)
            }
            "CmdPunkLordMonsterInfoScNotify" => {
                Some(Self::CmdPunkLordMonsterInfoScNotify)
            }
            "CmdStartPunkLordRaidCsReq" => Some(Self::CmdStartPunkLordRaidCsReq),
            "CmdTakeKilledPunkLordMonsterScoreCsReq" => {
                Some(Self::CmdTakeKilledPunkLordMonsterScoreCsReq)
            }
            "CmdSharePunkLordMonsterScRsp" => Some(Self::CmdSharePunkLordMonsterScRsp),
            "CmdPunkLordMonsterKilledNotify" => {
                Some(Self::CmdPunkLordMonsterKilledNotify)
            }
            "CmdGetPunkLordMonsterDataScRsp" => {
                Some(Self::CmdGetPunkLordMonsterDataScRsp)
            }
            "CmdStartPunkLordRaidScRsp" => Some(Self::CmdStartPunkLordRaidScRsp),
            "CmdGetPunkLordBattleRecordScRsp" => {
                Some(Self::CmdGetPunkLordBattleRecordScRsp)
            }
            "CmdGetKilledPunkLordMonsterDataCsReq" => {
                Some(Self::CmdGetKilledPunkLordMonsterDataCsReq)
            }
            "CmdGetKilledPunkLordMonsterDataScRsp" => {
                Some(Self::CmdGetKilledPunkLordMonsterDataScRsp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nlefpbicecn {
    PunkLordOperationNone = 0,
    PunkLordOperationRefresh = 1,
    PunkLordOperationShare = 2,
    PunkLordOperationStartRaid = 3,
    PunkLordOperationGetBattleRecord = 4,
}
impl Nlefpbicecn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Nlefpbicecn::PunkLordOperationNone => "PUNK_LORD_OPERATION_NONE",
            Nlefpbicecn::PunkLordOperationRefresh => "PUNK_LORD_OPERATION_REFRESH",
            Nlefpbicecn::PunkLordOperationShare => "PUNK_LORD_OPERATION_SHARE",
            Nlefpbicecn::PunkLordOperationStartRaid => "PUNK_LORD_OPERATION_START_RAID",
            Nlefpbicecn::PunkLordOperationGetBattleRecord => {
                "PUNK_LORD_OPERATION_GET_BATTLE_RECORD"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PUNK_LORD_OPERATION_NONE" => Some(Self::PunkLordOperationNone),
            "PUNK_LORD_OPERATION_REFRESH" => Some(Self::PunkLordOperationRefresh),
            "PUNK_LORD_OPERATION_SHARE" => Some(Self::PunkLordOperationShare),
            "PUNK_LORD_OPERATION_START_RAID" => Some(Self::PunkLordOperationStartRaid),
            "PUNK_LORD_OPERATION_GET_BATTLE_RECORD" => {
                Some(Self::PunkLordOperationGetBattleRecord)
            }
            _ => None,
        }
    }
}
/// Obf: HDGLIIEHOLC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdQuestType {
    None = 0,
    CmdTakeQuestOptionalRewardScRsp = 949,
    CmdGetQuestRecordCsReq = 997,
    CmdGetQuestRecordScRsp = 976,
    CmdGetQuestDataCsReq = 901,
    CmdFinishQuestCsReq = 911,
    CmdBatchGetQuestDataCsReq = 947,
    CmdTakeQuestOptionalRewardCsReq = 914,
    CmdQuestRecordScNotify = 928,
    CmdTakeQuestRewardScRsp = 924,
    CmdFinishQuestScRsp = 905,
    CmdBatchGetQuestDataScRsp = 980,
    CmdGetQuestDataScRsp = 968,
    CmdTakeQuestRewardCsReq = 958,
}
impl CmdQuestType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdQuestType::None => "CmdQuestTypeNone",
            CmdQuestType::CmdTakeQuestOptionalRewardScRsp => {
                "CmdTakeQuestOptionalRewardScRsp"
            }
            CmdQuestType::CmdGetQuestRecordCsReq => "CmdGetQuestRecordCsReq",
            CmdQuestType::CmdGetQuestRecordScRsp => "CmdGetQuestRecordScRsp",
            CmdQuestType::CmdGetQuestDataCsReq => "CmdGetQuestDataCsReq",
            CmdQuestType::CmdFinishQuestCsReq => "CmdFinishQuestCsReq",
            CmdQuestType::CmdBatchGetQuestDataCsReq => "CmdBatchGetQuestDataCsReq",
            CmdQuestType::CmdTakeQuestOptionalRewardCsReq => {
                "CmdTakeQuestOptionalRewardCsReq"
            }
            CmdQuestType::CmdQuestRecordScNotify => "CmdQuestRecordScNotify",
            CmdQuestType::CmdTakeQuestRewardScRsp => "CmdTakeQuestRewardScRsp",
            CmdQuestType::CmdFinishQuestScRsp => "CmdFinishQuestScRsp",
            CmdQuestType::CmdBatchGetQuestDataScRsp => "CmdBatchGetQuestDataScRsp",
            CmdQuestType::CmdGetQuestDataScRsp => "CmdGetQuestDataScRsp",
            CmdQuestType::CmdTakeQuestRewardCsReq => "CmdTakeQuestRewardCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdQuestTypeNone" => Some(Self::None),
            "CmdTakeQuestOptionalRewardScRsp" => {
                Some(Self::CmdTakeQuestOptionalRewardScRsp)
            }
            "CmdGetQuestRecordCsReq" => Some(Self::CmdGetQuestRecordCsReq),
            "CmdGetQuestRecordScRsp" => Some(Self::CmdGetQuestRecordScRsp),
            "CmdGetQuestDataCsReq" => Some(Self::CmdGetQuestDataCsReq),
            "CmdFinishQuestCsReq" => Some(Self::CmdFinishQuestCsReq),
            "CmdBatchGetQuestDataCsReq" => Some(Self::CmdBatchGetQuestDataCsReq),
            "CmdTakeQuestOptionalRewardCsReq" => {
                Some(Self::CmdTakeQuestOptionalRewardCsReq)
            }
            "CmdQuestRecordScNotify" => Some(Self::CmdQuestRecordScNotify),
            "CmdTakeQuestRewardScRsp" => Some(Self::CmdTakeQuestRewardScRsp),
            "CmdFinishQuestScRsp" => Some(Self::CmdFinishQuestScRsp),
            "CmdBatchGetQuestDataScRsp" => Some(Self::CmdBatchGetQuestDataScRsp),
            "CmdGetQuestDataScRsp" => Some(Self::CmdGetQuestDataScRsp),
            "CmdTakeQuestRewardCsReq" => Some(Self::CmdTakeQuestRewardCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum QuestStatus {
    QuestNone = 0,
    QuestDoing = 1,
    QuestFinish = 2,
    QuestClose = 3,
    QuestDelete = 4,
}
impl QuestStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            QuestStatus::QuestNone => "QUEST_NONE",
            QuestStatus::QuestDoing => "QUEST_DOING",
            QuestStatus::QuestFinish => "QUEST_FINISH",
            QuestStatus::QuestClose => "QUEST_CLOSE",
            QuestStatus::QuestDelete => "QUEST_DELETE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "QUEST_NONE" => Some(Self::QuestNone),
            "QUEST_DOING" => Some(Self::QuestDoing),
            "QUEST_FINISH" => Some(Self::QuestFinish),
            "QUEST_CLOSE" => Some(Self::QuestClose),
            "QUEST_DELETE" => Some(Self::QuestDelete),
            _ => None,
        }
    }
}
/// Obf: CIBIDIGCOGC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRaidType {
    None = 0,
    CmdSetClientRaidTargetCountCsReq = 2249,
    CmdGetChallengeRaidInfoScRsp = 2297,
    CmdRaidKickByServerScNotify = 2212,
    CmdStartRaidScRsp = 2268,
    CmdChallengeRaidNotify = 2211,
    CmdTakeChallengeRaidRewardScRsp = 2228,
    CmdGetSaveRaidScRsp = 2280,
    CmdGetAllSaveRaidCsReq = 2239,
    CmdGetChallengeRaidInfoCsReq = 2256,
    CmdTakeChallengeRaidRewardCsReq = 2276,
    CmdGetSaveRaidCsReq = 2247,
    CmdLeaveRaidScRsp = 2224,
    CmdLeaveRaidCsReq = 2258,
    CmdDelSaveRaidScNotify = 2223,
    CmdGetRaidInfoCsReq = 2205,
    CmdStartRaidCsReq = 2201,
    CmdGetRaidInfoScRsp = 2214,
    CmdRaidInfoNotify = 2230,
    CmdSetClientRaidTargetCountScRsp = 2222,
    CmdGetAllSaveRaidScRsp = 2296,
}
impl CmdRaidType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRaidType::None => "CmdRaidTypeNone",
            CmdRaidType::CmdSetClientRaidTargetCountCsReq => {
                "CmdSetClientRaidTargetCountCsReq"
            }
            CmdRaidType::CmdGetChallengeRaidInfoScRsp => "CmdGetChallengeRaidInfoScRsp",
            CmdRaidType::CmdRaidKickByServerScNotify => "CmdRaidKickByServerScNotify",
            CmdRaidType::CmdStartRaidScRsp => "CmdStartRaidScRsp",
            CmdRaidType::CmdChallengeRaidNotify => "CmdChallengeRaidNotify",
            CmdRaidType::CmdTakeChallengeRaidRewardScRsp => {
                "CmdTakeChallengeRaidRewardScRsp"
            }
            CmdRaidType::CmdGetSaveRaidScRsp => "CmdGetSaveRaidScRsp",
            CmdRaidType::CmdGetAllSaveRaidCsReq => "CmdGetAllSaveRaidCsReq",
            CmdRaidType::CmdGetChallengeRaidInfoCsReq => "CmdGetChallengeRaidInfoCsReq",
            CmdRaidType::CmdTakeChallengeRaidRewardCsReq => {
                "CmdTakeChallengeRaidRewardCsReq"
            }
            CmdRaidType::CmdGetSaveRaidCsReq => "CmdGetSaveRaidCsReq",
            CmdRaidType::CmdLeaveRaidScRsp => "CmdLeaveRaidScRsp",
            CmdRaidType::CmdLeaveRaidCsReq => "CmdLeaveRaidCsReq",
            CmdRaidType::CmdDelSaveRaidScNotify => "CmdDelSaveRaidScNotify",
            CmdRaidType::CmdGetRaidInfoCsReq => "CmdGetRaidInfoCsReq",
            CmdRaidType::CmdStartRaidCsReq => "CmdStartRaidCsReq",
            CmdRaidType::CmdGetRaidInfoScRsp => "CmdGetRaidInfoScRsp",
            CmdRaidType::CmdRaidInfoNotify => "CmdRaidInfoNotify",
            CmdRaidType::CmdSetClientRaidTargetCountScRsp => {
                "CmdSetClientRaidTargetCountScRsp"
            }
            CmdRaidType::CmdGetAllSaveRaidScRsp => "CmdGetAllSaveRaidScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRaidTypeNone" => Some(Self::None),
            "CmdSetClientRaidTargetCountCsReq" => {
                Some(Self::CmdSetClientRaidTargetCountCsReq)
            }
            "CmdGetChallengeRaidInfoScRsp" => Some(Self::CmdGetChallengeRaidInfoScRsp),
            "CmdRaidKickByServerScNotify" => Some(Self::CmdRaidKickByServerScNotify),
            "CmdStartRaidScRsp" => Some(Self::CmdStartRaidScRsp),
            "CmdChallengeRaidNotify" => Some(Self::CmdChallengeRaidNotify),
            "CmdTakeChallengeRaidRewardScRsp" => {
                Some(Self::CmdTakeChallengeRaidRewardScRsp)
            }
            "CmdGetSaveRaidScRsp" => Some(Self::CmdGetSaveRaidScRsp),
            "CmdGetAllSaveRaidCsReq" => Some(Self::CmdGetAllSaveRaidCsReq),
            "CmdGetChallengeRaidInfoCsReq" => Some(Self::CmdGetChallengeRaidInfoCsReq),
            "CmdTakeChallengeRaidRewardCsReq" => {
                Some(Self::CmdTakeChallengeRaidRewardCsReq)
            }
            "CmdGetSaveRaidCsReq" => Some(Self::CmdGetSaveRaidCsReq),
            "CmdLeaveRaidScRsp" => Some(Self::CmdLeaveRaidScRsp),
            "CmdLeaveRaidCsReq" => Some(Self::CmdLeaveRaidCsReq),
            "CmdDelSaveRaidScNotify" => Some(Self::CmdDelSaveRaidScNotify),
            "CmdGetRaidInfoCsReq" => Some(Self::CmdGetRaidInfoCsReq),
            "CmdStartRaidCsReq" => Some(Self::CmdStartRaidCsReq),
            "CmdGetRaidInfoScRsp" => Some(Self::CmdGetRaidInfoScRsp),
            "CmdRaidInfoNotify" => Some(Self::CmdRaidInfoNotify),
            "CmdSetClientRaidTargetCountScRsp" => {
                Some(Self::CmdSetClientRaidTargetCountScRsp)
            }
            "CmdGetAllSaveRaidScRsp" => Some(Self::CmdGetAllSaveRaidScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jldfakdkmjj {
    RaidStatusNone = 0,
    RaidStatusDoing = 1,
    RaidStatusFinish = 2,
    RaidStatusFailed = 3,
}
impl Jldfakdkmjj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Jldfakdkmjj::RaidStatusNone => "RAID_STATUS_NONE",
            Jldfakdkmjj::RaidStatusDoing => "RAID_STATUS_DOING",
            Jldfakdkmjj::RaidStatusFinish => "RAID_STATUS_FINISH",
            Jldfakdkmjj::RaidStatusFailed => "RAID_STATUS_FAILED",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "RAID_STATUS_NONE" => Some(Self::RaidStatusNone),
            "RAID_STATUS_DOING" => Some(Self::RaidStatusDoing),
            "RAID_STATUS_FINISH" => Some(Self::RaidStatusFinish),
            "RAID_STATUS_FAILED" => Some(Self::RaidStatusFailed),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fochdfjanpc {
    RaidTargetStatusNone = 0,
    RaidTargetStatusDoing = 1,
    RaidTargetStatusFinish = 2,
}
impl Fochdfjanpc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Fochdfjanpc::RaidTargetStatusNone => "RAID_TARGET_STATUS_NONE",
            Fochdfjanpc::RaidTargetStatusDoing => "RAID_TARGET_STATUS_DOING",
            Fochdfjanpc::RaidTargetStatusFinish => "RAID_TARGET_STATUS_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "RAID_TARGET_STATUS_NONE" => Some(Self::RaidTargetStatusNone),
            "RAID_TARGET_STATUS_DOING" => Some(Self::RaidTargetStatusDoing),
            "RAID_TARGET_STATUS_FINISH" => Some(Self::RaidTargetStatusFinish),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Egkfndoopnn {
    RaidKickReasonNone = 0,
    RaidKickReasonActivityScheduleFinish = 1,
}
impl Egkfndoopnn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Egkfndoopnn::RaidKickReasonNone => "RAID_KICK_REASON_NONE",
            Egkfndoopnn::RaidKickReasonActivityScheduleFinish => {
                "RAID_KICK_REASON_ACTIVITY_SCHEDULE_FINISH"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "RAID_KICK_REASON_NONE" => Some(Self::RaidKickReasonNone),
            "RAID_KICK_REASON_ACTIVITY_SCHEDULE_FINISH" => {
                Some(Self::RaidKickReasonActivityScheduleFinish)
            }
            _ => None,
        }
    }
}
/// Obf: BDBDGHIEELN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRaidCollectionType {
    None = 0,
    CmdRaidCollectionDataCsReq = 6957,
    CmdRaidCollectionEnterNextRaidCsReq = 6942,
    CmdRaidCollectionDataScRsp = 6948,
    CmdRaidCollectionEnterNextRaidScRsp = 6944,
    CmdRaidCollectionDataScNotify = 6952,
}
impl CmdRaidCollectionType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRaidCollectionType::None => "CmdRaidCollectionTypeNone",
            CmdRaidCollectionType::CmdRaidCollectionDataCsReq => {
                "CmdRaidCollectionDataCsReq"
            }
            CmdRaidCollectionType::CmdRaidCollectionEnterNextRaidCsReq => {
                "CmdRaidCollectionEnterNextRaidCsReq"
            }
            CmdRaidCollectionType::CmdRaidCollectionDataScRsp => {
                "CmdRaidCollectionDataScRsp"
            }
            CmdRaidCollectionType::CmdRaidCollectionEnterNextRaidScRsp => {
                "CmdRaidCollectionEnterNextRaidScRsp"
            }
            CmdRaidCollectionType::CmdRaidCollectionDataScNotify => {
                "CmdRaidCollectionDataScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRaidCollectionTypeNone" => Some(Self::None),
            "CmdRaidCollectionDataCsReq" => Some(Self::CmdRaidCollectionDataCsReq),
            "CmdRaidCollectionEnterNextRaidCsReq" => {
                Some(Self::CmdRaidCollectionEnterNextRaidCsReq)
            }
            "CmdRaidCollectionDataScRsp" => Some(Self::CmdRaidCollectionDataScRsp),
            "CmdRaidCollectionEnterNextRaidScRsp" => {
                Some(Self::CmdRaidCollectionEnterNextRaidScRsp)
            }
            "CmdRaidCollectionDataScNotify" => Some(Self::CmdRaidCollectionDataScNotify),
            _ => None,
        }
    }
}
/// Obf: GJNKIPJFKJN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRecommendType {
    None = 0,
    CmdRelicAvatarRecommendScRsp = 2443,
    CmdGetBigDataRecommendCsReq = 2407,
    CmdRelicRecommendScRsp = 2437,
    CmdGetChallengeRecommendLineupListScRsp = 2433,
    CmdGetBigDataRecommendScRsp = 2429,
    CmdRelicRecommendCsReq = 2426,
    CmdRelicAvatarRecommendCsReq = 2441,
    CmdGetChallengeRecommendLineupListCsReq = 2406,
}
impl CmdRecommendType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRecommendType::None => "CMD_RECOMMEND_TYPE_NONE",
            CmdRecommendType::CmdRelicAvatarRecommendScRsp => {
                "CmdRelicAvatarRecommendScRsp"
            }
            CmdRecommendType::CmdGetBigDataRecommendCsReq => {
                "CmdGetBigDataRecommendCsReq"
            }
            CmdRecommendType::CmdRelicRecommendScRsp => "CmdRelicRecommendScRsp",
            CmdRecommendType::CmdGetChallengeRecommendLineupListScRsp => {
                "CmdGetChallengeRecommendLineupListScRsp"
            }
            CmdRecommendType::CmdGetBigDataRecommendScRsp => {
                "CmdGetBigDataRecommendScRsp"
            }
            CmdRecommendType::CmdRelicRecommendCsReq => "CmdRelicRecommendCsReq",
            CmdRecommendType::CmdRelicAvatarRecommendCsReq => {
                "CmdRelicAvatarRecommendCsReq"
            }
            CmdRecommendType::CmdGetChallengeRecommendLineupListCsReq => {
                "CmdGetChallengeRecommendLineupListCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CMD_RECOMMEND_TYPE_NONE" => Some(Self::None),
            "CmdRelicAvatarRecommendScRsp" => Some(Self::CmdRelicAvatarRecommendScRsp),
            "CmdGetBigDataRecommendCsReq" => Some(Self::CmdGetBigDataRecommendCsReq),
            "CmdRelicRecommendScRsp" => Some(Self::CmdRelicRecommendScRsp),
            "CmdGetChallengeRecommendLineupListScRsp" => {
                Some(Self::CmdGetChallengeRecommendLineupListScRsp)
            }
            "CmdGetBigDataRecommendScRsp" => Some(Self::CmdGetBigDataRecommendScRsp),
            "CmdRelicRecommendCsReq" => Some(Self::CmdRelicRecommendCsReq),
            "CmdRelicAvatarRecommendCsReq" => Some(Self::CmdRelicAvatarRecommendCsReq),
            "CmdGetChallengeRecommendLineupListCsReq" => {
                Some(Self::CmdGetChallengeRecommendLineupListCsReq)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BigDataRecommendType {
    None = 0,
    Equipment = 1,
    RelicSuit = 2,
}
impl BigDataRecommendType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            BigDataRecommendType::None => "BIG_DATA_RECOMMEND_TYPE_NONE",
            BigDataRecommendType::Equipment => "BIG_DATA_RECOMMEND_TYPE_EQUIPMENT",
            BigDataRecommendType::RelicSuit => "BIG_DATA_RECOMMEND_TYPE_RELIC_SUIT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BIG_DATA_RECOMMEND_TYPE_NONE" => Some(Self::None),
            "BIG_DATA_RECOMMEND_TYPE_EQUIPMENT" => Some(Self::Equipment),
            "BIG_DATA_RECOMMEND_TYPE_RELIC_SUIT" => Some(Self::RelicSuit),
            _ => None,
        }
    }
}
/// Obf: HGJDCBDLEGP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRedDotType {
    None = 0,
    CmdGetAllRedDotDataCsReq = 5901,
    CmdGetSingleRedDotParamGroupScRsp = 5956,
    CmdGetSingleRedDotParamGroupCsReq = 5930,
    CmdUpdateRedDotDataCsReq = 5958,
    CmdUpdateRedDotDataScRsp = 5924,
    CmdGetAllRedDotDataScRsp = 5968,
}
impl CmdRedDotType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRedDotType::None => "CmdRedDotTypeNone",
            CmdRedDotType::CmdGetAllRedDotDataCsReq => "CmdGetAllRedDotDataCsReq",
            CmdRedDotType::CmdGetSingleRedDotParamGroupScRsp => {
                "CmdGetSingleRedDotParamGroupScRsp"
            }
            CmdRedDotType::CmdGetSingleRedDotParamGroupCsReq => {
                "CmdGetSingleRedDotParamGroupCsReq"
            }
            CmdRedDotType::CmdUpdateRedDotDataCsReq => "CmdUpdateRedDotDataCsReq",
            CmdRedDotType::CmdUpdateRedDotDataScRsp => "CmdUpdateRedDotDataScRsp",
            CmdRedDotType::CmdGetAllRedDotDataScRsp => "CmdGetAllRedDotDataScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRedDotTypeNone" => Some(Self::None),
            "CmdGetAllRedDotDataCsReq" => Some(Self::CmdGetAllRedDotDataCsReq),
            "CmdGetSingleRedDotParamGroupScRsp" => {
                Some(Self::CmdGetSingleRedDotParamGroupScRsp)
            }
            "CmdGetSingleRedDotParamGroupCsReq" => {
                Some(Self::CmdGetSingleRedDotParamGroupCsReq)
            }
            "CmdUpdateRedDotDataCsReq" => Some(Self::CmdUpdateRedDotDataCsReq),
            "CmdUpdateRedDotDataScRsp" => Some(Self::CmdUpdateRedDotDataScRsp),
            "CmdGetAllRedDotDataScRsp" => Some(Self::CmdGetAllRedDotDataScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ojljhfnfdkp {
    UpdateReddotNone = 0,
    UpdateReddotAdd = 1,
    UpdateReddotReplace = 2,
}
impl Ojljhfnfdkp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ojljhfnfdkp::UpdateReddotNone => "UPDATE_REDDOT_NONE",
            Ojljhfnfdkp::UpdateReddotAdd => "UPDATE_REDDOT_ADD",
            Ojljhfnfdkp::UpdateReddotReplace => "UPDATE_REDDOT_REPLACE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "UPDATE_REDDOT_NONE" => Some(Self::UpdateReddotNone),
            "UPDATE_REDDOT_ADD" => Some(Self::UpdateReddotAdd),
            "UPDATE_REDDOT_REPLACE" => Some(Self::UpdateReddotReplace),
            _ => None,
        }
    }
}
/// Obf: EDPAMOGOONP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRelicSmartWearType {
    None = 0,
    CmdRelicSmartWearAddPlanScRsp = 8252,
    CmdRelicSmartWearDeletePlanCsReq = 8269,
    CmdRelicSmartWearPinRelicCsReq = 8265,
    CmdRelicSmartWearUpdatePlanScRsp = 8251,
    CmdRelicSmartWearGetPinRelicScRsp = 8255,
    CmdRelicSmartWearUpdatePlanCsReq = 8254,
    CmdRelicSmartWearAddPlanCsReq = 8262,
    CmdRelicSmartWearGetPlanCsReq = 8267,
    CmdRelicSmartWearGetPlanScRsp = 8258,
    CmdRelicSmartWearUpdatePinRelicScNotify = 8266,
    CmdRelicSmartWearGetPinRelicCsReq = 8268,
    CmdRelicSmartWearPinRelicScRsp = 8256,
    CmdRelicSmartWearDeletePlanScRsp = 8264,
}
impl CmdRelicSmartWearType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRelicSmartWearType::None => "CmdRelicSmartWearTypeNone",
            CmdRelicSmartWearType::CmdRelicSmartWearAddPlanScRsp => {
                "CmdRelicSmartWearAddPlanScRsp"
            }
            CmdRelicSmartWearType::CmdRelicSmartWearDeletePlanCsReq => {
                "CmdRelicSmartWearDeletePlanCsReq"
            }
            CmdRelicSmartWearType::CmdRelicSmartWearPinRelicCsReq => {
                "CmdRelicSmartWearPinRelicCsReq"
            }
            CmdRelicSmartWearType::CmdRelicSmartWearUpdatePlanScRsp => {
                "CmdRelicSmartWearUpdatePlanScRsp"
            }
            CmdRelicSmartWearType::CmdRelicSmartWearGetPinRelicScRsp => {
                "CmdRelicSmartWearGetPinRelicScRsp"
            }
            CmdRelicSmartWearType::CmdRelicSmartWearUpdatePlanCsReq => {
                "CmdRelicSmartWearUpdatePlanCsReq"
            }
            CmdRelicSmartWearType::CmdRelicSmartWearAddPlanCsReq => {
                "CmdRelicSmartWearAddPlanCsReq"
            }
            CmdRelicSmartWearType::CmdRelicSmartWearGetPlanCsReq => {
                "CmdRelicSmartWearGetPlanCsReq"
            }
            CmdRelicSmartWearType::CmdRelicSmartWearGetPlanScRsp => {
                "CmdRelicSmartWearGetPlanScRsp"
            }
            CmdRelicSmartWearType::CmdRelicSmartWearUpdatePinRelicScNotify => {
                "CmdRelicSmartWearUpdatePinRelicScNotify"
            }
            CmdRelicSmartWearType::CmdRelicSmartWearGetPinRelicCsReq => {
                "CmdRelicSmartWearGetPinRelicCsReq"
            }
            CmdRelicSmartWearType::CmdRelicSmartWearPinRelicScRsp => {
                "CmdRelicSmartWearPinRelicScRsp"
            }
            CmdRelicSmartWearType::CmdRelicSmartWearDeletePlanScRsp => {
                "CmdRelicSmartWearDeletePlanScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRelicSmartWearTypeNone" => Some(Self::None),
            "CmdRelicSmartWearAddPlanScRsp" => Some(Self::CmdRelicSmartWearAddPlanScRsp),
            "CmdRelicSmartWearDeletePlanCsReq" => {
                Some(Self::CmdRelicSmartWearDeletePlanCsReq)
            }
            "CmdRelicSmartWearPinRelicCsReq" => {
                Some(Self::CmdRelicSmartWearPinRelicCsReq)
            }
            "CmdRelicSmartWearUpdatePlanScRsp" => {
                Some(Self::CmdRelicSmartWearUpdatePlanScRsp)
            }
            "CmdRelicSmartWearGetPinRelicScRsp" => {
                Some(Self::CmdRelicSmartWearGetPinRelicScRsp)
            }
            "CmdRelicSmartWearUpdatePlanCsReq" => {
                Some(Self::CmdRelicSmartWearUpdatePlanCsReq)
            }
            "CmdRelicSmartWearAddPlanCsReq" => Some(Self::CmdRelicSmartWearAddPlanCsReq),
            "CmdRelicSmartWearGetPlanCsReq" => Some(Self::CmdRelicSmartWearGetPlanCsReq),
            "CmdRelicSmartWearGetPlanScRsp" => Some(Self::CmdRelicSmartWearGetPlanScRsp),
            "CmdRelicSmartWearUpdatePinRelicScNotify" => {
                Some(Self::CmdRelicSmartWearUpdatePinRelicScNotify)
            }
            "CmdRelicSmartWearGetPinRelicCsReq" => {
                Some(Self::CmdRelicSmartWearGetPinRelicCsReq)
            }
            "CmdRelicSmartWearPinRelicScRsp" => {
                Some(Self::CmdRelicSmartWearPinRelicScRsp)
            }
            "CmdRelicSmartWearDeletePlanScRsp" => {
                Some(Self::CmdRelicSmartWearDeletePlanScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: BOBKJOCALEM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdReplayType {
    None = 0,
    CmdGetReplayTokenCsReq = 3501,
    CmdGetPlayerReplayInfoCsReq = 3558,
    CmdGetPlayerReplayInfoScRsp = 3524,
    CmdGetReplayTokenScRsp = 3568,
}
impl CmdReplayType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdReplayType::None => "CmdReplayTypeNone",
            CmdReplayType::CmdGetReplayTokenCsReq => "CmdGetReplayTokenCsReq",
            CmdReplayType::CmdGetPlayerReplayInfoCsReq => "CmdGetPlayerReplayInfoCsReq",
            CmdReplayType::CmdGetPlayerReplayInfoScRsp => "CmdGetPlayerReplayInfoScRsp",
            CmdReplayType::CmdGetReplayTokenScRsp => "CmdGetReplayTokenScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdReplayTypeNone" => Some(Self::None),
            "CmdGetReplayTokenCsReq" => Some(Self::CmdGetReplayTokenCsReq),
            "CmdGetPlayerReplayInfoCsReq" => Some(Self::CmdGetPlayerReplayInfoCsReq),
            "CmdGetPlayerReplayInfoScRsp" => Some(Self::CmdGetPlayerReplayInfoScRsp),
            "CmdGetReplayTokenScRsp" => Some(Self::CmdGetReplayTokenScRsp),
            _ => None,
        }
    }
}
/// Obf: NMIPDKFMKDM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRndOptionType {
    None = 0,
    CmdDailyFirstMeetPamCsReq = 3458,
    CmdGetRndOptionScRsp = 3468,
    CmdGetRndOptionCsReq = 3401,
    CmdDailyFirstMeetPamScRsp = 3424,
}
impl CmdRndOptionType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRndOptionType::None => "CmdRndOptionTypeNone",
            CmdRndOptionType::CmdDailyFirstMeetPamCsReq => "CmdDailyFirstMeetPamCsReq",
            CmdRndOptionType::CmdGetRndOptionScRsp => "CmdGetRndOptionScRsp",
            CmdRndOptionType::CmdGetRndOptionCsReq => "CmdGetRndOptionCsReq",
            CmdRndOptionType::CmdDailyFirstMeetPamScRsp => "CmdDailyFirstMeetPamScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRndOptionTypeNone" => Some(Self::None),
            "CmdDailyFirstMeetPamCsReq" => Some(Self::CmdDailyFirstMeetPamCsReq),
            "CmdGetRndOptionScRsp" => Some(Self::CmdGetRndOptionScRsp),
            "CmdGetRndOptionCsReq" => Some(Self::CmdGetRndOptionCsReq),
            "CmdDailyFirstMeetPamScRsp" => Some(Self::CmdDailyFirstMeetPamScRsp),
            _ => None,
        }
    }
}
/// Obf: BEMCJMPACCP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueType {
    None = 0,
    CmdReviveRogueAvatarCsReq = 1823,
    CmdSyncRogueStatusScNotify = 1844,
    CmdStartRogueCsReq = 1858,
    CmdGetRogueInfoCsReq = 1801,
    CmdEnterRogueMapRoomCsReq = 1803,
    CmdReviveRogueAvatarScRsp = 1812,
    CmdTakeRogueAeonLevelRewardScRsp = 1851,
    CmdSyncRogueAeonScNotify = 1810,
    CmdSyncRogueVirtualItemInfoScNotify = 1836,
    CmdSyncRogueGetItemScNotify = 1827,
    CmdGetRogueAeonInfoCsReq = 1835,
    CmdQuitRogueCsReq = 1838,
    CmdGetRogueAeonInfoScRsp = 1899,
    CmdSyncRogueReviveInfoScNotify = 1881,
    CmdSyncRogueAeonLevelUpRewardScNotify = 1802,
    CmdExchangeRogueRewardKeyScRsp = 1863,
    CmdSyncRogueAreaUnlockScNotify = 1834,
    CmdLeaveRogueScRsp = 1876,
    CmdSyncRogueMapRoomScNotify = 1878,
    CmdSyncRogueFinishScNotify = 1847,
    CmdPickRogueAvatarScRsp = 1839,
    CmdTakeRogueScoreRewardScRsp = 1891,
    CmdGetRogueInitialScoreScRsp = 1808,
    CmdEnableRogueTalentCsReq = 1845,
    CmdGetRogueInitialScoreCsReq = 1813,
    CmdGetRogueBuffEnhanceInfoCsReq = 1818,
    CmdStartRogueScRsp = 1824,
    CmdSyncRogueExploreWinScNotify = 1859,
    CmdSyncRogueRewardInfoScNotify = 1809,
    CmdEnhanceRogueBuffCsReq = 1850,
    CmdSyncRogueSeasonFinishScNotify = 1841,
    CmdLeaveRogueCsReq = 1897,
    CmdTakeRogueAeonLevelRewardCsReq = 1886,
    CmdEnterRogueMapRoomScRsp = 1857,
    CmdGetRogueBuffEnhanceInfoScRsp = 1895,
    CmdExchangeRogueRewardKeyCsReq = 1826,
    CmdSyncRoguePickAvatarInfoScNotify = 1900,
    CmdGetRogueInfoScRsp = 1868,
    CmdEnterRogueCsReq = 1830,
    CmdOpenRogueChestScRsp = 1860,
    CmdTakeRogueScoreRewardCsReq = 1817,
    CmdFinishAeonDialogueGroupScRsp = 1816,
    CmdEnableRogueTalentScRsp = 1887,
    CmdPickRogueAvatarCsReq = 1880,
    CmdGetRogueTalentInfoCsReq = 1843,
    CmdOpenRogueChestCsReq = 1885,
    CmdGetRogueScoreRewardInfoScRsp = 1898,
    CmdGetRogueTalentInfoScRsp = 1894,
    CmdQuitRogueScRsp = 1819,
    CmdGetRogueScoreRewardInfoCsReq = 1831,
    CmdEnhanceRogueBuffScRsp = 1848,
    CmdFinishAeonDialogueGroupCsReq = 1853,
    CmdEnterRogueScRsp = 1856,
}
impl CmdRogueType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRogueType::None => "CmdRogueTypeNone",
            CmdRogueType::CmdReviveRogueAvatarCsReq => "CmdReviveRogueAvatarCsReq",
            CmdRogueType::CmdSyncRogueStatusScNotify => "CmdSyncRogueStatusScNotify",
            CmdRogueType::CmdStartRogueCsReq => "CmdStartRogueCsReq",
            CmdRogueType::CmdGetRogueInfoCsReq => "CmdGetRogueInfoCsReq",
            CmdRogueType::CmdEnterRogueMapRoomCsReq => "CmdEnterRogueMapRoomCsReq",
            CmdRogueType::CmdReviveRogueAvatarScRsp => "CmdReviveRogueAvatarScRsp",
            CmdRogueType::CmdTakeRogueAeonLevelRewardScRsp => {
                "CmdTakeRogueAeonLevelRewardScRsp"
            }
            CmdRogueType::CmdSyncRogueAeonScNotify => "CmdSyncRogueAeonScNotify",
            CmdRogueType::CmdSyncRogueVirtualItemInfoScNotify => {
                "CmdSyncRogueVirtualItemInfoScNotify"
            }
            CmdRogueType::CmdSyncRogueGetItemScNotify => "CmdSyncRogueGetItemScNotify",
            CmdRogueType::CmdGetRogueAeonInfoCsReq => "CmdGetRogueAeonInfoCsReq",
            CmdRogueType::CmdQuitRogueCsReq => "CmdQuitRogueCsReq",
            CmdRogueType::CmdGetRogueAeonInfoScRsp => "CmdGetRogueAeonInfoScRsp",
            CmdRogueType::CmdSyncRogueReviveInfoScNotify => {
                "CmdSyncRogueReviveInfoScNotify"
            }
            CmdRogueType::CmdSyncRogueAeonLevelUpRewardScNotify => {
                "CmdSyncRogueAeonLevelUpRewardScNotify"
            }
            CmdRogueType::CmdExchangeRogueRewardKeyScRsp => {
                "CmdExchangeRogueRewardKeyScRsp"
            }
            CmdRogueType::CmdSyncRogueAreaUnlockScNotify => {
                "CmdSyncRogueAreaUnlockScNotify"
            }
            CmdRogueType::CmdLeaveRogueScRsp => "CmdLeaveRogueScRsp",
            CmdRogueType::CmdSyncRogueMapRoomScNotify => "CmdSyncRogueMapRoomScNotify",
            CmdRogueType::CmdSyncRogueFinishScNotify => "CmdSyncRogueFinishScNotify",
            CmdRogueType::CmdPickRogueAvatarScRsp => "CmdPickRogueAvatarScRsp",
            CmdRogueType::CmdTakeRogueScoreRewardScRsp => "CmdTakeRogueScoreRewardScRsp",
            CmdRogueType::CmdGetRogueInitialScoreScRsp => "CmdGetRogueInitialScoreScRsp",
            CmdRogueType::CmdEnableRogueTalentCsReq => "CmdEnableRogueTalentCsReq",
            CmdRogueType::CmdGetRogueInitialScoreCsReq => "CmdGetRogueInitialScoreCsReq",
            CmdRogueType::CmdGetRogueBuffEnhanceInfoCsReq => {
                "CmdGetRogueBuffEnhanceInfoCsReq"
            }
            CmdRogueType::CmdStartRogueScRsp => "CmdStartRogueScRsp",
            CmdRogueType::CmdSyncRogueExploreWinScNotify => {
                "CmdSyncRogueExploreWinScNotify"
            }
            CmdRogueType::CmdSyncRogueRewardInfoScNotify => {
                "CmdSyncRogueRewardInfoScNotify"
            }
            CmdRogueType::CmdEnhanceRogueBuffCsReq => "CmdEnhanceRogueBuffCsReq",
            CmdRogueType::CmdSyncRogueSeasonFinishScNotify => {
                "CmdSyncRogueSeasonFinishScNotify"
            }
            CmdRogueType::CmdLeaveRogueCsReq => "CmdLeaveRogueCsReq",
            CmdRogueType::CmdTakeRogueAeonLevelRewardCsReq => {
                "CmdTakeRogueAeonLevelRewardCsReq"
            }
            CmdRogueType::CmdEnterRogueMapRoomScRsp => "CmdEnterRogueMapRoomScRsp",
            CmdRogueType::CmdGetRogueBuffEnhanceInfoScRsp => {
                "CmdGetRogueBuffEnhanceInfoScRsp"
            }
            CmdRogueType::CmdExchangeRogueRewardKeyCsReq => {
                "CmdExchangeRogueRewardKeyCsReq"
            }
            CmdRogueType::CmdSyncRoguePickAvatarInfoScNotify => {
                "CmdSyncRoguePickAvatarInfoScNotify"
            }
            CmdRogueType::CmdGetRogueInfoScRsp => "CmdGetRogueInfoScRsp",
            CmdRogueType::CmdEnterRogueCsReq => "CmdEnterRogueCsReq",
            CmdRogueType::CmdOpenRogueChestScRsp => "CmdOpenRogueChestScRsp",
            CmdRogueType::CmdTakeRogueScoreRewardCsReq => "CmdTakeRogueScoreRewardCsReq",
            CmdRogueType::CmdFinishAeonDialogueGroupScRsp => {
                "CmdFinishAeonDialogueGroupScRsp"
            }
            CmdRogueType::CmdEnableRogueTalentScRsp => "CmdEnableRogueTalentScRsp",
            CmdRogueType::CmdPickRogueAvatarCsReq => "CmdPickRogueAvatarCsReq",
            CmdRogueType::CmdGetRogueTalentInfoCsReq => "CmdGetRogueTalentInfoCsReq",
            CmdRogueType::CmdOpenRogueChestCsReq => "CmdOpenRogueChestCsReq",
            CmdRogueType::CmdGetRogueScoreRewardInfoScRsp => {
                "CmdGetRogueScoreRewardInfoScRsp"
            }
            CmdRogueType::CmdGetRogueTalentInfoScRsp => "CmdGetRogueTalentInfoScRsp",
            CmdRogueType::CmdQuitRogueScRsp => "CmdQuitRogueScRsp",
            CmdRogueType::CmdGetRogueScoreRewardInfoCsReq => {
                "CmdGetRogueScoreRewardInfoCsReq"
            }
            CmdRogueType::CmdEnhanceRogueBuffScRsp => "CmdEnhanceRogueBuffScRsp",
            CmdRogueType::CmdFinishAeonDialogueGroupCsReq => {
                "CmdFinishAeonDialogueGroupCsReq"
            }
            CmdRogueType::CmdEnterRogueScRsp => "CmdEnterRogueScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRogueTypeNone" => Some(Self::None),
            "CmdReviveRogueAvatarCsReq" => Some(Self::CmdReviveRogueAvatarCsReq),
            "CmdSyncRogueStatusScNotify" => Some(Self::CmdSyncRogueStatusScNotify),
            "CmdStartRogueCsReq" => Some(Self::CmdStartRogueCsReq),
            "CmdGetRogueInfoCsReq" => Some(Self::CmdGetRogueInfoCsReq),
            "CmdEnterRogueMapRoomCsReq" => Some(Self::CmdEnterRogueMapRoomCsReq),
            "CmdReviveRogueAvatarScRsp" => Some(Self::CmdReviveRogueAvatarScRsp),
            "CmdTakeRogueAeonLevelRewardScRsp" => {
                Some(Self::CmdTakeRogueAeonLevelRewardScRsp)
            }
            "CmdSyncRogueAeonScNotify" => Some(Self::CmdSyncRogueAeonScNotify),
            "CmdSyncRogueVirtualItemInfoScNotify" => {
                Some(Self::CmdSyncRogueVirtualItemInfoScNotify)
            }
            "CmdSyncRogueGetItemScNotify" => Some(Self::CmdSyncRogueGetItemScNotify),
            "CmdGetRogueAeonInfoCsReq" => Some(Self::CmdGetRogueAeonInfoCsReq),
            "CmdQuitRogueCsReq" => Some(Self::CmdQuitRogueCsReq),
            "CmdGetRogueAeonInfoScRsp" => Some(Self::CmdGetRogueAeonInfoScRsp),
            "CmdSyncRogueReviveInfoScNotify" => {
                Some(Self::CmdSyncRogueReviveInfoScNotify)
            }
            "CmdSyncRogueAeonLevelUpRewardScNotify" => {
                Some(Self::CmdSyncRogueAeonLevelUpRewardScNotify)
            }
            "CmdExchangeRogueRewardKeyScRsp" => {
                Some(Self::CmdExchangeRogueRewardKeyScRsp)
            }
            "CmdSyncRogueAreaUnlockScNotify" => {
                Some(Self::CmdSyncRogueAreaUnlockScNotify)
            }
            "CmdLeaveRogueScRsp" => Some(Self::CmdLeaveRogueScRsp),
            "CmdSyncRogueMapRoomScNotify" => Some(Self::CmdSyncRogueMapRoomScNotify),
            "CmdSyncRogueFinishScNotify" => Some(Self::CmdSyncRogueFinishScNotify),
            "CmdPickRogueAvatarScRsp" => Some(Self::CmdPickRogueAvatarScRsp),
            "CmdTakeRogueScoreRewardScRsp" => Some(Self::CmdTakeRogueScoreRewardScRsp),
            "CmdGetRogueInitialScoreScRsp" => Some(Self::CmdGetRogueInitialScoreScRsp),
            "CmdEnableRogueTalentCsReq" => Some(Self::CmdEnableRogueTalentCsReq),
            "CmdGetRogueInitialScoreCsReq" => Some(Self::CmdGetRogueInitialScoreCsReq),
            "CmdGetRogueBuffEnhanceInfoCsReq" => {
                Some(Self::CmdGetRogueBuffEnhanceInfoCsReq)
            }
            "CmdStartRogueScRsp" => Some(Self::CmdStartRogueScRsp),
            "CmdSyncRogueExploreWinScNotify" => {
                Some(Self::CmdSyncRogueExploreWinScNotify)
            }
            "CmdSyncRogueRewardInfoScNotify" => {
                Some(Self::CmdSyncRogueRewardInfoScNotify)
            }
            "CmdEnhanceRogueBuffCsReq" => Some(Self::CmdEnhanceRogueBuffCsReq),
            "CmdSyncRogueSeasonFinishScNotify" => {
                Some(Self::CmdSyncRogueSeasonFinishScNotify)
            }
            "CmdLeaveRogueCsReq" => Some(Self::CmdLeaveRogueCsReq),
            "CmdTakeRogueAeonLevelRewardCsReq" => {
                Some(Self::CmdTakeRogueAeonLevelRewardCsReq)
            }
            "CmdEnterRogueMapRoomScRsp" => Some(Self::CmdEnterRogueMapRoomScRsp),
            "CmdGetRogueBuffEnhanceInfoScRsp" => {
                Some(Self::CmdGetRogueBuffEnhanceInfoScRsp)
            }
            "CmdExchangeRogueRewardKeyCsReq" => {
                Some(Self::CmdExchangeRogueRewardKeyCsReq)
            }
            "CmdSyncRoguePickAvatarInfoScNotify" => {
                Some(Self::CmdSyncRoguePickAvatarInfoScNotify)
            }
            "CmdGetRogueInfoScRsp" => Some(Self::CmdGetRogueInfoScRsp),
            "CmdEnterRogueCsReq" => Some(Self::CmdEnterRogueCsReq),
            "CmdOpenRogueChestScRsp" => Some(Self::CmdOpenRogueChestScRsp),
            "CmdTakeRogueScoreRewardCsReq" => Some(Self::CmdTakeRogueScoreRewardCsReq),
            "CmdFinishAeonDialogueGroupScRsp" => {
                Some(Self::CmdFinishAeonDialogueGroupScRsp)
            }
            "CmdEnableRogueTalentScRsp" => Some(Self::CmdEnableRogueTalentScRsp),
            "CmdPickRogueAvatarCsReq" => Some(Self::CmdPickRogueAvatarCsReq),
            "CmdGetRogueTalentInfoCsReq" => Some(Self::CmdGetRogueTalentInfoCsReq),
            "CmdOpenRogueChestCsReq" => Some(Self::CmdOpenRogueChestCsReq),
            "CmdGetRogueScoreRewardInfoScRsp" => {
                Some(Self::CmdGetRogueScoreRewardInfoScRsp)
            }
            "CmdGetRogueTalentInfoScRsp" => Some(Self::CmdGetRogueTalentInfoScRsp),
            "CmdQuitRogueScRsp" => Some(Self::CmdQuitRogueScRsp),
            "CmdGetRogueScoreRewardInfoCsReq" => {
                Some(Self::CmdGetRogueScoreRewardInfoCsReq)
            }
            "CmdEnhanceRogueBuffScRsp" => Some(Self::CmdEnhanceRogueBuffScRsp),
            "CmdFinishAeonDialogueGroupCsReq" => {
                Some(Self::CmdFinishAeonDialogueGroupCsReq)
            }
            "CmdEnterRogueScRsp" => Some(Self::CmdEnterRogueScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Egpimdadfdi {
    RogueStatusNone = 0,
    RogueStatusDoing = 1,
    RogueStatusPending = 2,
    RogueStatusEndless = 3,
    RogueStatusFinish = 4,
}
impl Egpimdadfdi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Egpimdadfdi::RogueStatusNone => "ROGUE_STATUS_NONE",
            Egpimdadfdi::RogueStatusDoing => "ROGUE_STATUS_DOING",
            Egpimdadfdi::RogueStatusPending => "ROGUE_STATUS_PENDING",
            Egpimdadfdi::RogueStatusEndless => "ROGUE_STATUS_ENDLESS",
            Egpimdadfdi::RogueStatusFinish => "ROGUE_STATUS_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_STATUS_NONE" => Some(Self::RogueStatusNone),
            "ROGUE_STATUS_DOING" => Some(Self::RogueStatusDoing),
            "ROGUE_STATUS_PENDING" => Some(Self::RogueStatusPending),
            "ROGUE_STATUS_ENDLESS" => Some(Self::RogueStatusEndless),
            "ROGUE_STATUS_FINISH" => Some(Self::RogueStatusFinish),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ilnpbecoepl {
    RogueRoomStatusNone = 0,
    RogueRoomStatusLock = 1,
    RogueRoomStatusUnlock = 2,
    RogueRoomStatusPlay = 3,
    RogueRoomStatusFinish = 4,
}
impl Ilnpbecoepl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ilnpbecoepl::RogueRoomStatusNone => "ROGUE_ROOM_STATUS_NONE",
            Ilnpbecoepl::RogueRoomStatusLock => "ROGUE_ROOM_STATUS_LOCK",
            Ilnpbecoepl::RogueRoomStatusUnlock => "ROGUE_ROOM_STATUS_UNLOCK",
            Ilnpbecoepl::RogueRoomStatusPlay => "ROGUE_ROOM_STATUS_PLAY",
            Ilnpbecoepl::RogueRoomStatusFinish => "ROGUE_ROOM_STATUS_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_ROOM_STATUS_NONE" => Some(Self::RogueRoomStatusNone),
            "ROGUE_ROOM_STATUS_LOCK" => Some(Self::RogueRoomStatusLock),
            "ROGUE_ROOM_STATUS_UNLOCK" => Some(Self::RogueRoomStatusUnlock),
            "ROGUE_ROOM_STATUS_PLAY" => Some(Self::RogueRoomStatusPlay),
            "ROGUE_ROOM_STATUS_FINISH" => Some(Self::RogueRoomStatusFinish),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jdakamigkhf {
    RogueAreaStatusLock = 0,
    RogueAreaStatusUnlock = 1,
    RogueAreaStatusFirstPass = 2,
    RogueAreaStatusClose = 3,
}
impl Jdakamigkhf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Jdakamigkhf::RogueAreaStatusLock => "ROGUE_AREA_STATUS_LOCK",
            Jdakamigkhf::RogueAreaStatusUnlock => "ROGUE_AREA_STATUS_UNLOCK",
            Jdakamigkhf::RogueAreaStatusFirstPass => "ROGUE_AREA_STATUS_FIRST_PASS",
            Jdakamigkhf::RogueAreaStatusClose => "ROGUE_AREA_STATUS_CLOSE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_AREA_STATUS_LOCK" => Some(Self::RogueAreaStatusLock),
            "ROGUE_AREA_STATUS_UNLOCK" => Some(Self::RogueAreaStatusUnlock),
            "ROGUE_AREA_STATUS_FIRST_PASS" => Some(Self::RogueAreaStatusFirstPass),
            "ROGUE_AREA_STATUS_CLOSE" => Some(Self::RogueAreaStatusClose),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jjeikcobdlp {
    RogueBuffSourceTypeNone = 0,
    RogueBuffSourceTypeSelect = 1,
    RogueBuffSourceTypeEnhance = 2,
    RogueBuffSourceTypeMiracle = 3,
    RogueBuffSourceTypeDialogue = 4,
    RogueBuffSourceTypeBonus = 5,
    RogueBuffSourceTypeMazeSkill = 6,
    RogueBuffSourceTypeShop = 7,
    RogueBuffSourceTypeLevelMechanism = 8,
    RogueBuffSourceTypeEndlessLevelStart = 9,
}
impl Jjeikcobdlp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Jjeikcobdlp::RogueBuffSourceTypeNone => "ROGUE_BUFF_SOURCE_TYPE_NONE",
            Jjeikcobdlp::RogueBuffSourceTypeSelect => "ROGUE_BUFF_SOURCE_TYPE_SELECT",
            Jjeikcobdlp::RogueBuffSourceTypeEnhance => "ROGUE_BUFF_SOURCE_TYPE_ENHANCE",
            Jjeikcobdlp::RogueBuffSourceTypeMiracle => "ROGUE_BUFF_SOURCE_TYPE_MIRACLE",
            Jjeikcobdlp::RogueBuffSourceTypeDialogue => "ROGUE_BUFF_SOURCE_TYPE_DIALOGUE",
            Jjeikcobdlp::RogueBuffSourceTypeBonus => "ROGUE_BUFF_SOURCE_TYPE_BONUS",
            Jjeikcobdlp::RogueBuffSourceTypeMazeSkill => {
                "ROGUE_BUFF_SOURCE_TYPE_MAZE_SKILL"
            }
            Jjeikcobdlp::RogueBuffSourceTypeShop => "ROGUE_BUFF_SOURCE_TYPE_SHOP",
            Jjeikcobdlp::RogueBuffSourceTypeLevelMechanism => {
                "ROGUE_BUFF_SOURCE_TYPE_LEVEL_MECHANISM"
            }
            Jjeikcobdlp::RogueBuffSourceTypeEndlessLevelStart => {
                "ROGUE_BUFF_SOURCE_TYPE_ENDLESS_LEVEL_START"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_BUFF_SOURCE_TYPE_NONE" => Some(Self::RogueBuffSourceTypeNone),
            "ROGUE_BUFF_SOURCE_TYPE_SELECT" => Some(Self::RogueBuffSourceTypeSelect),
            "ROGUE_BUFF_SOURCE_TYPE_ENHANCE" => Some(Self::RogueBuffSourceTypeEnhance),
            "ROGUE_BUFF_SOURCE_TYPE_MIRACLE" => Some(Self::RogueBuffSourceTypeMiracle),
            "ROGUE_BUFF_SOURCE_TYPE_DIALOGUE" => Some(Self::RogueBuffSourceTypeDialogue),
            "ROGUE_BUFF_SOURCE_TYPE_BONUS" => Some(Self::RogueBuffSourceTypeBonus),
            "ROGUE_BUFF_SOURCE_TYPE_MAZE_SKILL" => {
                Some(Self::RogueBuffSourceTypeMazeSkill)
            }
            "ROGUE_BUFF_SOURCE_TYPE_SHOP" => Some(Self::RogueBuffSourceTypeShop),
            "ROGUE_BUFF_SOURCE_TYPE_LEVEL_MECHANISM" => {
                Some(Self::RogueBuffSourceTypeLevelMechanism)
            }
            "ROGUE_BUFF_SOURCE_TYPE_ENDLESS_LEVEL_START" => {
                Some(Self::RogueBuffSourceTypeEndlessLevelStart)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Eohhhddahkl {
    RogueMiracleSourceTypeNone = 0,
    RogueMiracleSourceTypeSelect = 1,
    RogueMiracleSourceTypeDialogue = 2,
    RogueMiracleSourceTypeBonus = 3,
    RogueMiracleSourceTypeUse = 4,
    RogueMiracleSourceTypeReset = 5,
    RogueMiracleSourceTypeReplace = 6,
    RogueMiracleSourceTypeTrade = 7,
    RogueMiracleSourceTypeGet = 8,
    RogueMiracleSourceTypeShop = 9,
    RogueMiracleSourceTypeMazeSkill = 10,
    RogueMiracleSourceTypeLevelMechanism = 11,
    RogueMiracleSourceTypeEndlessLevelStart = 12,
}
impl Eohhhddahkl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Eohhhddahkl::RogueMiracleSourceTypeNone => "ROGUE_MIRACLE_SOURCE_TYPE_NONE",
            Eohhhddahkl::RogueMiracleSourceTypeSelect => {
                "ROGUE_MIRACLE_SOURCE_TYPE_SELECT"
            }
            Eohhhddahkl::RogueMiracleSourceTypeDialogue => {
                "ROGUE_MIRACLE_SOURCE_TYPE_DIALOGUE"
            }
            Eohhhddahkl::RogueMiracleSourceTypeBonus => "ROGUE_MIRACLE_SOURCE_TYPE_BONUS",
            Eohhhddahkl::RogueMiracleSourceTypeUse => "ROGUE_MIRACLE_SOURCE_TYPE_USE",
            Eohhhddahkl::RogueMiracleSourceTypeReset => "ROGUE_MIRACLE_SOURCE_TYPE_RESET",
            Eohhhddahkl::RogueMiracleSourceTypeReplace => {
                "ROGUE_MIRACLE_SOURCE_TYPE_REPLACE"
            }
            Eohhhddahkl::RogueMiracleSourceTypeTrade => "ROGUE_MIRACLE_SOURCE_TYPE_TRADE",
            Eohhhddahkl::RogueMiracleSourceTypeGet => "ROGUE_MIRACLE_SOURCE_TYPE_GET",
            Eohhhddahkl::RogueMiracleSourceTypeShop => "ROGUE_MIRACLE_SOURCE_TYPE_SHOP",
            Eohhhddahkl::RogueMiracleSourceTypeMazeSkill => {
                "ROGUE_MIRACLE_SOURCE_TYPE_MAZE_SKILL"
            }
            Eohhhddahkl::RogueMiracleSourceTypeLevelMechanism => {
                "ROGUE_MIRACLE_SOURCE_TYPE_LEVEL_MECHANISM"
            }
            Eohhhddahkl::RogueMiracleSourceTypeEndlessLevelStart => {
                "ROGUE_MIRACLE_SOURCE_TYPE_ENDLESS_LEVEL_START"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_MIRACLE_SOURCE_TYPE_NONE" => Some(Self::RogueMiracleSourceTypeNone),
            "ROGUE_MIRACLE_SOURCE_TYPE_SELECT" => {
                Some(Self::RogueMiracleSourceTypeSelect)
            }
            "ROGUE_MIRACLE_SOURCE_TYPE_DIALOGUE" => {
                Some(Self::RogueMiracleSourceTypeDialogue)
            }
            "ROGUE_MIRACLE_SOURCE_TYPE_BONUS" => Some(Self::RogueMiracleSourceTypeBonus),
            "ROGUE_MIRACLE_SOURCE_TYPE_USE" => Some(Self::RogueMiracleSourceTypeUse),
            "ROGUE_MIRACLE_SOURCE_TYPE_RESET" => Some(Self::RogueMiracleSourceTypeReset),
            "ROGUE_MIRACLE_SOURCE_TYPE_REPLACE" => {
                Some(Self::RogueMiracleSourceTypeReplace)
            }
            "ROGUE_MIRACLE_SOURCE_TYPE_TRADE" => Some(Self::RogueMiracleSourceTypeTrade),
            "ROGUE_MIRACLE_SOURCE_TYPE_GET" => Some(Self::RogueMiracleSourceTypeGet),
            "ROGUE_MIRACLE_SOURCE_TYPE_SHOP" => Some(Self::RogueMiracleSourceTypeShop),
            "ROGUE_MIRACLE_SOURCE_TYPE_MAZE_SKILL" => {
                Some(Self::RogueMiracleSourceTypeMazeSkill)
            }
            "ROGUE_MIRACLE_SOURCE_TYPE_LEVEL_MECHANISM" => {
                Some(Self::RogueMiracleSourceTypeLevelMechanism)
            }
            "ROGUE_MIRACLE_SOURCE_TYPE_ENDLESS_LEVEL_START" => {
                Some(Self::RogueMiracleSourceTypeEndlessLevelStart)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ffnedmegpjd {
    RogueDialogueResultSucc = 0,
    RogueDialogueResultFail = 1,
}
impl Ffnedmegpjd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ffnedmegpjd::RogueDialogueResultSucc => "ROGUE_DIALOGUE_RESULT_SUCC",
            Ffnedmegpjd::RogueDialogueResultFail => "ROGUE_DIALOGUE_RESULT_FAIL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_DIALOGUE_RESULT_SUCC" => Some(Self::RogueDialogueResultSucc),
            "ROGUE_DIALOGUE_RESULT_FAIL" => Some(Self::RogueDialogueResultFail),
            _ => None,
        }
    }
}
/// Obf: EMFMBIEIDDL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueArcadeType {
    None = 0,
    CmdRogueArcadeLeaveCsReq = 7691,
    CmdRogueArcadeLeaveScRsp = 7693,
    CmdRogueArcadeRestartScRsp = 7683,
    CmdRogueArcadeStartScRsp = 7687,
    CmdRogueArcadeRestartCsReq = 7656,
    CmdRogueArcadeStartCsReq = 7676,
    CmdRogueArcadeGetInfoCsReq = 7657,
    CmdRogueArcadeGetInfoScRsp = 7679,
}
impl CmdRogueArcadeType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRogueArcadeType::None => "CmdRogueArcadeTypeNone",
            CmdRogueArcadeType::CmdRogueArcadeLeaveCsReq => "CmdRogueArcadeLeaveCsReq",
            CmdRogueArcadeType::CmdRogueArcadeLeaveScRsp => "CmdRogueArcadeLeaveScRsp",
            CmdRogueArcadeType::CmdRogueArcadeRestartScRsp => {
                "CmdRogueArcadeRestartScRsp"
            }
            CmdRogueArcadeType::CmdRogueArcadeStartScRsp => "CmdRogueArcadeStartScRsp",
            CmdRogueArcadeType::CmdRogueArcadeRestartCsReq => {
                "CmdRogueArcadeRestartCsReq"
            }
            CmdRogueArcadeType::CmdRogueArcadeStartCsReq => "CmdRogueArcadeStartCsReq",
            CmdRogueArcadeType::CmdRogueArcadeGetInfoCsReq => {
                "CmdRogueArcadeGetInfoCsReq"
            }
            CmdRogueArcadeType::CmdRogueArcadeGetInfoScRsp => {
                "CmdRogueArcadeGetInfoScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRogueArcadeTypeNone" => Some(Self::None),
            "CmdRogueArcadeLeaveCsReq" => Some(Self::CmdRogueArcadeLeaveCsReq),
            "CmdRogueArcadeLeaveScRsp" => Some(Self::CmdRogueArcadeLeaveScRsp),
            "CmdRogueArcadeRestartScRsp" => Some(Self::CmdRogueArcadeRestartScRsp),
            "CmdRogueArcadeStartScRsp" => Some(Self::CmdRogueArcadeStartScRsp),
            "CmdRogueArcadeRestartCsReq" => Some(Self::CmdRogueArcadeRestartCsReq),
            "CmdRogueArcadeStartCsReq" => Some(Self::CmdRogueArcadeStartCsReq),
            "CmdRogueArcadeGetInfoCsReq" => Some(Self::CmdRogueArcadeGetInfoCsReq),
            "CmdRogueArcadeGetInfoScRsp" => Some(Self::CmdRogueArcadeGetInfoScRsp),
            _ => None,
        }
    }
}
/// Obf: LKELJBKNBCJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueCommonType {
    None = 0,
    CmdCommonRogueComponentUpdateScNotify = 5679,
    CmdTakeRogueEventHandbookRewardScRsp = 5678,
    CmdTakeRogueMiracleHandbookRewardScRsp = 5613,
    CmdGetRogueShopBuffInfoCsReq = 5656,
    CmdSyncRogueCommonDialogueDataScNotify = 5652,
    CmdBuyRogueShopFormulaScRsp = 5637,
    CmdStopRogueAdventureRoomScRsp = 5648,
    CmdGetRogueShopBuffInfoScRsp = 5697,
    CmdRogueWorkbenchHandleFuncScRsp = 5627,
    CmdEnhanceCommonRogueBuffScRsp = 5695,
    CmdCommonRogueQueryScRsp = 5660,
    CmdPrepareRogueAdventureRoomCsReq = 5668,
    CmdUpdateRogueAdventureRoomScoreScRsp = 5615,
    CmdFinishRogueCommonDialogueScRsp = 5674,
    CmdGetRogueAdventureRoomInfoScRsp = 5647,
    CmdBuyRogueShopMiracleScRsp = 5628,
    CmdGetRogueCollectionCsReq = 5686,
    CmdSelectRogueCommonDialogueOptionCsReq = 5688,
    CmdGetEnhanceCommonRogueBuffInfoScRsp = 5691,
    CmdGetRogueCommonDialogueDataScRsp = 5607,
    CmdGetRogueCollectionScRsp = 5651,
    CmdRogueDebugMessageScNotify = 5643,
    CmdEnhanceCommonRogueBuffCsReq = 5618,
    CmdSyncRogueCommonVirtualItemInfoScNotify = 5677,
    CmdCommonRogueUpdateScNotify = 5626,
    CmdHandleRogueCommonPendingActionScRsp = 5655,
    CmdSetRogueExhibitionScRsp = 5698,
    CmdGetRogueShopFormulaInfoScRsp = 5687,
    CmdRogueGetGambleInfoScRsp = 5632,
    CmdGetRogueExhibitionScRsp = 5602,
    CmdGetRogueShopMiracleInfoCsReq = 5624,
    CmdSelectRogueCommonDialogueOptionScRsp = 5689,
    CmdStopRogueAdventureRoomCsReq = 5650,
    CmdTakeRogueMiracleHandbookRewardCsReq = 5657,
    CmdHandleRogueCommonPendingActionCsReq = 5690,
    CmdGetRogueShopFormulaInfoCsReq = 5645,
    CmdSetRogueExhibitionCsReq = 5631,
    CmdRogueGetGambleInfoCsReq = 5683,
    CmdPrepareRogueAdventureRoomScRsp = 5658,
    CmdSetRogueCollectionScRsp = 5672,
    CmdBuyRogueShopMiracleCsReq = 5676,
    CmdCommonRogueQueryCsReq = 5685,
    CmdRogueWorkbenchHandleFuncCsReq = 5634,
    CmdFinishRogueCommonDialogueCsReq = 5665,
    CmdGetRogueHandbookDataCsReq = 5673,
    CmdSetRogueCollectionCsReq = 5693,
    CmdRogueDebugReplaySaveScNotify = 5694,
    CmdSyncRogueCommonActionResultScNotify = 5667,
    CmdBuyRogueShopFormulaCsReq = 5621,
    CmdGetRogueHandbookDataScRsp = 5640,
    CmdRogueNpcDisappearScRsp = 5649,
    CmdUpdateRogueAdventureRoomScoreCsReq = 5664,
    CmdRogueWorkbenchGetInfoCsReq = 5684,
    CmdRogueDoGambleCsReq = 5635,
    CmdGetRogueCommonDialogueDataCsReq = 5663,
    CmdRogueDoGambleScRsp = 5699,
    CmdBuyRogueShopBuffCsReq = 5611,
    CmdRogueNpcDisappearCsReq = 5614,
    CmdGetRogueShopMiracleInfoScRsp = 5630,
    CmdBuyRogueShopBuffScRsp = 5605,
    CmdTakeRogueEventHandbookRewardCsReq = 5608,
    CmdSyncRogueCommonPendingActionScNotify = 5629,
    CmdRogueWorkbenchGetInfoScRsp = 5610,
    CmdGetRogueAdventureRoomInfoCsReq = 5622,
    CmdGetEnhanceCommonRogueBuffInfoCsReq = 5617,
    CmdSyncRogueHandbookDataUpdateScNotify = 5603,
    CmdGetRogueExhibitionCsReq = 5633,
    CmdSyncRogueCommonDialogueOptionFinishScNotify = 5604,
    CmdSyncRogueAdventureRoomInfoScNotify = 5601,
}
impl CmdRogueCommonType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRogueCommonType::None => "CmdRogueCommonTypeNone",
            CmdRogueCommonType::CmdCommonRogueComponentUpdateScNotify => {
                "CmdCommonRogueComponentUpdateScNotify"
            }
            CmdRogueCommonType::CmdTakeRogueEventHandbookRewardScRsp => {
                "CmdTakeRogueEventHandbookRewardScRsp"
            }
            CmdRogueCommonType::CmdTakeRogueMiracleHandbookRewardScRsp => {
                "CmdTakeRogueMiracleHandbookRewardScRsp"
            }
            CmdRogueCommonType::CmdGetRogueShopBuffInfoCsReq => {
                "CmdGetRogueShopBuffInfoCsReq"
            }
            CmdRogueCommonType::CmdSyncRogueCommonDialogueDataScNotify => {
                "CmdSyncRogueCommonDialogueDataScNotify"
            }
            CmdRogueCommonType::CmdBuyRogueShopFormulaScRsp => {
                "CmdBuyRogueShopFormulaScRsp"
            }
            CmdRogueCommonType::CmdStopRogueAdventureRoomScRsp => {
                "CmdStopRogueAdventureRoomScRsp"
            }
            CmdRogueCommonType::CmdGetRogueShopBuffInfoScRsp => {
                "CmdGetRogueShopBuffInfoScRsp"
            }
            CmdRogueCommonType::CmdRogueWorkbenchHandleFuncScRsp => {
                "CmdRogueWorkbenchHandleFuncScRsp"
            }
            CmdRogueCommonType::CmdEnhanceCommonRogueBuffScRsp => {
                "CmdEnhanceCommonRogueBuffScRsp"
            }
            CmdRogueCommonType::CmdCommonRogueQueryScRsp => "CmdCommonRogueQueryScRsp",
            CmdRogueCommonType::CmdPrepareRogueAdventureRoomCsReq => {
                "CmdPrepareRogueAdventureRoomCsReq"
            }
            CmdRogueCommonType::CmdUpdateRogueAdventureRoomScoreScRsp => {
                "CmdUpdateRogueAdventureRoomScoreScRsp"
            }
            CmdRogueCommonType::CmdFinishRogueCommonDialogueScRsp => {
                "CmdFinishRogueCommonDialogueScRsp"
            }
            CmdRogueCommonType::CmdGetRogueAdventureRoomInfoScRsp => {
                "CmdGetRogueAdventureRoomInfoScRsp"
            }
            CmdRogueCommonType::CmdBuyRogueShopMiracleScRsp => {
                "CmdBuyRogueShopMiracleScRsp"
            }
            CmdRogueCommonType::CmdGetRogueCollectionCsReq => {
                "CmdGetRogueCollectionCsReq"
            }
            CmdRogueCommonType::CmdSelectRogueCommonDialogueOptionCsReq => {
                "CmdSelectRogueCommonDialogueOptionCsReq"
            }
            CmdRogueCommonType::CmdGetEnhanceCommonRogueBuffInfoScRsp => {
                "CmdGetEnhanceCommonRogueBuffInfoScRsp"
            }
            CmdRogueCommonType::CmdGetRogueCommonDialogueDataScRsp => {
                "CmdGetRogueCommonDialogueDataScRsp"
            }
            CmdRogueCommonType::CmdGetRogueCollectionScRsp => {
                "CmdGetRogueCollectionScRsp"
            }
            CmdRogueCommonType::CmdRogueDebugMessageScNotify => {
                "CmdRogueDebugMessageScNotify"
            }
            CmdRogueCommonType::CmdEnhanceCommonRogueBuffCsReq => {
                "CmdEnhanceCommonRogueBuffCsReq"
            }
            CmdRogueCommonType::CmdSyncRogueCommonVirtualItemInfoScNotify => {
                "CmdSyncRogueCommonVirtualItemInfoScNotify"
            }
            CmdRogueCommonType::CmdCommonRogueUpdateScNotify => {
                "CmdCommonRogueUpdateScNotify"
            }
            CmdRogueCommonType::CmdHandleRogueCommonPendingActionScRsp => {
                "CmdHandleRogueCommonPendingActionScRsp"
            }
            CmdRogueCommonType::CmdSetRogueExhibitionScRsp => {
                "CmdSetRogueExhibitionScRsp"
            }
            CmdRogueCommonType::CmdGetRogueShopFormulaInfoScRsp => {
                "CmdGetRogueShopFormulaInfoScRsp"
            }
            CmdRogueCommonType::CmdRogueGetGambleInfoScRsp => {
                "CmdRogueGetGambleInfoScRsp"
            }
            CmdRogueCommonType::CmdGetRogueExhibitionScRsp => {
                "CmdGetRogueExhibitionScRsp"
            }
            CmdRogueCommonType::CmdGetRogueShopMiracleInfoCsReq => {
                "CmdGetRogueShopMiracleInfoCsReq"
            }
            CmdRogueCommonType::CmdSelectRogueCommonDialogueOptionScRsp => {
                "CmdSelectRogueCommonDialogueOptionScRsp"
            }
            CmdRogueCommonType::CmdStopRogueAdventureRoomCsReq => {
                "CmdStopRogueAdventureRoomCsReq"
            }
            CmdRogueCommonType::CmdTakeRogueMiracleHandbookRewardCsReq => {
                "CmdTakeRogueMiracleHandbookRewardCsReq"
            }
            CmdRogueCommonType::CmdHandleRogueCommonPendingActionCsReq => {
                "CmdHandleRogueCommonPendingActionCsReq"
            }
            CmdRogueCommonType::CmdGetRogueShopFormulaInfoCsReq => {
                "CmdGetRogueShopFormulaInfoCsReq"
            }
            CmdRogueCommonType::CmdSetRogueExhibitionCsReq => {
                "CmdSetRogueExhibitionCsReq"
            }
            CmdRogueCommonType::CmdRogueGetGambleInfoCsReq => {
                "CmdRogueGetGambleInfoCsReq"
            }
            CmdRogueCommonType::CmdPrepareRogueAdventureRoomScRsp => {
                "CmdPrepareRogueAdventureRoomScRsp"
            }
            CmdRogueCommonType::CmdSetRogueCollectionScRsp => {
                "CmdSetRogueCollectionScRsp"
            }
            CmdRogueCommonType::CmdBuyRogueShopMiracleCsReq => {
                "CmdBuyRogueShopMiracleCsReq"
            }
            CmdRogueCommonType::CmdCommonRogueQueryCsReq => "CmdCommonRogueQueryCsReq",
            CmdRogueCommonType::CmdRogueWorkbenchHandleFuncCsReq => {
                "CmdRogueWorkbenchHandleFuncCsReq"
            }
            CmdRogueCommonType::CmdFinishRogueCommonDialogueCsReq => {
                "CmdFinishRogueCommonDialogueCsReq"
            }
            CmdRogueCommonType::CmdGetRogueHandbookDataCsReq => {
                "CmdGetRogueHandbookDataCsReq"
            }
            CmdRogueCommonType::CmdSetRogueCollectionCsReq => {
                "CmdSetRogueCollectionCsReq"
            }
            CmdRogueCommonType::CmdRogueDebugReplaySaveScNotify => {
                "CmdRogueDebugReplaySaveScNotify"
            }
            CmdRogueCommonType::CmdSyncRogueCommonActionResultScNotify => {
                "CmdSyncRogueCommonActionResultScNotify"
            }
            CmdRogueCommonType::CmdBuyRogueShopFormulaCsReq => {
                "CmdBuyRogueShopFormulaCsReq"
            }
            CmdRogueCommonType::CmdGetRogueHandbookDataScRsp => {
                "CmdGetRogueHandbookDataScRsp"
            }
            CmdRogueCommonType::CmdRogueNpcDisappearScRsp => "CmdRogueNpcDisappearScRsp",
            CmdRogueCommonType::CmdUpdateRogueAdventureRoomScoreCsReq => {
                "CmdUpdateRogueAdventureRoomScoreCsReq"
            }
            CmdRogueCommonType::CmdRogueWorkbenchGetInfoCsReq => {
                "CmdRogueWorkbenchGetInfoCsReq"
            }
            CmdRogueCommonType::CmdRogueDoGambleCsReq => "CmdRogueDoGambleCsReq",
            CmdRogueCommonType::CmdGetRogueCommonDialogueDataCsReq => {
                "CmdGetRogueCommonDialogueDataCsReq"
            }
            CmdRogueCommonType::CmdRogueDoGambleScRsp => "CmdRogueDoGambleScRsp",
            CmdRogueCommonType::CmdBuyRogueShopBuffCsReq => "CmdBuyRogueShopBuffCsReq",
            CmdRogueCommonType::CmdRogueNpcDisappearCsReq => "CmdRogueNpcDisappearCsReq",
            CmdRogueCommonType::CmdGetRogueShopMiracleInfoScRsp => {
                "CmdGetRogueShopMiracleInfoScRsp"
            }
            CmdRogueCommonType::CmdBuyRogueShopBuffScRsp => "CmdBuyRogueShopBuffScRsp",
            CmdRogueCommonType::CmdTakeRogueEventHandbookRewardCsReq => {
                "CmdTakeRogueEventHandbookRewardCsReq"
            }
            CmdRogueCommonType::CmdSyncRogueCommonPendingActionScNotify => {
                "CmdSyncRogueCommonPendingActionScNotify"
            }
            CmdRogueCommonType::CmdRogueWorkbenchGetInfoScRsp => {
                "CmdRogueWorkbenchGetInfoScRsp"
            }
            CmdRogueCommonType::CmdGetRogueAdventureRoomInfoCsReq => {
                "CmdGetRogueAdventureRoomInfoCsReq"
            }
            CmdRogueCommonType::CmdGetEnhanceCommonRogueBuffInfoCsReq => {
                "CmdGetEnhanceCommonRogueBuffInfoCsReq"
            }
            CmdRogueCommonType::CmdSyncRogueHandbookDataUpdateScNotify => {
                "CmdSyncRogueHandbookDataUpdateScNotify"
            }
            CmdRogueCommonType::CmdGetRogueExhibitionCsReq => {
                "CmdGetRogueExhibitionCsReq"
            }
            CmdRogueCommonType::CmdSyncRogueCommonDialogueOptionFinishScNotify => {
                "CmdSyncRogueCommonDialogueOptionFinishScNotify"
            }
            CmdRogueCommonType::CmdSyncRogueAdventureRoomInfoScNotify => {
                "CmdSyncRogueAdventureRoomInfoScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRogueCommonTypeNone" => Some(Self::None),
            "CmdCommonRogueComponentUpdateScNotify" => {
                Some(Self::CmdCommonRogueComponentUpdateScNotify)
            }
            "CmdTakeRogueEventHandbookRewardScRsp" => {
                Some(Self::CmdTakeRogueEventHandbookRewardScRsp)
            }
            "CmdTakeRogueMiracleHandbookRewardScRsp" => {
                Some(Self::CmdTakeRogueMiracleHandbookRewardScRsp)
            }
            "CmdGetRogueShopBuffInfoCsReq" => Some(Self::CmdGetRogueShopBuffInfoCsReq),
            "CmdSyncRogueCommonDialogueDataScNotify" => {
                Some(Self::CmdSyncRogueCommonDialogueDataScNotify)
            }
            "CmdBuyRogueShopFormulaScRsp" => Some(Self::CmdBuyRogueShopFormulaScRsp),
            "CmdStopRogueAdventureRoomScRsp" => {
                Some(Self::CmdStopRogueAdventureRoomScRsp)
            }
            "CmdGetRogueShopBuffInfoScRsp" => Some(Self::CmdGetRogueShopBuffInfoScRsp),
            "CmdRogueWorkbenchHandleFuncScRsp" => {
                Some(Self::CmdRogueWorkbenchHandleFuncScRsp)
            }
            "CmdEnhanceCommonRogueBuffScRsp" => {
                Some(Self::CmdEnhanceCommonRogueBuffScRsp)
            }
            "CmdCommonRogueQueryScRsp" => Some(Self::CmdCommonRogueQueryScRsp),
            "CmdPrepareRogueAdventureRoomCsReq" => {
                Some(Self::CmdPrepareRogueAdventureRoomCsReq)
            }
            "CmdUpdateRogueAdventureRoomScoreScRsp" => {
                Some(Self::CmdUpdateRogueAdventureRoomScoreScRsp)
            }
            "CmdFinishRogueCommonDialogueScRsp" => {
                Some(Self::CmdFinishRogueCommonDialogueScRsp)
            }
            "CmdGetRogueAdventureRoomInfoScRsp" => {
                Some(Self::CmdGetRogueAdventureRoomInfoScRsp)
            }
            "CmdBuyRogueShopMiracleScRsp" => Some(Self::CmdBuyRogueShopMiracleScRsp),
            "CmdGetRogueCollectionCsReq" => Some(Self::CmdGetRogueCollectionCsReq),
            "CmdSelectRogueCommonDialogueOptionCsReq" => {
                Some(Self::CmdSelectRogueCommonDialogueOptionCsReq)
            }
            "CmdGetEnhanceCommonRogueBuffInfoScRsp" => {
                Some(Self::CmdGetEnhanceCommonRogueBuffInfoScRsp)
            }
            "CmdGetRogueCommonDialogueDataScRsp" => {
                Some(Self::CmdGetRogueCommonDialogueDataScRsp)
            }
            "CmdGetRogueCollectionScRsp" => Some(Self::CmdGetRogueCollectionScRsp),
            "CmdRogueDebugMessageScNotify" => Some(Self::CmdRogueDebugMessageScNotify),
            "CmdEnhanceCommonRogueBuffCsReq" => {
                Some(Self::CmdEnhanceCommonRogueBuffCsReq)
            }
            "CmdSyncRogueCommonVirtualItemInfoScNotify" => {
                Some(Self::CmdSyncRogueCommonVirtualItemInfoScNotify)
            }
            "CmdCommonRogueUpdateScNotify" => Some(Self::CmdCommonRogueUpdateScNotify),
            "CmdHandleRogueCommonPendingActionScRsp" => {
                Some(Self::CmdHandleRogueCommonPendingActionScRsp)
            }
            "CmdSetRogueExhibitionScRsp" => Some(Self::CmdSetRogueExhibitionScRsp),
            "CmdGetRogueShopFormulaInfoScRsp" => {
                Some(Self::CmdGetRogueShopFormulaInfoScRsp)
            }
            "CmdRogueGetGambleInfoScRsp" => Some(Self::CmdRogueGetGambleInfoScRsp),
            "CmdGetRogueExhibitionScRsp" => Some(Self::CmdGetRogueExhibitionScRsp),
            "CmdGetRogueShopMiracleInfoCsReq" => {
                Some(Self::CmdGetRogueShopMiracleInfoCsReq)
            }
            "CmdSelectRogueCommonDialogueOptionScRsp" => {
                Some(Self::CmdSelectRogueCommonDialogueOptionScRsp)
            }
            "CmdStopRogueAdventureRoomCsReq" => {
                Some(Self::CmdStopRogueAdventureRoomCsReq)
            }
            "CmdTakeRogueMiracleHandbookRewardCsReq" => {
                Some(Self::CmdTakeRogueMiracleHandbookRewardCsReq)
            }
            "CmdHandleRogueCommonPendingActionCsReq" => {
                Some(Self::CmdHandleRogueCommonPendingActionCsReq)
            }
            "CmdGetRogueShopFormulaInfoCsReq" => {
                Some(Self::CmdGetRogueShopFormulaInfoCsReq)
            }
            "CmdSetRogueExhibitionCsReq" => Some(Self::CmdSetRogueExhibitionCsReq),
            "CmdRogueGetGambleInfoCsReq" => Some(Self::CmdRogueGetGambleInfoCsReq),
            "CmdPrepareRogueAdventureRoomScRsp" => {
                Some(Self::CmdPrepareRogueAdventureRoomScRsp)
            }
            "CmdSetRogueCollectionScRsp" => Some(Self::CmdSetRogueCollectionScRsp),
            "CmdBuyRogueShopMiracleCsReq" => Some(Self::CmdBuyRogueShopMiracleCsReq),
            "CmdCommonRogueQueryCsReq" => Some(Self::CmdCommonRogueQueryCsReq),
            "CmdRogueWorkbenchHandleFuncCsReq" => {
                Some(Self::CmdRogueWorkbenchHandleFuncCsReq)
            }
            "CmdFinishRogueCommonDialogueCsReq" => {
                Some(Self::CmdFinishRogueCommonDialogueCsReq)
            }
            "CmdGetRogueHandbookDataCsReq" => Some(Self::CmdGetRogueHandbookDataCsReq),
            "CmdSetRogueCollectionCsReq" => Some(Self::CmdSetRogueCollectionCsReq),
            "CmdRogueDebugReplaySaveScNotify" => {
                Some(Self::CmdRogueDebugReplaySaveScNotify)
            }
            "CmdSyncRogueCommonActionResultScNotify" => {
                Some(Self::CmdSyncRogueCommonActionResultScNotify)
            }
            "CmdBuyRogueShopFormulaCsReq" => Some(Self::CmdBuyRogueShopFormulaCsReq),
            "CmdGetRogueHandbookDataScRsp" => Some(Self::CmdGetRogueHandbookDataScRsp),
            "CmdRogueNpcDisappearScRsp" => Some(Self::CmdRogueNpcDisappearScRsp),
            "CmdUpdateRogueAdventureRoomScoreCsReq" => {
                Some(Self::CmdUpdateRogueAdventureRoomScoreCsReq)
            }
            "CmdRogueWorkbenchGetInfoCsReq" => Some(Self::CmdRogueWorkbenchGetInfoCsReq),
            "CmdRogueDoGambleCsReq" => Some(Self::CmdRogueDoGambleCsReq),
            "CmdGetRogueCommonDialogueDataCsReq" => {
                Some(Self::CmdGetRogueCommonDialogueDataCsReq)
            }
            "CmdRogueDoGambleScRsp" => Some(Self::CmdRogueDoGambleScRsp),
            "CmdBuyRogueShopBuffCsReq" => Some(Self::CmdBuyRogueShopBuffCsReq),
            "CmdRogueNpcDisappearCsReq" => Some(Self::CmdRogueNpcDisappearCsReq),
            "CmdGetRogueShopMiracleInfoScRsp" => {
                Some(Self::CmdGetRogueShopMiracleInfoScRsp)
            }
            "CmdBuyRogueShopBuffScRsp" => Some(Self::CmdBuyRogueShopBuffScRsp),
            "CmdTakeRogueEventHandbookRewardCsReq" => {
                Some(Self::CmdTakeRogueEventHandbookRewardCsReq)
            }
            "CmdSyncRogueCommonPendingActionScNotify" => {
                Some(Self::CmdSyncRogueCommonPendingActionScNotify)
            }
            "CmdRogueWorkbenchGetInfoScRsp" => Some(Self::CmdRogueWorkbenchGetInfoScRsp),
            "CmdGetRogueAdventureRoomInfoCsReq" => {
                Some(Self::CmdGetRogueAdventureRoomInfoCsReq)
            }
            "CmdGetEnhanceCommonRogueBuffInfoCsReq" => {
                Some(Self::CmdGetEnhanceCommonRogueBuffInfoCsReq)
            }
            "CmdSyncRogueHandbookDataUpdateScNotify" => {
                Some(Self::CmdSyncRogueHandbookDataUpdateScNotify)
            }
            "CmdGetRogueExhibitionCsReq" => Some(Self::CmdGetRogueExhibitionCsReq),
            "CmdSyncRogueCommonDialogueOptionFinishScNotify" => {
                Some(Self::CmdSyncRogueCommonDialogueOptionFinishScNotify)
            }
            "CmdSyncRogueAdventureRoomInfoScNotify" => {
                Some(Self::CmdSyncRogueAdventureRoomInfoScNotify)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jaocjomenin {
    RogueAdventureRoomStatusNone = 0,
    RogueAdventureRoomStatusPrepare = 1,
    RogueAdventureRoomStatusStarted = 2,
    RogueAdventureRoomStatusStopped = 3,
}
impl Jaocjomenin {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Jaocjomenin::RogueAdventureRoomStatusNone => {
                "ROGUE_ADVENTURE_ROOM_STATUS_NONE"
            }
            Jaocjomenin::RogueAdventureRoomStatusPrepare => {
                "ROGUE_ADVENTURE_ROOM_STATUS_PREPARE"
            }
            Jaocjomenin::RogueAdventureRoomStatusStarted => {
                "ROGUE_ADVENTURE_ROOM_STATUS_STARTED"
            }
            Jaocjomenin::RogueAdventureRoomStatusStopped => {
                "ROGUE_ADVENTURE_ROOM_STATUS_STOPPED"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_ADVENTURE_ROOM_STATUS_NONE" => {
                Some(Self::RogueAdventureRoomStatusNone)
            }
            "ROGUE_ADVENTURE_ROOM_STATUS_PREPARE" => {
                Some(Self::RogueAdventureRoomStatusPrepare)
            }
            "ROGUE_ADVENTURE_ROOM_STATUS_STARTED" => {
                Some(Self::RogueAdventureRoomStatusStarted)
            }
            "ROGUE_ADVENTURE_ROOM_STATUS_STOPPED" => {
                Some(Self::RogueAdventureRoomStatusStopped)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nniohhmjghg {
    RogueCommonBuffSelectSourceTypeNone = 0,
    RogueCommonBuffSelectSourceTypeDiceRoll = 1,
    RogueCommonBuffSelectSourceTypeAeon = 2,
    RogueCommonBuffSelectSourceTypeBoardEvent = 3,
    RogueCommonBuffSelectSourceTypeLevelMechanism = 4,
}
impl Nniohhmjghg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Nniohhmjghg::RogueCommonBuffSelectSourceTypeNone => {
                "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_NONE"
            }
            Nniohhmjghg::RogueCommonBuffSelectSourceTypeDiceRoll => {
                "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_DICE_ROLL"
            }
            Nniohhmjghg::RogueCommonBuffSelectSourceTypeAeon => {
                "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_AEON"
            }
            Nniohhmjghg::RogueCommonBuffSelectSourceTypeBoardEvent => {
                "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_BOARD_EVENT"
            }
            Nniohhmjghg::RogueCommonBuffSelectSourceTypeLevelMechanism => {
                "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_LEVEL_MECHANISM"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_NONE" => {
                Some(Self::RogueCommonBuffSelectSourceTypeNone)
            }
            "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_DICE_ROLL" => {
                Some(Self::RogueCommonBuffSelectSourceTypeDiceRoll)
            }
            "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_AEON" => {
                Some(Self::RogueCommonBuffSelectSourceTypeAeon)
            }
            "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_BOARD_EVENT" => {
                Some(Self::RogueCommonBuffSelectSourceTypeBoardEvent)
            }
            "ROGUE_COMMON_BUFF_SELECT_SOURCE_TYPE_LEVEL_MECHANISM" => {
                Some(Self::RogueCommonBuffSelectSourceTypeLevelMechanism)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Odopdkelaeb {
    RogueUnlockFunctionTypeMiracle = 0,
    RogueUnlockFunctionTypeShowHint = 1,
    RogueUnlockFunctionTypeCosmosBanAeon = 2,
    RogueUnlockFuntionTypeExhibition = 3,
    RogueUnlockFuntionTypeCollection = 4,
    RogueUnlockFuntionTypeTournGodMode = 5,
}
impl Odopdkelaeb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Odopdkelaeb::RogueUnlockFunctionTypeMiracle => {
                "ROGUE_UNLOCK_FUNCTION_TYPE_MIRACLE"
            }
            Odopdkelaeb::RogueUnlockFunctionTypeShowHint => {
                "ROGUE_UNLOCK_FUNCTION_TYPE_SHOW_HINT"
            }
            Odopdkelaeb::RogueUnlockFunctionTypeCosmosBanAeon => {
                "ROGUE_UNLOCK_FUNCTION_TYPE_COSMOS_BAN_AEON"
            }
            Odopdkelaeb::RogueUnlockFuntionTypeExhibition => {
                "ROGUE_UNLOCK_FUNTION_TYPE_EXHIBITION"
            }
            Odopdkelaeb::RogueUnlockFuntionTypeCollection => {
                "ROGUE_UNLOCK_FUNTION_TYPE_COLLECTION"
            }
            Odopdkelaeb::RogueUnlockFuntionTypeTournGodMode => {
                "ROGUE_UNLOCK_FUNTION_TYPE_TOURN_GOD_MODE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_UNLOCK_FUNCTION_TYPE_MIRACLE" => {
                Some(Self::RogueUnlockFunctionTypeMiracle)
            }
            "ROGUE_UNLOCK_FUNCTION_TYPE_SHOW_HINT" => {
                Some(Self::RogueUnlockFunctionTypeShowHint)
            }
            "ROGUE_UNLOCK_FUNCTION_TYPE_COSMOS_BAN_AEON" => {
                Some(Self::RogueUnlockFunctionTypeCosmosBanAeon)
            }
            "ROGUE_UNLOCK_FUNTION_TYPE_EXHIBITION" => {
                Some(Self::RogueUnlockFuntionTypeExhibition)
            }
            "ROGUE_UNLOCK_FUNTION_TYPE_COLLECTION" => {
                Some(Self::RogueUnlockFuntionTypeCollection)
            }
            "ROGUE_UNLOCK_FUNTION_TYPE_TOURN_GOD_MODE" => {
                Some(Self::RogueUnlockFuntionTypeTournGodMode)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pmpcbalmneo {
    RogueCommonMiracleSelectSourceTypeNone = 0,
    RogueCommonMiracleSelectSourceTypeDiceRoll = 1,
    RogueCommonMiracleSelectSourceTypeAeon = 2,
    RogueCommonMiracleSelectSourceTypeBoardEvent = 3,
    RogueCommonMiracleSelectSourceTypeLevelMechanism = 4,
}
impl Pmpcbalmneo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Pmpcbalmneo::RogueCommonMiracleSelectSourceTypeNone => {
                "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_NONE"
            }
            Pmpcbalmneo::RogueCommonMiracleSelectSourceTypeDiceRoll => {
                "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_DICE_ROLL"
            }
            Pmpcbalmneo::RogueCommonMiracleSelectSourceTypeAeon => {
                "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_AEON"
            }
            Pmpcbalmneo::RogueCommonMiracleSelectSourceTypeBoardEvent => {
                "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_BOARD_EVENT"
            }
            Pmpcbalmneo::RogueCommonMiracleSelectSourceTypeLevelMechanism => {
                "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_LEVEL_MECHANISM"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_NONE" => {
                Some(Self::RogueCommonMiracleSelectSourceTypeNone)
            }
            "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_DICE_ROLL" => {
                Some(Self::RogueCommonMiracleSelectSourceTypeDiceRoll)
            }
            "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_AEON" => {
                Some(Self::RogueCommonMiracleSelectSourceTypeAeon)
            }
            "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_BOARD_EVENT" => {
                Some(Self::RogueCommonMiracleSelectSourceTypeBoardEvent)
            }
            "ROGUE_COMMON_MIRACLE_SELECT_SOURCE_TYPE_LEVEL_MECHANISM" => {
                Some(Self::RogueCommonMiracleSelectSourceTypeLevelMechanism)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ojeigiekjeh {
    RogueCommonBuffDisplayTypeNone = 0,
    RogueCommonBuffDisplayTypeAdd = 1,
    RogueCommonBuffDisplayTypeRemove = 2,
}
impl Ojeigiekjeh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ojeigiekjeh::RogueCommonBuffDisplayTypeNone => {
                "ROGUE_COMMON_BUFF_DISPLAY_TYPE_NONE"
            }
            Ojeigiekjeh::RogueCommonBuffDisplayTypeAdd => {
                "ROGUE_COMMON_BUFF_DISPLAY_TYPE_ADD"
            }
            Ojeigiekjeh::RogueCommonBuffDisplayTypeRemove => {
                "ROGUE_COMMON_BUFF_DISPLAY_TYPE_REMOVE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COMMON_BUFF_DISPLAY_TYPE_NONE" => {
                Some(Self::RogueCommonBuffDisplayTypeNone)
            }
            "ROGUE_COMMON_BUFF_DISPLAY_TYPE_ADD" => {
                Some(Self::RogueCommonBuffDisplayTypeAdd)
            }
            "ROGUE_COMMON_BUFF_DISPLAY_TYPE_REMOVE" => {
                Some(Self::RogueCommonBuffDisplayTypeRemove)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Laiapkndbph {
    RogueCommonMiracleDisplayTypeNone = 0,
    RogueCommonMiracleDisplayTypeAdd = 1,
    RogueCommonMiracleDisplayTypeRemove = 2,
    RogueCommonMiracleDisplayTypeRepair = 3,
}
impl Laiapkndbph {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Laiapkndbph::RogueCommonMiracleDisplayTypeNone => {
                "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_NONE"
            }
            Laiapkndbph::RogueCommonMiracleDisplayTypeAdd => {
                "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_ADD"
            }
            Laiapkndbph::RogueCommonMiracleDisplayTypeRemove => {
                "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_REMOVE"
            }
            Laiapkndbph::RogueCommonMiracleDisplayTypeRepair => {
                "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_REPAIR"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_NONE" => {
                Some(Self::RogueCommonMiracleDisplayTypeNone)
            }
            "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_ADD" => {
                Some(Self::RogueCommonMiracleDisplayTypeAdd)
            }
            "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_REMOVE" => {
                Some(Self::RogueCommonMiracleDisplayTypeRemove)
            }
            "ROGUE_COMMON_MIRACLE_DISPLAY_TYPE_REPAIR" => {
                Some(Self::RogueCommonMiracleDisplayTypeRepair)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Paickpmogdg {
    RogueCommonItemDisplayTypeNone = 0,
    RogueCommonItemDisplayTypeAdd = 1,
    RogueCommonItemDisplayTypeRemove = 2,
}
impl Paickpmogdg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Paickpmogdg::RogueCommonItemDisplayTypeNone => {
                "ROGUE_COMMON_ITEM_DISPLAY_TYPE_NONE"
            }
            Paickpmogdg::RogueCommonItemDisplayTypeAdd => {
                "ROGUE_COMMON_ITEM_DISPLAY_TYPE_ADD"
            }
            Paickpmogdg::RogueCommonItemDisplayTypeRemove => {
                "ROGUE_COMMON_ITEM_DISPLAY_TYPE_REMOVE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COMMON_ITEM_DISPLAY_TYPE_NONE" => {
                Some(Self::RogueCommonItemDisplayTypeNone)
            }
            "ROGUE_COMMON_ITEM_DISPLAY_TYPE_ADD" => {
                Some(Self::RogueCommonItemDisplayTypeAdd)
            }
            "ROGUE_COMMON_ITEM_DISPLAY_TYPE_REMOVE" => {
                Some(Self::RogueCommonItemDisplayTypeRemove)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nemklkdbeap {
    RogueCommonActionResultDisplayTypeNone = 0,
    RogueCommonActionResultDisplayTypeSingle = 1,
    RogueCommonActionResultDisplayTypeMulti = 2,
}
impl Nemklkdbeap {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Nemklkdbeap::RogueCommonActionResultDisplayTypeNone => {
                "ROGUE_COMMON_ACTION_RESULT_DISPLAY_TYPE_NONE"
            }
            Nemklkdbeap::RogueCommonActionResultDisplayTypeSingle => {
                "ROGUE_COMMON_ACTION_RESULT_DISPLAY_TYPE_SINGLE"
            }
            Nemklkdbeap::RogueCommonActionResultDisplayTypeMulti => {
                "ROGUE_COMMON_ACTION_RESULT_DISPLAY_TYPE_MULTI"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COMMON_ACTION_RESULT_DISPLAY_TYPE_NONE" => {
                Some(Self::RogueCommonActionResultDisplayTypeNone)
            }
            "ROGUE_COMMON_ACTION_RESULT_DISPLAY_TYPE_SINGLE" => {
                Some(Self::RogueCommonActionResultDisplayTypeSingle)
            }
            "ROGUE_COMMON_ACTION_RESULT_DISPLAY_TYPE_MULTI" => {
                Some(Self::RogueCommonActionResultDisplayTypeMulti)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cfjgpifiool {
    RogueCommonActionResultSourceTypeNone = 0,
    RogueCommonActionResultSourceTypeSelect = 1,
    RogueCommonActionResultSourceTypeEnhance = 2,
    RogueCommonActionResultSourceTypeMiracle = 3,
    RogueCommonActionResultSourceTypeDialogue = 4,
    RogueCommonActionResultSourceTypeBonus = 5,
    RogueCommonActionResultSourceTypeShop = 6,
    RogueCommonActionResultSourceTypeDice = 7,
    RogueCommonActionResultSourceTypeAeon = 8,
    RogueCommonActionResultSourceTypeBoardEvent = 9,
    RogueCommonActionResultSourceTypeMazeSkill = 10,
    RogueCommonActionResultSourceTypeLevelMechanism = 11,
    RogueCommonActionResultSourceTypeBuff = 12,
    RogueCommonActionResultSourceTypeReforge = 13,
    RogueCommonActionResultSourceTypeMagicUnitCompose = 14,
    RogueCommonActionResultSourceTypeMagicUnitReforge = 15,
}
impl Cfjgpifiool {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Cfjgpifiool::RogueCommonActionResultSourceTypeNone => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_NONE"
            }
            Cfjgpifiool::RogueCommonActionResultSourceTypeSelect => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_SELECT"
            }
            Cfjgpifiool::RogueCommonActionResultSourceTypeEnhance => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_ENHANCE"
            }
            Cfjgpifiool::RogueCommonActionResultSourceTypeMiracle => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_MIRACLE"
            }
            Cfjgpifiool::RogueCommonActionResultSourceTypeDialogue => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_DIALOGUE"
            }
            Cfjgpifiool::RogueCommonActionResultSourceTypeBonus => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_BONUS"
            }
            Cfjgpifiool::RogueCommonActionResultSourceTypeShop => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_SHOP"
            }
            Cfjgpifiool::RogueCommonActionResultSourceTypeDice => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_DICE"
            }
            Cfjgpifiool::RogueCommonActionResultSourceTypeAeon => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_AEON"
            }
            Cfjgpifiool::RogueCommonActionResultSourceTypeBoardEvent => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_BOARD_EVENT"
            }
            Cfjgpifiool::RogueCommonActionResultSourceTypeMazeSkill => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_MAZE_SKILL"
            }
            Cfjgpifiool::RogueCommonActionResultSourceTypeLevelMechanism => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_LEVEL_MECHANISM"
            }
            Cfjgpifiool::RogueCommonActionResultSourceTypeBuff => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_BUFF"
            }
            Cfjgpifiool::RogueCommonActionResultSourceTypeReforge => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_REFORGE"
            }
            Cfjgpifiool::RogueCommonActionResultSourceTypeMagicUnitCompose => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_MAGIC_UNIT_COMPOSE"
            }
            Cfjgpifiool::RogueCommonActionResultSourceTypeMagicUnitReforge => {
                "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_MAGIC_UNIT_REFORGE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_NONE" => {
                Some(Self::RogueCommonActionResultSourceTypeNone)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_SELECT" => {
                Some(Self::RogueCommonActionResultSourceTypeSelect)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_ENHANCE" => {
                Some(Self::RogueCommonActionResultSourceTypeEnhance)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_MIRACLE" => {
                Some(Self::RogueCommonActionResultSourceTypeMiracle)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_DIALOGUE" => {
                Some(Self::RogueCommonActionResultSourceTypeDialogue)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_BONUS" => {
                Some(Self::RogueCommonActionResultSourceTypeBonus)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_SHOP" => {
                Some(Self::RogueCommonActionResultSourceTypeShop)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_DICE" => {
                Some(Self::RogueCommonActionResultSourceTypeDice)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_AEON" => {
                Some(Self::RogueCommonActionResultSourceTypeAeon)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_BOARD_EVENT" => {
                Some(Self::RogueCommonActionResultSourceTypeBoardEvent)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_MAZE_SKILL" => {
                Some(Self::RogueCommonActionResultSourceTypeMazeSkill)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_LEVEL_MECHANISM" => {
                Some(Self::RogueCommonActionResultSourceTypeLevelMechanism)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_BUFF" => {
                Some(Self::RogueCommonActionResultSourceTypeBuff)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_REFORGE" => {
                Some(Self::RogueCommonActionResultSourceTypeReforge)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_MAGIC_UNIT_COMPOSE" => {
                Some(Self::RogueCommonActionResultSourceTypeMagicUnitCompose)
            }
            "ROGUE_COMMON_ACTION_RESULT_SOURCE_TYPE_MAGIC_UNIT_REFORGE" => {
                Some(Self::RogueCommonActionResultSourceTypeMagicUnitReforge)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ndkljjiimgm {
    KTitanBlessSelectNone = 0,
    KSelectTitanBlessType = 1,
    KSelectTitanBlessEnhance = 2,
}
impl Ndkljjiimgm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ndkljjiimgm::KTitanBlessSelectNone => "kTitanBlessSelectNone",
            Ndkljjiimgm::KSelectTitanBlessType => "kSelectTitanBlessType",
            Ndkljjiimgm::KSelectTitanBlessEnhance => "kSelectTitanBlessEnhance",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "kTitanBlessSelectNone" => Some(Self::KTitanBlessSelectNone),
            "kSelectTitanBlessType" => Some(Self::KSelectTitanBlessType),
            "kSelectTitanBlessEnhance" => Some(Self::KSelectTitanBlessEnhance),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kpabffanjbk {
    RogueTalentStatusLock = 0,
    RogueTalentStatusUnlock = 1,
    RogueTalentStatusEnable = 2,
}
impl Kpabffanjbk {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Kpabffanjbk::RogueTalentStatusLock => "ROGUE_TALENT_STATUS_LOCK",
            Kpabffanjbk::RogueTalentStatusUnlock => "ROGUE_TALENT_STATUS_UNLOCK",
            Kpabffanjbk::RogueTalentStatusEnable => "ROGUE_TALENT_STATUS_ENABLE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_TALENT_STATUS_LOCK" => Some(Self::RogueTalentStatusLock),
            "ROGUE_TALENT_STATUS_UNLOCK" => Some(Self::RogueTalentStatusUnlock),
            "ROGUE_TALENT_STATUS_ENABLE" => Some(Self::RogueTalentStatusEnable),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mhkmpgabbpl {
    RogueCollectionOperateNone = 0,
    RogueCollectionOperateSet = 1,
    RogueCollectionOperateUnset = 2,
}
impl Mhkmpgabbpl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Mhkmpgabbpl::RogueCollectionOperateNone => "ROGUE_COLLECTION_OPERATE_NONE",
            Mhkmpgabbpl::RogueCollectionOperateSet => "ROGUE_COLLECTION_OPERATE_SET",
            Mhkmpgabbpl::RogueCollectionOperateUnset => "ROGUE_COLLECTION_OPERATE_UNSET",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COLLECTION_OPERATE_NONE" => Some(Self::RogueCollectionOperateNone),
            "ROGUE_COLLECTION_OPERATE_SET" => Some(Self::RogueCollectionOperateSet),
            "ROGUE_COLLECTION_OPERATE_UNSET" => Some(Self::RogueCollectionOperateUnset),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hhiclpljnco {
    RogueBoothNone = 0,
    RogueBoothEmpty = 1,
    RogueBoothDisplay = 2,
}
impl Hhiclpljnco {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Hhiclpljnco::RogueBoothNone => "ROGUE_BOOTH_NONE",
            Hhiclpljnco::RogueBoothEmpty => "ROGUE_BOOTH_EMPTY",
            Hhiclpljnco::RogueBoothDisplay => "ROGUE_BOOTH_DISPLAY",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_BOOTH_NONE" => Some(Self::RogueBoothNone),
            "ROGUE_BOOTH_EMPTY" => Some(Self::RogueBoothEmpty),
            "ROGUE_BOOTH_DISPLAY" => Some(Self::RogueBoothDisplay),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hgpokmdgknn {
    RogueCollectionNone = 0,
    RogueCollectionUnlocked = 1,
    RogueCollectionDisplay = 2,
}
impl Hgpokmdgknn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Hgpokmdgknn::RogueCollectionNone => "ROGUE_COLLECTION_NONE",
            Hgpokmdgknn::RogueCollectionUnlocked => "ROGUE_COLLECTION_UNLOCKED",
            Hgpokmdgknn::RogueCollectionDisplay => "ROGUE_COLLECTION_DISPLAY",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_COLLECTION_NONE" => Some(Self::RogueCollectionNone),
            "ROGUE_COLLECTION_UNLOCKED" => Some(Self::RogueCollectionUnlocked),
            "ROGUE_COLLECTION_DISPLAY" => Some(Self::RogueCollectionDisplay),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ehcobodeeje {
    RogueExhibitionNone = 0,
    RogueExhibitionUnlocked = 1,
    RogueExhibitionDisplay = 2,
}
impl Ehcobodeeje {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ehcobodeeje::RogueExhibitionNone => "ROGUE_EXHIBITION_NONE",
            Ehcobodeeje::RogueExhibitionUnlocked => "ROGUE_EXHIBITION_UNLOCKED",
            Ehcobodeeje::RogueExhibitionDisplay => "ROGUE_EXHIBITION_DISPLAY",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_EXHIBITION_NONE" => Some(Self::RogueExhibitionNone),
            "ROGUE_EXHIBITION_UNLOCKED" => Some(Self::RogueExhibitionUnlocked),
            "ROGUE_EXHIBITION_DISPLAY" => Some(Self::RogueExhibitionDisplay),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kcoalennljb {
    RogueDebugMessageTypeNone = 0,
    RogueDebugMessageTypeDebug = 1,
    RogueDebugMessageTypeInfo = 2,
    RogueDebugMessageTypeWarn = 3,
    RogueDebugMessageTypeError = 4,
}
impl Kcoalennljb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Kcoalennljb::RogueDebugMessageTypeNone => "ROGUE_DEBUG_MESSAGE_TYPE_NONE",
            Kcoalennljb::RogueDebugMessageTypeDebug => "ROGUE_DEBUG_MESSAGE_TYPE_DEBUG",
            Kcoalennljb::RogueDebugMessageTypeInfo => "ROGUE_DEBUG_MESSAGE_TYPE_INFO",
            Kcoalennljb::RogueDebugMessageTypeWarn => "ROGUE_DEBUG_MESSAGE_TYPE_WARN",
            Kcoalennljb::RogueDebugMessageTypeError => "ROGUE_DEBUG_MESSAGE_TYPE_ERROR",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_DEBUG_MESSAGE_TYPE_NONE" => Some(Self::RogueDebugMessageTypeNone),
            "ROGUE_DEBUG_MESSAGE_TYPE_DEBUG" => Some(Self::RogueDebugMessageTypeDebug),
            "ROGUE_DEBUG_MESSAGE_TYPE_INFO" => Some(Self::RogueDebugMessageTypeInfo),
            "ROGUE_DEBUG_MESSAGE_TYPE_WARN" => Some(Self::RogueDebugMessageTypeWarn),
            "ROGUE_DEBUG_MESSAGE_TYPE_ERROR" => Some(Self::RogueDebugMessageTypeError),
            _ => None,
        }
    }
}
/// Obf: JEBNNIFNKCA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueEndless {
    None = 0,
    CmdTakeRogueEndlessActivityPointRewardScRsp = 6003,
    CmdTakeRogueEndlessActivityAllBonusRewardCsReq = 6002,
    CmdEnterRogueEndlessActivityStageCsReq = 6001,
    ActivityBattleEndScNotify = 6005,
    CmdGetRogueEndlessActivityDataCsReq = 6009,
    CmdTakeRogueEndlessActivityAllBonusRewardScRsp = 6010,
    CmdEnterRogueEndlessActivityStageScRsp = 6006,
    CmdGetRogueEndlessActivityDataScRsp = 6008,
    CmdTakeRogueEndlessActivityPointRewardCsReq = 6007,
}
impl CmdRogueEndless {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRogueEndless::None => "CmdRogueEndlessNone",
            CmdRogueEndless::CmdTakeRogueEndlessActivityPointRewardScRsp => {
                "CmdTakeRogueEndlessActivityPointRewardScRsp"
            }
            CmdRogueEndless::CmdTakeRogueEndlessActivityAllBonusRewardCsReq => {
                "CmdTakeRogueEndlessActivityAllBonusRewardCsReq"
            }
            CmdRogueEndless::CmdEnterRogueEndlessActivityStageCsReq => {
                "CmdEnterRogueEndlessActivityStageCsReq"
            }
            CmdRogueEndless::ActivityBattleEndScNotify => {
                "CmdRogueEndlessActivityBattleEndScNotify"
            }
            CmdRogueEndless::CmdGetRogueEndlessActivityDataCsReq => {
                "CmdGetRogueEndlessActivityDataCsReq"
            }
            CmdRogueEndless::CmdTakeRogueEndlessActivityAllBonusRewardScRsp => {
                "CmdTakeRogueEndlessActivityAllBonusRewardScRsp"
            }
            CmdRogueEndless::CmdEnterRogueEndlessActivityStageScRsp => {
                "CmdEnterRogueEndlessActivityStageScRsp"
            }
            CmdRogueEndless::CmdGetRogueEndlessActivityDataScRsp => {
                "CmdGetRogueEndlessActivityDataScRsp"
            }
            CmdRogueEndless::CmdTakeRogueEndlessActivityPointRewardCsReq => {
                "CmdTakeRogueEndlessActivityPointRewardCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRogueEndlessNone" => Some(Self::None),
            "CmdTakeRogueEndlessActivityPointRewardScRsp" => {
                Some(Self::CmdTakeRogueEndlessActivityPointRewardScRsp)
            }
            "CmdTakeRogueEndlessActivityAllBonusRewardCsReq" => {
                Some(Self::CmdTakeRogueEndlessActivityAllBonusRewardCsReq)
            }
            "CmdEnterRogueEndlessActivityStageCsReq" => {
                Some(Self::CmdEnterRogueEndlessActivityStageCsReq)
            }
            "CmdRogueEndlessActivityBattleEndScNotify" => {
                Some(Self::ActivityBattleEndScNotify)
            }
            "CmdGetRogueEndlessActivityDataCsReq" => {
                Some(Self::CmdGetRogueEndlessActivityDataCsReq)
            }
            "CmdTakeRogueEndlessActivityAllBonusRewardScRsp" => {
                Some(Self::CmdTakeRogueEndlessActivityAllBonusRewardScRsp)
            }
            "CmdEnterRogueEndlessActivityStageScRsp" => {
                Some(Self::CmdEnterRogueEndlessActivityStageScRsp)
            }
            "CmdGetRogueEndlessActivityDataScRsp" => {
                Some(Self::CmdGetRogueEndlessActivityDataScRsp)
            }
            "CmdTakeRogueEndlessActivityPointRewardCsReq" => {
                Some(Self::CmdTakeRogueEndlessActivityPointRewardCsReq)
            }
            _ => None,
        }
    }
}
/// Obf: HBDODAGAFMP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueMagic {
    None = 0,
    EnterLayerCsReq = 7705,
    StartScRsp = 7768,
    SetAutoDressInMagicUnitCsReq = 7773,
    GetMiscRealTimeDataScRsp = 7757,
    SetAutoDressInMagicUnitScRsp = 7740,
    EnterScRsp = 7724,
    SettleScRsp = 7776,
    UnitReforgeScRsp = 7738,
    ReviveAvatarCsReq = 7712,
    ScepterDressInUnitScRsp = 7748,
    EnterLayerScRsp = 7714,
    AutoDressInUnitCsReq = 7713,
    GetMiscRealTimeDataCsReq = 7703,
    GetTalentInfoScRsp = 7782,
    SettleCsReq = 7797,
    GetTalentInfoCsReq = 7719,
    AutoDressInMagicUnitChangeScNotify = 7767,
    EnterRoomCsReq = 7728,
    UnitComposeCsReq = 7792,
    UnitReforgeCsReq = 7781,
    UnitComposeScRsp = 7770,
    LevelInfoUpdateScNotify = 7749,
    EnterRoomScRsp = 7711,
    BattleFailSettleInfoScNotify = 7796,
    StoryInfoUpdateScNotify = 7778,
    StartCsReq = 7701,
    EnterCsReq = 7758,
    EnableTalentCsReq = 7759,
    AutoDressInUnitScRsp = 7708,
    ScepterTakeOffUnitScRsp = 7720,
    QueryScRsp = 7718,
    AreaUpdateScNotify = 7722,
    LeaveScRsp = 7756,
    EnableTalentScRsp = 7741,
    QueryCsReq = 7791,
    ReviveCostUpdateScNotify = 7723,
    ScepterTakeOffUnitCsReq = 7769,
    ScepterDressInUnitCsReq = 7750,
    LeaveCsReq = 7730,
    ReviveAvatarScRsp = 7717,
}
impl CmdRogueMagic {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRogueMagic::None => "CmdRogueMagicNone",
            CmdRogueMagic::EnterLayerCsReq => "CmdRogueMagicEnterLayerCsReq",
            CmdRogueMagic::StartScRsp => "CmdRogueMagicStartScRsp",
            CmdRogueMagic::SetAutoDressInMagicUnitCsReq => {
                "CmdRogueMagicSetAutoDressInMagicUnitCsReq"
            }
            CmdRogueMagic::GetMiscRealTimeDataScRsp => {
                "CmdRogueMagicGetMiscRealTimeDataScRsp"
            }
            CmdRogueMagic::SetAutoDressInMagicUnitScRsp => {
                "CmdRogueMagicSetAutoDressInMagicUnitScRsp"
            }
            CmdRogueMagic::EnterScRsp => "CmdRogueMagicEnterScRsp",
            CmdRogueMagic::SettleScRsp => "CmdRogueMagicSettleScRsp",
            CmdRogueMagic::UnitReforgeScRsp => "CmdRogueMagicUnitReforgeScRsp",
            CmdRogueMagic::ReviveAvatarCsReq => "CmdRogueMagicReviveAvatarCsReq",
            CmdRogueMagic::ScepterDressInUnitScRsp => {
                "CmdRogueMagicScepterDressInUnitScRsp"
            }
            CmdRogueMagic::EnterLayerScRsp => "CmdRogueMagicEnterLayerScRsp",
            CmdRogueMagic::AutoDressInUnitCsReq => "CmdRogueMagicAutoDressInUnitCsReq",
            CmdRogueMagic::GetMiscRealTimeDataCsReq => {
                "CmdRogueMagicGetMiscRealTimeDataCsReq"
            }
            CmdRogueMagic::GetTalentInfoScRsp => "CmdRogueMagicGetTalentInfoScRsp",
            CmdRogueMagic::SettleCsReq => "CmdRogueMagicSettleCsReq",
            CmdRogueMagic::GetTalentInfoCsReq => "CmdRogueMagicGetTalentInfoCsReq",
            CmdRogueMagic::AutoDressInMagicUnitChangeScNotify => {
                "CmdRogueMagicAutoDressInMagicUnitChangeScNotify"
            }
            CmdRogueMagic::EnterRoomCsReq => "CmdRogueMagicEnterRoomCsReq",
            CmdRogueMagic::UnitComposeCsReq => "CmdRogueMagicUnitComposeCsReq",
            CmdRogueMagic::UnitReforgeCsReq => "CmdRogueMagicUnitReforgeCsReq",
            CmdRogueMagic::UnitComposeScRsp => "CmdRogueMagicUnitComposeScRsp",
            CmdRogueMagic::LevelInfoUpdateScNotify => {
                "CmdRogueMagicLevelInfoUpdateScNotify"
            }
            CmdRogueMagic::EnterRoomScRsp => "CmdRogueMagicEnterRoomScRsp",
            CmdRogueMagic::BattleFailSettleInfoScNotify => {
                "CmdRogueMagicBattleFailSettleInfoScNotify"
            }
            CmdRogueMagic::StoryInfoUpdateScNotify => {
                "CmdRogueMagicStoryInfoUpdateScNotify"
            }
            CmdRogueMagic::StartCsReq => "CmdRogueMagicStartCsReq",
            CmdRogueMagic::EnterCsReq => "CmdRogueMagicEnterCsReq",
            CmdRogueMagic::EnableTalentCsReq => "CmdRogueMagicEnableTalentCsReq",
            CmdRogueMagic::AutoDressInUnitScRsp => "CmdRogueMagicAutoDressInUnitScRsp",
            CmdRogueMagic::ScepterTakeOffUnitScRsp => {
                "CmdRogueMagicScepterTakeOffUnitScRsp"
            }
            CmdRogueMagic::QueryScRsp => "CmdRogueMagicQueryScRsp",
            CmdRogueMagic::AreaUpdateScNotify => "CmdRogueMagicAreaUpdateScNotify",
            CmdRogueMagic::LeaveScRsp => "CmdRogueMagicLeaveScRsp",
            CmdRogueMagic::EnableTalentScRsp => "CmdRogueMagicEnableTalentScRsp",
            CmdRogueMagic::QueryCsReq => "CmdRogueMagicQueryCsReq",
            CmdRogueMagic::ReviveCostUpdateScNotify => {
                "CmdRogueMagicReviveCostUpdateScNotify"
            }
            CmdRogueMagic::ScepterTakeOffUnitCsReq => {
                "CmdRogueMagicScepterTakeOffUnitCsReq"
            }
            CmdRogueMagic::ScepterDressInUnitCsReq => {
                "CmdRogueMagicScepterDressInUnitCsReq"
            }
            CmdRogueMagic::LeaveCsReq => "CmdRogueMagicLeaveCsReq",
            CmdRogueMagic::ReviveAvatarScRsp => "CmdRogueMagicReviveAvatarScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRogueMagicNone" => Some(Self::None),
            "CmdRogueMagicEnterLayerCsReq" => Some(Self::EnterLayerCsReq),
            "CmdRogueMagicStartScRsp" => Some(Self::StartScRsp),
            "CmdRogueMagicSetAutoDressInMagicUnitCsReq" => {
                Some(Self::SetAutoDressInMagicUnitCsReq)
            }
            "CmdRogueMagicGetMiscRealTimeDataScRsp" => {
                Some(Self::GetMiscRealTimeDataScRsp)
            }
            "CmdRogueMagicSetAutoDressInMagicUnitScRsp" => {
                Some(Self::SetAutoDressInMagicUnitScRsp)
            }
            "CmdRogueMagicEnterScRsp" => Some(Self::EnterScRsp),
            "CmdRogueMagicSettleScRsp" => Some(Self::SettleScRsp),
            "CmdRogueMagicUnitReforgeScRsp" => Some(Self::UnitReforgeScRsp),
            "CmdRogueMagicReviveAvatarCsReq" => Some(Self::ReviveAvatarCsReq),
            "CmdRogueMagicScepterDressInUnitScRsp" => Some(Self::ScepterDressInUnitScRsp),
            "CmdRogueMagicEnterLayerScRsp" => Some(Self::EnterLayerScRsp),
            "CmdRogueMagicAutoDressInUnitCsReq" => Some(Self::AutoDressInUnitCsReq),
            "CmdRogueMagicGetMiscRealTimeDataCsReq" => {
                Some(Self::GetMiscRealTimeDataCsReq)
            }
            "CmdRogueMagicGetTalentInfoScRsp" => Some(Self::GetTalentInfoScRsp),
            "CmdRogueMagicSettleCsReq" => Some(Self::SettleCsReq),
            "CmdRogueMagicGetTalentInfoCsReq" => Some(Self::GetTalentInfoCsReq),
            "CmdRogueMagicAutoDressInMagicUnitChangeScNotify" => {
                Some(Self::AutoDressInMagicUnitChangeScNotify)
            }
            "CmdRogueMagicEnterRoomCsReq" => Some(Self::EnterRoomCsReq),
            "CmdRogueMagicUnitComposeCsReq" => Some(Self::UnitComposeCsReq),
            "CmdRogueMagicUnitReforgeCsReq" => Some(Self::UnitReforgeCsReq),
            "CmdRogueMagicUnitComposeScRsp" => Some(Self::UnitComposeScRsp),
            "CmdRogueMagicLevelInfoUpdateScNotify" => Some(Self::LevelInfoUpdateScNotify),
            "CmdRogueMagicEnterRoomScRsp" => Some(Self::EnterRoomScRsp),
            "CmdRogueMagicBattleFailSettleInfoScNotify" => {
                Some(Self::BattleFailSettleInfoScNotify)
            }
            "CmdRogueMagicStoryInfoUpdateScNotify" => Some(Self::StoryInfoUpdateScNotify),
            "CmdRogueMagicStartCsReq" => Some(Self::StartCsReq),
            "CmdRogueMagicEnterCsReq" => Some(Self::EnterCsReq),
            "CmdRogueMagicEnableTalentCsReq" => Some(Self::EnableTalentCsReq),
            "CmdRogueMagicAutoDressInUnitScRsp" => Some(Self::AutoDressInUnitScRsp),
            "CmdRogueMagicScepterTakeOffUnitScRsp" => Some(Self::ScepterTakeOffUnitScRsp),
            "CmdRogueMagicQueryScRsp" => Some(Self::QueryScRsp),
            "CmdRogueMagicAreaUpdateScNotify" => Some(Self::AreaUpdateScNotify),
            "CmdRogueMagicLeaveScRsp" => Some(Self::LeaveScRsp),
            "CmdRogueMagicEnableTalentScRsp" => Some(Self::EnableTalentScRsp),
            "CmdRogueMagicQueryCsReq" => Some(Self::QueryCsReq),
            "CmdRogueMagicReviveCostUpdateScNotify" => {
                Some(Self::ReviveCostUpdateScNotify)
            }
            "CmdRogueMagicScepterTakeOffUnitCsReq" => Some(Self::ScepterTakeOffUnitCsReq),
            "CmdRogueMagicScepterDressInUnitCsReq" => Some(Self::ScepterDressInUnitCsReq),
            "CmdRogueMagicLeaveCsReq" => Some(Self::LeaveCsReq),
            "CmdRogueMagicReviveAvatarScRsp" => Some(Self::ReviveAvatarScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Behfnmkdomk {
    RogueMagicLevelStatusNone = 0,
    RogueMagicLevelStatusProcessing = 1,
    RogueMagicLevelStatusFinished = 2,
    RogueMagicLevelStatusSettled = 3,
}
impl Behfnmkdomk {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Behfnmkdomk::RogueMagicLevelStatusNone => "ROGUE_MAGIC_LEVEL_STATUS_NONE",
            Behfnmkdomk::RogueMagicLevelStatusProcessing => {
                "ROGUE_MAGIC_LEVEL_STATUS_PROCESSING"
            }
            Behfnmkdomk::RogueMagicLevelStatusFinished => {
                "ROGUE_MAGIC_LEVEL_STATUS_FINISHED"
            }
            Behfnmkdomk::RogueMagicLevelStatusSettled => {
                "ROGUE_MAGIC_LEVEL_STATUS_SETTLED"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_MAGIC_LEVEL_STATUS_NONE" => Some(Self::RogueMagicLevelStatusNone),
            "ROGUE_MAGIC_LEVEL_STATUS_PROCESSING" => {
                Some(Self::RogueMagicLevelStatusProcessing)
            }
            "ROGUE_MAGIC_LEVEL_STATUS_FINISHED" => {
                Some(Self::RogueMagicLevelStatusFinished)
            }
            "ROGUE_MAGIC_LEVEL_STATUS_SETTLED" => {
                Some(Self::RogueMagicLevelStatusSettled)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jlcbbkkgoej {
    RogueMagicLayerStatusNone = 0,
    RogueMagicLayerStatusProcessing = 1,
    RogueMagicLayerStatusFinish = 2,
}
impl Jlcbbkkgoej {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Jlcbbkkgoej::RogueMagicLayerStatusNone => "ROGUE_MAGIC_LAYER_STATUS_NONE",
            Jlcbbkkgoej::RogueMagicLayerStatusProcessing => {
                "ROGUE_MAGIC_LAYER_STATUS_PROCESSING"
            }
            Jlcbbkkgoej::RogueMagicLayerStatusFinish => "ROGUE_MAGIC_LAYER_STATUS_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_MAGIC_LAYER_STATUS_NONE" => Some(Self::RogueMagicLayerStatusNone),
            "ROGUE_MAGIC_LAYER_STATUS_PROCESSING" => {
                Some(Self::RogueMagicLayerStatusProcessing)
            }
            "ROGUE_MAGIC_LAYER_STATUS_FINISH" => Some(Self::RogueMagicLayerStatusFinish),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jiokhlhgeod {
    RogueMagicRoomStatusNone = 0,
    RogueMagicRoomStatusInited = 1,
    RogueMagicRoomStatusProcessing = 2,
    RogueMagicRoomStatusFinish = 3,
}
impl Jiokhlhgeod {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Jiokhlhgeod::RogueMagicRoomStatusNone => "ROGUE_MAGIC_ROOM_STATUS_NONE",
            Jiokhlhgeod::RogueMagicRoomStatusInited => "ROGUE_MAGIC_ROOM_STATUS_INITED",
            Jiokhlhgeod::RogueMagicRoomStatusProcessing => {
                "ROGUE_MAGIC_ROOM_STATUS_PROCESSING"
            }
            Jiokhlhgeod::RogueMagicRoomStatusFinish => "ROGUE_MAGIC_ROOM_STATUS_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_MAGIC_ROOM_STATUS_NONE" => Some(Self::RogueMagicRoomStatusNone),
            "ROGUE_MAGIC_ROOM_STATUS_INITED" => Some(Self::RogueMagicRoomStatusInited),
            "ROGUE_MAGIC_ROOM_STATUS_PROCESSING" => {
                Some(Self::RogueMagicRoomStatusProcessing)
            }
            "ROGUE_MAGIC_ROOM_STATUS_FINISH" => Some(Self::RogueMagicRoomStatusFinish),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jmpphgigffi {
    RogueMagicSettleReasonNone = 0,
    RogueMagicSettleReasonWin = 1,
    RogueMagicSettleReasonFail = 2,
    RogueMagicSettleReasonInterrupt = 3,
}
impl Jmpphgigffi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Jmpphgigffi::RogueMagicSettleReasonNone => "ROGUE_MAGIC_SETTLE_REASON_NONE",
            Jmpphgigffi::RogueMagicSettleReasonWin => "ROGUE_MAGIC_SETTLE_REASON_WIN",
            Jmpphgigffi::RogueMagicSettleReasonFail => "ROGUE_MAGIC_SETTLE_REASON_FAIL",
            Jmpphgigffi::RogueMagicSettleReasonInterrupt => {
                "ROGUE_MAGIC_SETTLE_REASON_INTERRUPT"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_MAGIC_SETTLE_REASON_NONE" => Some(Self::RogueMagicSettleReasonNone),
            "ROGUE_MAGIC_SETTLE_REASON_WIN" => Some(Self::RogueMagicSettleReasonWin),
            "ROGUE_MAGIC_SETTLE_REASON_FAIL" => Some(Self::RogueMagicSettleReasonFail),
            "ROGUE_MAGIC_SETTLE_REASON_INTERRUPT" => {
                Some(Self::RogueMagicSettleReasonInterrupt)
            }
            _ => None,
        }
    }
}
/// Obf: LCNMLGCGDJC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueModifierType {
    None = 0,
    CmdRogueModifierAddNotify = 5358,
    CmdRogueModifierUpdateNotify = 5376,
    CmdRogueModifierSelectCellScRsp = 5330,
    CmdRogueModifierSelectCellCsReq = 5324,
    CmdRogueModifierStageStartNotify = 5311,
    CmdRogueModifierDelNotify = 5328,
}
impl CmdRogueModifierType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRogueModifierType::None => "CmdRogueModifierTypeNone",
            CmdRogueModifierType::CmdRogueModifierAddNotify => {
                "CmdRogueModifierAddNotify"
            }
            CmdRogueModifierType::CmdRogueModifierUpdateNotify => {
                "CmdRogueModifierUpdateNotify"
            }
            CmdRogueModifierType::CmdRogueModifierSelectCellScRsp => {
                "CmdRogueModifierSelectCellScRsp"
            }
            CmdRogueModifierType::CmdRogueModifierSelectCellCsReq => {
                "CmdRogueModifierSelectCellCsReq"
            }
            CmdRogueModifierType::CmdRogueModifierStageStartNotify => {
                "CmdRogueModifierStageStartNotify"
            }
            CmdRogueModifierType::CmdRogueModifierDelNotify => {
                "CmdRogueModifierDelNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRogueModifierTypeNone" => Some(Self::None),
            "CmdRogueModifierAddNotify" => Some(Self::CmdRogueModifierAddNotify),
            "CmdRogueModifierUpdateNotify" => Some(Self::CmdRogueModifierUpdateNotify),
            "CmdRogueModifierSelectCellScRsp" => {
                Some(Self::CmdRogueModifierSelectCellScRsp)
            }
            "CmdRogueModifierSelectCellCsReq" => {
                Some(Self::CmdRogueModifierSelectCellCsReq)
            }
            "CmdRogueModifierStageStartNotify" => {
                Some(Self::CmdRogueModifierStageStartNotify)
            }
            "CmdRogueModifierDelNotify" => Some(Self::CmdRogueModifierDelNotify),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lgmdbcffjof {
    RogueModifierSourceNone = 0,
    RogueModifierSourceDiceRoll = 1,
    RogueModifierSourceAeon = 2,
    RogueModifierSourceBoardEvent = 3,
    RogueModifierSourceDialogEvent = 4,
    RogueModifierSourceMiracle = 5,
    RogueModifierSourceCellMark = 6,
    RogueModifierSourceAeonTalent = 7,
    RogueModifierSourceBossDecay = 8,
    RogueModifierSourceDiceBranch = 9,
}
impl Lgmdbcffjof {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Lgmdbcffjof::RogueModifierSourceNone => "ROGUE_MODIFIER_SOURCE_NONE",
            Lgmdbcffjof::RogueModifierSourceDiceRoll => "ROGUE_MODIFIER_SOURCE_DICE_ROLL",
            Lgmdbcffjof::RogueModifierSourceAeon => "ROGUE_MODIFIER_SOURCE_AEON",
            Lgmdbcffjof::RogueModifierSourceBoardEvent => {
                "ROGUE_MODIFIER_SOURCE_BOARD_EVENT"
            }
            Lgmdbcffjof::RogueModifierSourceDialogEvent => {
                "ROGUE_MODIFIER_SOURCE_DIALOG_EVENT"
            }
            Lgmdbcffjof::RogueModifierSourceMiracle => "ROGUE_MODIFIER_SOURCE_MIRACLE",
            Lgmdbcffjof::RogueModifierSourceCellMark => "ROGUE_MODIFIER_SOURCE_CELL_MARK",
            Lgmdbcffjof::RogueModifierSourceAeonTalent => {
                "ROGUE_MODIFIER_SOURCE_AEON_TALENT"
            }
            Lgmdbcffjof::RogueModifierSourceBossDecay => {
                "ROGUE_MODIFIER_SOURCE_BOSS_DECAY"
            }
            Lgmdbcffjof::RogueModifierSourceDiceBranch => {
                "ROGUE_MODIFIER_SOURCE_DICE_BRANCH"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_MODIFIER_SOURCE_NONE" => Some(Self::RogueModifierSourceNone),
            "ROGUE_MODIFIER_SOURCE_DICE_ROLL" => Some(Self::RogueModifierSourceDiceRoll),
            "ROGUE_MODIFIER_SOURCE_AEON" => Some(Self::RogueModifierSourceAeon),
            "ROGUE_MODIFIER_SOURCE_BOARD_EVENT" => {
                Some(Self::RogueModifierSourceBoardEvent)
            }
            "ROGUE_MODIFIER_SOURCE_DIALOG_EVENT" => {
                Some(Self::RogueModifierSourceDialogEvent)
            }
            "ROGUE_MODIFIER_SOURCE_MIRACLE" => Some(Self::RogueModifierSourceMiracle),
            "ROGUE_MODIFIER_SOURCE_CELL_MARK" => Some(Self::RogueModifierSourceCellMark),
            "ROGUE_MODIFIER_SOURCE_AEON_TALENT" => {
                Some(Self::RogueModifierSourceAeonTalent)
            }
            "ROGUE_MODIFIER_SOURCE_BOSS_DECAY" => {
                Some(Self::RogueModifierSourceBossDecay)
            }
            "ROGUE_MODIFIER_SOURCE_DICE_BRANCH" => {
                Some(Self::RogueModifierSourceDiceBranch)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Njchljfiodm {
    RogueModifierContentDefinite = 0,
    RogueModifierContentRandom = 1,
}
impl Njchljfiodm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Njchljfiodm::RogueModifierContentDefinite => {
                "ROGUE_MODIFIER_CONTENT_DEFINITE"
            }
            Njchljfiodm::RogueModifierContentRandom => "ROGUE_MODIFIER_CONTENT_RANDOM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_MODIFIER_CONTENT_DEFINITE" => Some(Self::RogueModifierContentDefinite),
            "ROGUE_MODIFIER_CONTENT_RANDOM" => Some(Self::RogueModifierContentRandom),
            _ => None,
        }
    }
}
/// Obf: FCENFMADHJG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueTournType {
    None = 0,
    CmdRogueTournSettleScRsp = 6092,
    CmdRogueTournConfirmSettleCsReq = 6086,
    CmdRogueTournDeleteArchiveCsReq = 6032,
    CmdRogueTournGetArchiveRepositoryCsReq = 6075,
    CmdRogueTournGetMiscRealTimeDataScRsp = 6095,
    CmdRogueTournExpNotify = 6078,
    CmdRogueTournGetSeasonTalentInfoScRsp = 6079,
    CmdRogueTournGetSeasonTalentInfoCsReq = 6028,
    CmdRogueTournGetAllArchiveCsReq = 6029,
    CmdRogueTournQueryScRsp = 6082,
    CmdRogueTournStartCsReq = 6011,
    CmdRogueTournTitanUpdateTitanBlessProgressScNotify = 6024,
    CmdRogueTournReviveAvatarCsReq = 6050,
    CmdRogueTournLeaveScRsp = 6064,
    CmdRogueTournReEnterRogueCocoonStageCsReq = 6020,
    CmdRogueTournRenameArchiveScRsp = 6013,
    CmdRogueTournDifficultyCompNotify = 6014,
    CmdRogueTournLevelInfoUpdateScNotify = 6061,
    CmdRogueTournClearArchiveNameScNotify = 6080,
    CmdRogueTournEnablePermanentTalentScRsp = 6088,
    CmdRogueTournGetAllArchiveScRsp = 6040,
    CmdRogueTournResetPermanentTalentScRsp = 6058,
    CmdRogueTournEnterScRsp = 6022,
    CmdRogueTournTakeExpRewardScRsp = 6071,
    CmdRogueTournConfirmSettleScRsp = 6073,
    CmdRogueTournGetCurRogueCocoonInfoScRsp = 6067,
    CmdRogueTournLeaveRogueCocoonSceneCsReq = 6018,
    CmdRogueTournGetArchiveRepositoryScRsp = 6062,
    CmdRogueTournEnterRogueCocoonSceneCsReq = 6048,
    CmdRogueTournSettleCsReq = 6070,
    CmdRogueTournDeleteArchiveScRsp = 6033,
    CmdRogueTournRenameArchiveCsReq = 6077,
    CmdRogueTournBattleFailSettleInfoScNotify = 6087,
    CmdRogueTournWeekChallengeUpdateScNotify = 6017,
    CmdRogueTournEnterCsReq = 6021,
    CmdRogueTournGetSettleInfoScRsp = 6091,
    CmdRogueTournGetPermanentTalentInfoCsReq = 6096,
    CmdRogueTournGetMiscRealTimeDataCsReq = 6089,
    CmdRogueTournReviveAvatarScRsp = 6038,
    CmdRogueTournEnterRogueCocoonSceneScRsp = 6023,
    CmdRogueTournEnterLayerCsReq = 6030,
    CmdRogueTournHandBookNotify = 6025,
    CmdRogueTournReviveCostUpdateScNotify = 6066,
    CmdRogueTournGetSettleInfoCsReq = 6060,
    CmdRogueTournTakeExpRewardCsReq = 6034,
    CmdRogueTournReEnterRogueCocoonStageScRsp = 6039,
    CmdRogueTournResetPermanentTalentCsReq = 6065,
    CmdRogueTournEnableSeasonTalentScRsp = 6027,
    CmdRogueTournAreaUpdateScNotify = 6051,
    CmdRogueTournLeaveRogueCocoonSceneScRsp = 6049,
    CmdRogueTournQueryCsReq = 6069,
    CmdRogueTournEnterLayerScRsp = 6090,
    CmdRogueTournEnterRoomCsReq = 6059,
    CmdRogueTournEnterRoomScRsp = 6044,
    CmdRogueTournLeaveCsReq = 6083,
    CmdRogueTournGetPermanentTalentInfoScRsp = 6057,
    CmdRogueTournEnableSeasonTalentCsReq = 6015,
    CmdRogueTournStartScRsp = 6068,
    CmdRogueTournEnablePermanentTalentCsReq = 6074,
    CmdRogueTournGetCurRogueCocoonInfoCsReq = 6016,
}
impl CmdRogueTournType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRogueTournType::None => "CmdRogueTournTypeNone",
            CmdRogueTournType::CmdRogueTournSettleScRsp => "CmdRogueTournSettleScRsp",
            CmdRogueTournType::CmdRogueTournConfirmSettleCsReq => {
                "CmdRogueTournConfirmSettleCsReq"
            }
            CmdRogueTournType::CmdRogueTournDeleteArchiveCsReq => {
                "CmdRogueTournDeleteArchiveCsReq"
            }
            CmdRogueTournType::CmdRogueTournGetArchiveRepositoryCsReq => {
                "CmdRogueTournGetArchiveRepositoryCsReq"
            }
            CmdRogueTournType::CmdRogueTournGetMiscRealTimeDataScRsp => {
                "CmdRogueTournGetMiscRealTimeDataScRsp"
            }
            CmdRogueTournType::CmdRogueTournExpNotify => "CmdRogueTournExpNotify",
            CmdRogueTournType::CmdRogueTournGetSeasonTalentInfoScRsp => {
                "CmdRogueTournGetSeasonTalentInfoScRsp"
            }
            CmdRogueTournType::CmdRogueTournGetSeasonTalentInfoCsReq => {
                "CmdRogueTournGetSeasonTalentInfoCsReq"
            }
            CmdRogueTournType::CmdRogueTournGetAllArchiveCsReq => {
                "CmdRogueTournGetAllArchiveCsReq"
            }
            CmdRogueTournType::CmdRogueTournQueryScRsp => "CmdRogueTournQueryScRsp",
            CmdRogueTournType::CmdRogueTournStartCsReq => "CmdRogueTournStartCsReq",
            CmdRogueTournType::CmdRogueTournTitanUpdateTitanBlessProgressScNotify => {
                "CmdRogueTournTitanUpdateTitanBlessProgressScNotify"
            }
            CmdRogueTournType::CmdRogueTournReviveAvatarCsReq => {
                "CmdRogueTournReviveAvatarCsReq"
            }
            CmdRogueTournType::CmdRogueTournLeaveScRsp => "CmdRogueTournLeaveScRsp",
            CmdRogueTournType::CmdRogueTournReEnterRogueCocoonStageCsReq => {
                "CmdRogueTournReEnterRogueCocoonStageCsReq"
            }
            CmdRogueTournType::CmdRogueTournRenameArchiveScRsp => {
                "CmdRogueTournRenameArchiveScRsp"
            }
            CmdRogueTournType::CmdRogueTournDifficultyCompNotify => {
                "CmdRogueTournDifficultyCompNotify"
            }
            CmdRogueTournType::CmdRogueTournLevelInfoUpdateScNotify => {
                "CmdRogueTournLevelInfoUpdateScNotify"
            }
            CmdRogueTournType::CmdRogueTournClearArchiveNameScNotify => {
                "CmdRogueTournClearArchiveNameScNotify"
            }
            CmdRogueTournType::CmdRogueTournEnablePermanentTalentScRsp => {
                "CmdRogueTournEnablePermanentTalentScRsp"
            }
            CmdRogueTournType::CmdRogueTournGetAllArchiveScRsp => {
                "CmdRogueTournGetAllArchiveScRsp"
            }
            CmdRogueTournType::CmdRogueTournResetPermanentTalentScRsp => {
                "CmdRogueTournResetPermanentTalentScRsp"
            }
            CmdRogueTournType::CmdRogueTournEnterScRsp => "CmdRogueTournEnterScRsp",
            CmdRogueTournType::CmdRogueTournTakeExpRewardScRsp => {
                "CmdRogueTournTakeExpRewardScRsp"
            }
            CmdRogueTournType::CmdRogueTournConfirmSettleScRsp => {
                "CmdRogueTournConfirmSettleScRsp"
            }
            CmdRogueTournType::CmdRogueTournGetCurRogueCocoonInfoScRsp => {
                "CmdRogueTournGetCurRogueCocoonInfoScRsp"
            }
            CmdRogueTournType::CmdRogueTournLeaveRogueCocoonSceneCsReq => {
                "CmdRogueTournLeaveRogueCocoonSceneCsReq"
            }
            CmdRogueTournType::CmdRogueTournGetArchiveRepositoryScRsp => {
                "CmdRogueTournGetArchiveRepositoryScRsp"
            }
            CmdRogueTournType::CmdRogueTournEnterRogueCocoonSceneCsReq => {
                "CmdRogueTournEnterRogueCocoonSceneCsReq"
            }
            CmdRogueTournType::CmdRogueTournSettleCsReq => "CmdRogueTournSettleCsReq",
            CmdRogueTournType::CmdRogueTournDeleteArchiveScRsp => {
                "CmdRogueTournDeleteArchiveScRsp"
            }
            CmdRogueTournType::CmdRogueTournRenameArchiveCsReq => {
                "CmdRogueTournRenameArchiveCsReq"
            }
            CmdRogueTournType::CmdRogueTournBattleFailSettleInfoScNotify => {
                "CmdRogueTournBattleFailSettleInfoScNotify"
            }
            CmdRogueTournType::CmdRogueTournWeekChallengeUpdateScNotify => {
                "CmdRogueTournWeekChallengeUpdateScNotify"
            }
            CmdRogueTournType::CmdRogueTournEnterCsReq => "CmdRogueTournEnterCsReq",
            CmdRogueTournType::CmdRogueTournGetSettleInfoScRsp => {
                "CmdRogueTournGetSettleInfoScRsp"
            }
            CmdRogueTournType::CmdRogueTournGetPermanentTalentInfoCsReq => {
                "CmdRogueTournGetPermanentTalentInfoCsReq"
            }
            CmdRogueTournType::CmdRogueTournGetMiscRealTimeDataCsReq => {
                "CmdRogueTournGetMiscRealTimeDataCsReq"
            }
            CmdRogueTournType::CmdRogueTournReviveAvatarScRsp => {
                "CmdRogueTournReviveAvatarScRsp"
            }
            CmdRogueTournType::CmdRogueTournEnterRogueCocoonSceneScRsp => {
                "CmdRogueTournEnterRogueCocoonSceneScRsp"
            }
            CmdRogueTournType::CmdRogueTournEnterLayerCsReq => {
                "CmdRogueTournEnterLayerCsReq"
            }
            CmdRogueTournType::CmdRogueTournHandBookNotify => {
                "CmdRogueTournHandBookNotify"
            }
            CmdRogueTournType::CmdRogueTournReviveCostUpdateScNotify => {
                "CmdRogueTournReviveCostUpdateScNotify"
            }
            CmdRogueTournType::CmdRogueTournGetSettleInfoCsReq => {
                "CmdRogueTournGetSettleInfoCsReq"
            }
            CmdRogueTournType::CmdRogueTournTakeExpRewardCsReq => {
                "CmdRogueTournTakeExpRewardCsReq"
            }
            CmdRogueTournType::CmdRogueTournReEnterRogueCocoonStageScRsp => {
                "CmdRogueTournReEnterRogueCocoonStageScRsp"
            }
            CmdRogueTournType::CmdRogueTournResetPermanentTalentCsReq => {
                "CmdRogueTournResetPermanentTalentCsReq"
            }
            CmdRogueTournType::CmdRogueTournEnableSeasonTalentScRsp => {
                "CmdRogueTournEnableSeasonTalentScRsp"
            }
            CmdRogueTournType::CmdRogueTournAreaUpdateScNotify => {
                "CmdRogueTournAreaUpdateScNotify"
            }
            CmdRogueTournType::CmdRogueTournLeaveRogueCocoonSceneScRsp => {
                "CmdRogueTournLeaveRogueCocoonSceneScRsp"
            }
            CmdRogueTournType::CmdRogueTournQueryCsReq => "CmdRogueTournQueryCsReq",
            CmdRogueTournType::CmdRogueTournEnterLayerScRsp => {
                "CmdRogueTournEnterLayerScRsp"
            }
            CmdRogueTournType::CmdRogueTournEnterRoomCsReq => {
                "CmdRogueTournEnterRoomCsReq"
            }
            CmdRogueTournType::CmdRogueTournEnterRoomScRsp => {
                "CmdRogueTournEnterRoomScRsp"
            }
            CmdRogueTournType::CmdRogueTournLeaveCsReq => "CmdRogueTournLeaveCsReq",
            CmdRogueTournType::CmdRogueTournGetPermanentTalentInfoScRsp => {
                "CmdRogueTournGetPermanentTalentInfoScRsp"
            }
            CmdRogueTournType::CmdRogueTournEnableSeasonTalentCsReq => {
                "CmdRogueTournEnableSeasonTalentCsReq"
            }
            CmdRogueTournType::CmdRogueTournStartScRsp => "CmdRogueTournStartScRsp",
            CmdRogueTournType::CmdRogueTournEnablePermanentTalentCsReq => {
                "CmdRogueTournEnablePermanentTalentCsReq"
            }
            CmdRogueTournType::CmdRogueTournGetCurRogueCocoonInfoCsReq => {
                "CmdRogueTournGetCurRogueCocoonInfoCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRogueTournTypeNone" => Some(Self::None),
            "CmdRogueTournSettleScRsp" => Some(Self::CmdRogueTournSettleScRsp),
            "CmdRogueTournConfirmSettleCsReq" => {
                Some(Self::CmdRogueTournConfirmSettleCsReq)
            }
            "CmdRogueTournDeleteArchiveCsReq" => {
                Some(Self::CmdRogueTournDeleteArchiveCsReq)
            }
            "CmdRogueTournGetArchiveRepositoryCsReq" => {
                Some(Self::CmdRogueTournGetArchiveRepositoryCsReq)
            }
            "CmdRogueTournGetMiscRealTimeDataScRsp" => {
                Some(Self::CmdRogueTournGetMiscRealTimeDataScRsp)
            }
            "CmdRogueTournExpNotify" => Some(Self::CmdRogueTournExpNotify),
            "CmdRogueTournGetSeasonTalentInfoScRsp" => {
                Some(Self::CmdRogueTournGetSeasonTalentInfoScRsp)
            }
            "CmdRogueTournGetSeasonTalentInfoCsReq" => {
                Some(Self::CmdRogueTournGetSeasonTalentInfoCsReq)
            }
            "CmdRogueTournGetAllArchiveCsReq" => {
                Some(Self::CmdRogueTournGetAllArchiveCsReq)
            }
            "CmdRogueTournQueryScRsp" => Some(Self::CmdRogueTournQueryScRsp),
            "CmdRogueTournStartCsReq" => Some(Self::CmdRogueTournStartCsReq),
            "CmdRogueTournTitanUpdateTitanBlessProgressScNotify" => {
                Some(Self::CmdRogueTournTitanUpdateTitanBlessProgressScNotify)
            }
            "CmdRogueTournReviveAvatarCsReq" => {
                Some(Self::CmdRogueTournReviveAvatarCsReq)
            }
            "CmdRogueTournLeaveScRsp" => Some(Self::CmdRogueTournLeaveScRsp),
            "CmdRogueTournReEnterRogueCocoonStageCsReq" => {
                Some(Self::CmdRogueTournReEnterRogueCocoonStageCsReq)
            }
            "CmdRogueTournRenameArchiveScRsp" => {
                Some(Self::CmdRogueTournRenameArchiveScRsp)
            }
            "CmdRogueTournDifficultyCompNotify" => {
                Some(Self::CmdRogueTournDifficultyCompNotify)
            }
            "CmdRogueTournLevelInfoUpdateScNotify" => {
                Some(Self::CmdRogueTournLevelInfoUpdateScNotify)
            }
            "CmdRogueTournClearArchiveNameScNotify" => {
                Some(Self::CmdRogueTournClearArchiveNameScNotify)
            }
            "CmdRogueTournEnablePermanentTalentScRsp" => {
                Some(Self::CmdRogueTournEnablePermanentTalentScRsp)
            }
            "CmdRogueTournGetAllArchiveScRsp" => {
                Some(Self::CmdRogueTournGetAllArchiveScRsp)
            }
            "CmdRogueTournResetPermanentTalentScRsp" => {
                Some(Self::CmdRogueTournResetPermanentTalentScRsp)
            }
            "CmdRogueTournEnterScRsp" => Some(Self::CmdRogueTournEnterScRsp),
            "CmdRogueTournTakeExpRewardScRsp" => {
                Some(Self::CmdRogueTournTakeExpRewardScRsp)
            }
            "CmdRogueTournConfirmSettleScRsp" => {
                Some(Self::CmdRogueTournConfirmSettleScRsp)
            }
            "CmdRogueTournGetCurRogueCocoonInfoScRsp" => {
                Some(Self::CmdRogueTournGetCurRogueCocoonInfoScRsp)
            }
            "CmdRogueTournLeaveRogueCocoonSceneCsReq" => {
                Some(Self::CmdRogueTournLeaveRogueCocoonSceneCsReq)
            }
            "CmdRogueTournGetArchiveRepositoryScRsp" => {
                Some(Self::CmdRogueTournGetArchiveRepositoryScRsp)
            }
            "CmdRogueTournEnterRogueCocoonSceneCsReq" => {
                Some(Self::CmdRogueTournEnterRogueCocoonSceneCsReq)
            }
            "CmdRogueTournSettleCsReq" => Some(Self::CmdRogueTournSettleCsReq),
            "CmdRogueTournDeleteArchiveScRsp" => {
                Some(Self::CmdRogueTournDeleteArchiveScRsp)
            }
            "CmdRogueTournRenameArchiveCsReq" => {
                Some(Self::CmdRogueTournRenameArchiveCsReq)
            }
            "CmdRogueTournBattleFailSettleInfoScNotify" => {
                Some(Self::CmdRogueTournBattleFailSettleInfoScNotify)
            }
            "CmdRogueTournWeekChallengeUpdateScNotify" => {
                Some(Self::CmdRogueTournWeekChallengeUpdateScNotify)
            }
            "CmdRogueTournEnterCsReq" => Some(Self::CmdRogueTournEnterCsReq),
            "CmdRogueTournGetSettleInfoScRsp" => {
                Some(Self::CmdRogueTournGetSettleInfoScRsp)
            }
            "CmdRogueTournGetPermanentTalentInfoCsReq" => {
                Some(Self::CmdRogueTournGetPermanentTalentInfoCsReq)
            }
            "CmdRogueTournGetMiscRealTimeDataCsReq" => {
                Some(Self::CmdRogueTournGetMiscRealTimeDataCsReq)
            }
            "CmdRogueTournReviveAvatarScRsp" => {
                Some(Self::CmdRogueTournReviveAvatarScRsp)
            }
            "CmdRogueTournEnterRogueCocoonSceneScRsp" => {
                Some(Self::CmdRogueTournEnterRogueCocoonSceneScRsp)
            }
            "CmdRogueTournEnterLayerCsReq" => Some(Self::CmdRogueTournEnterLayerCsReq),
            "CmdRogueTournHandBookNotify" => Some(Self::CmdRogueTournHandBookNotify),
            "CmdRogueTournReviveCostUpdateScNotify" => {
                Some(Self::CmdRogueTournReviveCostUpdateScNotify)
            }
            "CmdRogueTournGetSettleInfoCsReq" => {
                Some(Self::CmdRogueTournGetSettleInfoCsReq)
            }
            "CmdRogueTournTakeExpRewardCsReq" => {
                Some(Self::CmdRogueTournTakeExpRewardCsReq)
            }
            "CmdRogueTournReEnterRogueCocoonStageScRsp" => {
                Some(Self::CmdRogueTournReEnterRogueCocoonStageScRsp)
            }
            "CmdRogueTournResetPermanentTalentCsReq" => {
                Some(Self::CmdRogueTournResetPermanentTalentCsReq)
            }
            "CmdRogueTournEnableSeasonTalentScRsp" => {
                Some(Self::CmdRogueTournEnableSeasonTalentScRsp)
            }
            "CmdRogueTournAreaUpdateScNotify" => {
                Some(Self::CmdRogueTournAreaUpdateScNotify)
            }
            "CmdRogueTournLeaveRogueCocoonSceneScRsp" => {
                Some(Self::CmdRogueTournLeaveRogueCocoonSceneScRsp)
            }
            "CmdRogueTournQueryCsReq" => Some(Self::CmdRogueTournQueryCsReq),
            "CmdRogueTournEnterLayerScRsp" => Some(Self::CmdRogueTournEnterLayerScRsp),
            "CmdRogueTournEnterRoomCsReq" => Some(Self::CmdRogueTournEnterRoomCsReq),
            "CmdRogueTournEnterRoomScRsp" => Some(Self::CmdRogueTournEnterRoomScRsp),
            "CmdRogueTournLeaveCsReq" => Some(Self::CmdRogueTournLeaveCsReq),
            "CmdRogueTournGetPermanentTalentInfoScRsp" => {
                Some(Self::CmdRogueTournGetPermanentTalentInfoScRsp)
            }
            "CmdRogueTournEnableSeasonTalentCsReq" => {
                Some(Self::CmdRogueTournEnableSeasonTalentCsReq)
            }
            "CmdRogueTournStartScRsp" => Some(Self::CmdRogueTournStartScRsp),
            "CmdRogueTournEnablePermanentTalentCsReq" => {
                Some(Self::CmdRogueTournEnablePermanentTalentCsReq)
            }
            "CmdRogueTournGetCurRogueCocoonInfoCsReq" => {
                Some(Self::CmdRogueTournGetCurRogueCocoonInfoCsReq)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ogadimmljhn {
    RogueTournLevelStatusNone = 0,
    RogueTournLevelStatusProcessing = 1,
    RogueTournLevelStatusFinished = 2,
    RogueTournLevelStatusSettled = 3,
}
impl Ogadimmljhn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ogadimmljhn::RogueTournLevelStatusNone => "ROGUE_TOURN_LEVEL_STATUS_NONE",
            Ogadimmljhn::RogueTournLevelStatusProcessing => {
                "ROGUE_TOURN_LEVEL_STATUS_PROCESSING"
            }
            Ogadimmljhn::RogueTournLevelStatusFinished => {
                "ROGUE_TOURN_LEVEL_STATUS_FINISHED"
            }
            Ogadimmljhn::RogueTournLevelStatusSettled => {
                "ROGUE_TOURN_LEVEL_STATUS_SETTLED"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_TOURN_LEVEL_STATUS_NONE" => Some(Self::RogueTournLevelStatusNone),
            "ROGUE_TOURN_LEVEL_STATUS_PROCESSING" => {
                Some(Self::RogueTournLevelStatusProcessing)
            }
            "ROGUE_TOURN_LEVEL_STATUS_FINISHED" => {
                Some(Self::RogueTournLevelStatusFinished)
            }
            "ROGUE_TOURN_LEVEL_STATUS_SETTLED" => {
                Some(Self::RogueTournLevelStatusSettled)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Odbnigdlncf {
    RogueTournLayerStatusNone = 0,
    RogueTournLayerStatusProcessing = 1,
    RogueTournLayerStatusFinish = 2,
}
impl Odbnigdlncf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Odbnigdlncf::RogueTournLayerStatusNone => "ROGUE_TOURN_LAYER_STATUS_NONE",
            Odbnigdlncf::RogueTournLayerStatusProcessing => {
                "ROGUE_TOURN_LAYER_STATUS_PROCESSING"
            }
            Odbnigdlncf::RogueTournLayerStatusFinish => "ROGUE_TOURN_LAYER_STATUS_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_TOURN_LAYER_STATUS_NONE" => Some(Self::RogueTournLayerStatusNone),
            "ROGUE_TOURN_LAYER_STATUS_PROCESSING" => {
                Some(Self::RogueTournLayerStatusProcessing)
            }
            "ROGUE_TOURN_LAYER_STATUS_FINISH" => Some(Self::RogueTournLayerStatusFinish),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lmiknfdlffo {
    RogueTournRoomStatusNone = 0,
    RogueTournRoomStatusInited = 1,
    RogueTournRoomStatusProcessing = 2,
    RogueTournRoomStatusFinish = 3,
}
impl Lmiknfdlffo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Lmiknfdlffo::RogueTournRoomStatusNone => "ROGUE_TOURN_ROOM_STATUS_NONE",
            Lmiknfdlffo::RogueTournRoomStatusInited => "ROGUE_TOURN_ROOM_STATUS_INITED",
            Lmiknfdlffo::RogueTournRoomStatusProcessing => {
                "ROGUE_TOURN_ROOM_STATUS_PROCESSING"
            }
            Lmiknfdlffo::RogueTournRoomStatusFinish => "ROGUE_TOURN_ROOM_STATUS_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_TOURN_ROOM_STATUS_NONE" => Some(Self::RogueTournRoomStatusNone),
            "ROGUE_TOURN_ROOM_STATUS_INITED" => Some(Self::RogueTournRoomStatusInited),
            "ROGUE_TOURN_ROOM_STATUS_PROCESSING" => {
                Some(Self::RogueTournRoomStatusProcessing)
            }
            "ROGUE_TOURN_ROOM_STATUS_FINISH" => Some(Self::RogueTournRoomStatusFinish),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Akkhkmecafl {
    RogueTournSettleReasonNone = 0,
    RogueTournSettleReasonWin = 1,
    RogueTournSettleReasonFail = 2,
    RogueTournSettleReasonInterrupt = 3,
}
impl Akkhkmecafl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Akkhkmecafl::RogueTournSettleReasonNone => "ROGUE_TOURN_SETTLE_REASON_NONE",
            Akkhkmecafl::RogueTournSettleReasonWin => "ROGUE_TOURN_SETTLE_REASON_WIN",
            Akkhkmecafl::RogueTournSettleReasonFail => "ROGUE_TOURN_SETTLE_REASON_FAIL",
            Akkhkmecafl::RogueTournSettleReasonInterrupt => {
                "ROGUE_TOURN_SETTLE_REASON_INTERRUPT"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_TOURN_SETTLE_REASON_NONE" => Some(Self::RogueTournSettleReasonNone),
            "ROGUE_TOURN_SETTLE_REASON_WIN" => Some(Self::RogueTournSettleReasonWin),
            "ROGUE_TOURN_SETTLE_REASON_FAIL" => Some(Self::RogueTournSettleReasonFail),
            "ROGUE_TOURN_SETTLE_REASON_INTERRUPT" => {
                Some(Self::RogueTournSettleReasonInterrupt)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ollchpfkhaa {
    RogueTournHandbookNone = 0,
    RogueTournHandbookSimpleMiracle = 1,
    RogueTournHandbookHexMiracle = 2,
    RogueTournHandbookBuff = 3,
    RogueTournHandbookEvent = 4,
    RogueTournHandbookFormula = 5,
    RogueTournHandbookTitanBless = 6,
}
impl Ollchpfkhaa {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ollchpfkhaa::RogueTournHandbookNone => "ROGUE_TOURN_HANDBOOK_NONE",
            Ollchpfkhaa::RogueTournHandbookSimpleMiracle => {
                "ROGUE_TOURN_HANDBOOK_SIMPLE_MIRACLE"
            }
            Ollchpfkhaa::RogueTournHandbookHexMiracle => {
                "ROGUE_TOURN_HANDBOOK_HEX_MIRACLE"
            }
            Ollchpfkhaa::RogueTournHandbookBuff => "ROGUE_TOURN_HANDBOOK_BUFF",
            Ollchpfkhaa::RogueTournHandbookEvent => "ROGUE_TOURN_HANDBOOK_EVENT",
            Ollchpfkhaa::RogueTournHandbookFormula => "ROGUE_TOURN_HANDBOOK_FORMULA",
            Ollchpfkhaa::RogueTournHandbookTitanBless => {
                "ROGUE_TOURN_HANDBOOK_TITAN_BLESS"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ROGUE_TOURN_HANDBOOK_NONE" => Some(Self::RogueTournHandbookNone),
            "ROGUE_TOURN_HANDBOOK_SIMPLE_MIRACLE" => {
                Some(Self::RogueTournHandbookSimpleMiracle)
            }
            "ROGUE_TOURN_HANDBOOK_HEX_MIRACLE" => {
                Some(Self::RogueTournHandbookHexMiracle)
            }
            "ROGUE_TOURN_HANDBOOK_BUFF" => Some(Self::RogueTournHandbookBuff),
            "ROGUE_TOURN_HANDBOOK_EVENT" => Some(Self::RogueTournHandbookEvent),
            "ROGUE_TOURN_HANDBOOK_FORMULA" => Some(Self::RogueTournHandbookFormula),
            "ROGUE_TOURN_HANDBOOK_TITAN_BLESS" => {
                Some(Self::RogueTournHandbookTitanBless)
            }
            _ => None,
        }
    }
}
/// Obf: FHAAABCILAM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRollShopType {
    None = 0,
    CmdGetRollShopInfoScRsp = 6908,
    CmdTakeRollShopRewardScRsp = 6901,
    CmdTakeRollShopRewardCsReq = 6904,
    CmdDoGachaInRollShopCsReq = 6912,
    CmdDoGachaInRollShopScRsp = 6902,
    CmdGetRollShopInfoCsReq = 6917,
}
impl CmdRollShopType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdRollShopType::None => "CmdRollShopTypeNone",
            CmdRollShopType::CmdGetRollShopInfoScRsp => "CmdGetRollShopInfoScRsp",
            CmdRollShopType::CmdTakeRollShopRewardScRsp => "CmdTakeRollShopRewardScRsp",
            CmdRollShopType::CmdTakeRollShopRewardCsReq => "CmdTakeRollShopRewardCsReq",
            CmdRollShopType::CmdDoGachaInRollShopCsReq => "CmdDoGachaInRollShopCsReq",
            CmdRollShopType::CmdDoGachaInRollShopScRsp => "CmdDoGachaInRollShopScRsp",
            CmdRollShopType::CmdGetRollShopInfoCsReq => "CmdGetRollShopInfoCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdRollShopTypeNone" => Some(Self::None),
            "CmdGetRollShopInfoScRsp" => Some(Self::CmdGetRollShopInfoScRsp),
            "CmdTakeRollShopRewardScRsp" => Some(Self::CmdTakeRollShopRewardScRsp),
            "CmdTakeRollShopRewardCsReq" => Some(Self::CmdTakeRollShopRewardCsReq),
            "CmdDoGachaInRollShopCsReq" => Some(Self::CmdDoGachaInRollShopCsReq),
            "CmdDoGachaInRollShopScRsp" => Some(Self::CmdDoGachaInRollShopScRsp),
            "CmdGetRollShopInfoCsReq" => Some(Self::CmdGetRollShopInfoCsReq),
            _ => None,
        }
    }
}
/// Obf: MOIHHHKOJLG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdSceneType {
    None = 0,
    CmdRefreshTriggerByClientScNotify = 1445,
    CmdSetCurInteractEntityScRsp = 1438,
    CmdReEnterLastElementStageCsReq = 1465,
    CmdSceneReviveAfterRebattleScRsp = 1448,
    CmdEnterSceneScRsp = 1484,
    CmdDeactivateFarmElementScRsp = 1467,
    CmdSceneEntityMoveCsReq = 1401,
    CmdReturnLastTownScRsp = 1491,
    CmdEnterSectionScRsp = 1420,
    CmdSceneEntityMoveScRsp = 1468,
    CmdSceneEnterStageCsReq = 1418,
    CmdSetGroupCustomSaveDataScRsp = 1407,
    CmdSceneReviveAfterRebattleCsReq = 1450,
    CmdUnlockTeleportNotify = 1409,
    CmdChangePropTimelineInfoScRsp = 1411,
    CmdInteractPropCsReq = 1458,
    CmdSceneCastSkillCostMpScRsp = 1447,
    CmdSpringRefreshScRsp = 1423,
    CmdActivateFarmElementScRsp = 1464,
    CmdUpdateFloorSavedValueNotify = 1402,
    CmdSavePointsInfoNotify = 1459,
    CmdUpdateGroupPropertyScRsp = 1425,
    CmdSetCurInteractEntityCsReq = 1481,
    CmdEnterSectionCsReq = 1469,
    CmdDeactivateFarmElementCsReq = 1478,
    CmdGameplayCounterCountDownScRsp = 1498,
    CmdEntityBindPropScRsp = 1403,
    CmdSceneUpdatePositionVersionNotify = 1414,
    CmdSyncServerSceneChangeNotify = 1451,
    CmdGameplayCounterUpdateScNotify = 1446,
    CmdSpringRefreshCsReq = 1496,
    CmdUpdateMechanismBarScNotify = 1426,
    CmdSetClientPausedCsReq = 1457,
    CmdActivateFarmElementCsReq = 1429,
    CmdSceneCastSkillCsReq = 1430,
    CmdSceneEntityTeleportScRsp = 1404,
    CmdGetCurSceneInfoScRsp = 1476,
    CmdInteractPropScRsp = 1424,
    CmdGroupStateChangeScNotify = 1435,
    CmdOpenChestScNotify = 1433,
    CmdEnterSceneByServerScNotify = 1410,
    CmdSceneEntityTeleportCsReq = 1452,
    CmdUpdateGroupPropertyCsReq = 1500,
    CmdChangePropTimelineInfoCsReq = 1428,
    CmdSetGroupCustomSaveDataCsReq = 1463,
    CmdReturnLastTownCsReq = 1417,
    CmdSceneGroupRefreshScNotify = 1466,
    CmdGetUnlockTeleportScRsp = 1472,
    CmdGetEnteredSceneCsReq = 1499,
    CmdDeleteSummonUnitScRsp = 1421,
    CmdDeleteSummonUnitCsReq = 1487,
    CmdSyncEntityBuffChangeListScNotify = 1449,
    CmdRefreshTriggerByClientCsReq = 1443,
    CmdStartCocoonStageScRsp = 1473,
    CmdEntityBindPropCsReq = 1440,
    CmdSceneCastSkillMpUpdateScNotify = 1480,
    CmdStartCocoonStageCsReq = 1441,
    CmdSceneEnterStageScRsp = 1495,
    CmdLastSpringRefreshTimeNotify = 1412,
    CmdGetEnteredSceneScRsp = 1453,
    CmdGetSceneMapInfoScRsp = 1486,
    CmdSceneCastSkillCostMpCsReq = 1422,
    CmdSceneCastSkillScRsp = 1456,
    CmdEnterSceneCsReq = 1479,
    CmdGetCurSceneInfoCsReq = 1497,
    CmdRecoverAllLineupCsReq = 1419,
    CmdScenePlaneEventScNotify = 1434,
    CmdSceneEntityMoveScNotify = 1405,
    CmdGroupStateChangeCsReq = 1483,
    CmdGameplayCounterRecoverCsReq = 1442,
    CmdGameplayCounterCountDownCsReq = 1431,
    CmdRecoverAllLineupScRsp = 1482,
    CmdReEnterLastElementStageScRsp = 1474,
    CmdGetSceneMapInfoCsReq = 1427,
    CmdSetClientPausedScRsp = 1413,
    CmdGroupStateChangeScRsp = 1432,
    CmdRefreshTriggerByClientScRsp = 1494,
    CmdGameplayCounterRecoverScRsp = 1462,
    CmdEnteredSceneChangeScNotify = 1416,
    CmdUnlockedAreaMapScNotify = 1437,
    CmdGetUnlockTeleportCsReq = 1493,
}
impl CmdSceneType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdSceneType::None => "CmdSceneTypeNone",
            CmdSceneType::CmdRefreshTriggerByClientScNotify => {
                "CmdRefreshTriggerByClientScNotify"
            }
            CmdSceneType::CmdSetCurInteractEntityScRsp => "CmdSetCurInteractEntityScRsp",
            CmdSceneType::CmdReEnterLastElementStageCsReq => {
                "CmdReEnterLastElementStageCsReq"
            }
            CmdSceneType::CmdSceneReviveAfterRebattleScRsp => {
                "CmdSceneReviveAfterRebattleScRsp"
            }
            CmdSceneType::CmdEnterSceneScRsp => "CmdEnterSceneScRsp",
            CmdSceneType::CmdDeactivateFarmElementScRsp => {
                "CmdDeactivateFarmElementScRsp"
            }
            CmdSceneType::CmdSceneEntityMoveCsReq => "CmdSceneEntityMoveCsReq",
            CmdSceneType::CmdReturnLastTownScRsp => "CmdReturnLastTownScRsp",
            CmdSceneType::CmdEnterSectionScRsp => "CmdEnterSectionScRsp",
            CmdSceneType::CmdSceneEntityMoveScRsp => "CmdSceneEntityMoveScRsp",
            CmdSceneType::CmdSceneEnterStageCsReq => "CmdSceneEnterStageCsReq",
            CmdSceneType::CmdSetGroupCustomSaveDataScRsp => {
                "CmdSetGroupCustomSaveDataScRsp"
            }
            CmdSceneType::CmdSceneReviveAfterRebattleCsReq => {
                "CmdSceneReviveAfterRebattleCsReq"
            }
            CmdSceneType::CmdUnlockTeleportNotify => "CmdUnlockTeleportNotify",
            CmdSceneType::CmdChangePropTimelineInfoScRsp => {
                "CmdChangePropTimelineInfoScRsp"
            }
            CmdSceneType::CmdInteractPropCsReq => "CmdInteractPropCsReq",
            CmdSceneType::CmdSceneCastSkillCostMpScRsp => "CmdSceneCastSkillCostMpScRsp",
            CmdSceneType::CmdSpringRefreshScRsp => "CmdSpringRefreshScRsp",
            CmdSceneType::CmdActivateFarmElementScRsp => "CmdActivateFarmElementScRsp",
            CmdSceneType::CmdUpdateFloorSavedValueNotify => {
                "CmdUpdateFloorSavedValueNotify"
            }
            CmdSceneType::CmdSavePointsInfoNotify => "CmdSavePointsInfoNotify",
            CmdSceneType::CmdUpdateGroupPropertyScRsp => "CmdUpdateGroupPropertyScRsp",
            CmdSceneType::CmdSetCurInteractEntityCsReq => "CmdSetCurInteractEntityCsReq",
            CmdSceneType::CmdEnterSectionCsReq => "CmdEnterSectionCsReq",
            CmdSceneType::CmdDeactivateFarmElementCsReq => {
                "CmdDeactivateFarmElementCsReq"
            }
            CmdSceneType::CmdGameplayCounterCountDownScRsp => {
                "CmdGameplayCounterCountDownScRsp"
            }
            CmdSceneType::CmdEntityBindPropScRsp => "CmdEntityBindPropScRsp",
            CmdSceneType::CmdSceneUpdatePositionVersionNotify => {
                "CmdSceneUpdatePositionVersionNotify"
            }
            CmdSceneType::CmdSyncServerSceneChangeNotify => {
                "CmdSyncServerSceneChangeNotify"
            }
            CmdSceneType::CmdGameplayCounterUpdateScNotify => {
                "CmdGameplayCounterUpdateScNotify"
            }
            CmdSceneType::CmdSpringRefreshCsReq => "CmdSpringRefreshCsReq",
            CmdSceneType::CmdUpdateMechanismBarScNotify => {
                "CmdUpdateMechanismBarScNotify"
            }
            CmdSceneType::CmdSetClientPausedCsReq => "CmdSetClientPausedCsReq",
            CmdSceneType::CmdActivateFarmElementCsReq => "CmdActivateFarmElementCsReq",
            CmdSceneType::CmdSceneCastSkillCsReq => "CmdSceneCastSkillCsReq",
            CmdSceneType::CmdSceneEntityTeleportScRsp => "CmdSceneEntityTeleportScRsp",
            CmdSceneType::CmdGetCurSceneInfoScRsp => "CmdGetCurSceneInfoScRsp",
            CmdSceneType::CmdInteractPropScRsp => "CmdInteractPropScRsp",
            CmdSceneType::CmdGroupStateChangeScNotify => "CmdGroupStateChangeScNotify",
            CmdSceneType::CmdOpenChestScNotify => "CmdOpenChestScNotify",
            CmdSceneType::CmdEnterSceneByServerScNotify => {
                "CmdEnterSceneByServerScNotify"
            }
            CmdSceneType::CmdSceneEntityTeleportCsReq => "CmdSceneEntityTeleportCsReq",
            CmdSceneType::CmdUpdateGroupPropertyCsReq => "CmdUpdateGroupPropertyCsReq",
            CmdSceneType::CmdChangePropTimelineInfoCsReq => {
                "CmdChangePropTimelineInfoCsReq"
            }
            CmdSceneType::CmdSetGroupCustomSaveDataCsReq => {
                "CmdSetGroupCustomSaveDataCsReq"
            }
            CmdSceneType::CmdReturnLastTownCsReq => "CmdReturnLastTownCsReq",
            CmdSceneType::CmdSceneGroupRefreshScNotify => "CmdSceneGroupRefreshScNotify",
            CmdSceneType::CmdGetUnlockTeleportScRsp => "CmdGetUnlockTeleportScRsp",
            CmdSceneType::CmdGetEnteredSceneCsReq => "CmdGetEnteredSceneCsReq",
            CmdSceneType::CmdDeleteSummonUnitScRsp => "CmdDeleteSummonUnitScRsp",
            CmdSceneType::CmdDeleteSummonUnitCsReq => "CmdDeleteSummonUnitCsReq",
            CmdSceneType::CmdSyncEntityBuffChangeListScNotify => {
                "CmdSyncEntityBuffChangeListScNotify"
            }
            CmdSceneType::CmdRefreshTriggerByClientCsReq => {
                "CmdRefreshTriggerByClientCsReq"
            }
            CmdSceneType::CmdStartCocoonStageScRsp => "CmdStartCocoonStageScRsp",
            CmdSceneType::CmdEntityBindPropCsReq => "CmdEntityBindPropCsReq",
            CmdSceneType::CmdSceneCastSkillMpUpdateScNotify => {
                "CmdSceneCastSkillMpUpdateScNotify"
            }
            CmdSceneType::CmdStartCocoonStageCsReq => "CmdStartCocoonStageCsReq",
            CmdSceneType::CmdSceneEnterStageScRsp => "CmdSceneEnterStageScRsp",
            CmdSceneType::CmdLastSpringRefreshTimeNotify => {
                "CmdLastSpringRefreshTimeNotify"
            }
            CmdSceneType::CmdGetEnteredSceneScRsp => "CmdGetEnteredSceneScRsp",
            CmdSceneType::CmdGetSceneMapInfoScRsp => "CmdGetSceneMapInfoScRsp",
            CmdSceneType::CmdSceneCastSkillCostMpCsReq => "CmdSceneCastSkillCostMpCsReq",
            CmdSceneType::CmdSceneCastSkillScRsp => "CmdSceneCastSkillScRsp",
            CmdSceneType::CmdEnterSceneCsReq => "CmdEnterSceneCsReq",
            CmdSceneType::CmdGetCurSceneInfoCsReq => "CmdGetCurSceneInfoCsReq",
            CmdSceneType::CmdRecoverAllLineupCsReq => "CmdRecoverAllLineupCsReq",
            CmdSceneType::CmdScenePlaneEventScNotify => "CmdScenePlaneEventScNotify",
            CmdSceneType::CmdSceneEntityMoveScNotify => "CmdSceneEntityMoveScNotify",
            CmdSceneType::CmdGroupStateChangeCsReq => "CmdGroupStateChangeCsReq",
            CmdSceneType::CmdGameplayCounterRecoverCsReq => {
                "CmdGameplayCounterRecoverCsReq"
            }
            CmdSceneType::CmdGameplayCounterCountDownCsReq => {
                "CmdGameplayCounterCountDownCsReq"
            }
            CmdSceneType::CmdRecoverAllLineupScRsp => "CmdRecoverAllLineupScRsp",
            CmdSceneType::CmdReEnterLastElementStageScRsp => {
                "CmdReEnterLastElementStageScRsp"
            }
            CmdSceneType::CmdGetSceneMapInfoCsReq => "CmdGetSceneMapInfoCsReq",
            CmdSceneType::CmdSetClientPausedScRsp => "CmdSetClientPausedScRsp",
            CmdSceneType::CmdGroupStateChangeScRsp => "CmdGroupStateChangeScRsp",
            CmdSceneType::CmdRefreshTriggerByClientScRsp => {
                "CmdRefreshTriggerByClientScRsp"
            }
            CmdSceneType::CmdGameplayCounterRecoverScRsp => {
                "CmdGameplayCounterRecoverScRsp"
            }
            CmdSceneType::CmdEnteredSceneChangeScNotify => {
                "CmdEnteredSceneChangeScNotify"
            }
            CmdSceneType::CmdUnlockedAreaMapScNotify => "CmdUnlockedAreaMapScNotify",
            CmdSceneType::CmdGetUnlockTeleportCsReq => "CmdGetUnlockTeleportCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdSceneTypeNone" => Some(Self::None),
            "CmdRefreshTriggerByClientScNotify" => {
                Some(Self::CmdRefreshTriggerByClientScNotify)
            }
            "CmdSetCurInteractEntityScRsp" => Some(Self::CmdSetCurInteractEntityScRsp),
            "CmdReEnterLastElementStageCsReq" => {
                Some(Self::CmdReEnterLastElementStageCsReq)
            }
            "CmdSceneReviveAfterRebattleScRsp" => {
                Some(Self::CmdSceneReviveAfterRebattleScRsp)
            }
            "CmdEnterSceneScRsp" => Some(Self::CmdEnterSceneScRsp),
            "CmdDeactivateFarmElementScRsp" => Some(Self::CmdDeactivateFarmElementScRsp),
            "CmdSceneEntityMoveCsReq" => Some(Self::CmdSceneEntityMoveCsReq),
            "CmdReturnLastTownScRsp" => Some(Self::CmdReturnLastTownScRsp),
            "CmdEnterSectionScRsp" => Some(Self::CmdEnterSectionScRsp),
            "CmdSceneEntityMoveScRsp" => Some(Self::CmdSceneEntityMoveScRsp),
            "CmdSceneEnterStageCsReq" => Some(Self::CmdSceneEnterStageCsReq),
            "CmdSetGroupCustomSaveDataScRsp" => {
                Some(Self::CmdSetGroupCustomSaveDataScRsp)
            }
            "CmdSceneReviveAfterRebattleCsReq" => {
                Some(Self::CmdSceneReviveAfterRebattleCsReq)
            }
            "CmdUnlockTeleportNotify" => Some(Self::CmdUnlockTeleportNotify),
            "CmdChangePropTimelineInfoScRsp" => {
                Some(Self::CmdChangePropTimelineInfoScRsp)
            }
            "CmdInteractPropCsReq" => Some(Self::CmdInteractPropCsReq),
            "CmdSceneCastSkillCostMpScRsp" => Some(Self::CmdSceneCastSkillCostMpScRsp),
            "CmdSpringRefreshScRsp" => Some(Self::CmdSpringRefreshScRsp),
            "CmdActivateFarmElementScRsp" => Some(Self::CmdActivateFarmElementScRsp),
            "CmdUpdateFloorSavedValueNotify" => {
                Some(Self::CmdUpdateFloorSavedValueNotify)
            }
            "CmdSavePointsInfoNotify" => Some(Self::CmdSavePointsInfoNotify),
            "CmdUpdateGroupPropertyScRsp" => Some(Self::CmdUpdateGroupPropertyScRsp),
            "CmdSetCurInteractEntityCsReq" => Some(Self::CmdSetCurInteractEntityCsReq),
            "CmdEnterSectionCsReq" => Some(Self::CmdEnterSectionCsReq),
            "CmdDeactivateFarmElementCsReq" => Some(Self::CmdDeactivateFarmElementCsReq),
            "CmdGameplayCounterCountDownScRsp" => {
                Some(Self::CmdGameplayCounterCountDownScRsp)
            }
            "CmdEntityBindPropScRsp" => Some(Self::CmdEntityBindPropScRsp),
            "CmdSceneUpdatePositionVersionNotify" => {
                Some(Self::CmdSceneUpdatePositionVersionNotify)
            }
            "CmdSyncServerSceneChangeNotify" => {
                Some(Self::CmdSyncServerSceneChangeNotify)
            }
            "CmdGameplayCounterUpdateScNotify" => {
                Some(Self::CmdGameplayCounterUpdateScNotify)
            }
            "CmdSpringRefreshCsReq" => Some(Self::CmdSpringRefreshCsReq),
            "CmdUpdateMechanismBarScNotify" => Some(Self::CmdUpdateMechanismBarScNotify),
            "CmdSetClientPausedCsReq" => Some(Self::CmdSetClientPausedCsReq),
            "CmdActivateFarmElementCsReq" => Some(Self::CmdActivateFarmElementCsReq),
            "CmdSceneCastSkillCsReq" => Some(Self::CmdSceneCastSkillCsReq),
            "CmdSceneEntityTeleportScRsp" => Some(Self::CmdSceneEntityTeleportScRsp),
            "CmdGetCurSceneInfoScRsp" => Some(Self::CmdGetCurSceneInfoScRsp),
            "CmdInteractPropScRsp" => Some(Self::CmdInteractPropScRsp),
            "CmdGroupStateChangeScNotify" => Some(Self::CmdGroupStateChangeScNotify),
            "CmdOpenChestScNotify" => Some(Self::CmdOpenChestScNotify),
            "CmdEnterSceneByServerScNotify" => Some(Self::CmdEnterSceneByServerScNotify),
            "CmdSceneEntityTeleportCsReq" => Some(Self::CmdSceneEntityTeleportCsReq),
            "CmdUpdateGroupPropertyCsReq" => Some(Self::CmdUpdateGroupPropertyCsReq),
            "CmdChangePropTimelineInfoCsReq" => {
                Some(Self::CmdChangePropTimelineInfoCsReq)
            }
            "CmdSetGroupCustomSaveDataCsReq" => {
                Some(Self::CmdSetGroupCustomSaveDataCsReq)
            }
            "CmdReturnLastTownCsReq" => Some(Self::CmdReturnLastTownCsReq),
            "CmdSceneGroupRefreshScNotify" => Some(Self::CmdSceneGroupRefreshScNotify),
            "CmdGetUnlockTeleportScRsp" => Some(Self::CmdGetUnlockTeleportScRsp),
            "CmdGetEnteredSceneCsReq" => Some(Self::CmdGetEnteredSceneCsReq),
            "CmdDeleteSummonUnitScRsp" => Some(Self::CmdDeleteSummonUnitScRsp),
            "CmdDeleteSummonUnitCsReq" => Some(Self::CmdDeleteSummonUnitCsReq),
            "CmdSyncEntityBuffChangeListScNotify" => {
                Some(Self::CmdSyncEntityBuffChangeListScNotify)
            }
            "CmdRefreshTriggerByClientCsReq" => {
                Some(Self::CmdRefreshTriggerByClientCsReq)
            }
            "CmdStartCocoonStageScRsp" => Some(Self::CmdStartCocoonStageScRsp),
            "CmdEntityBindPropCsReq" => Some(Self::CmdEntityBindPropCsReq),
            "CmdSceneCastSkillMpUpdateScNotify" => {
                Some(Self::CmdSceneCastSkillMpUpdateScNotify)
            }
            "CmdStartCocoonStageCsReq" => Some(Self::CmdStartCocoonStageCsReq),
            "CmdSceneEnterStageScRsp" => Some(Self::CmdSceneEnterStageScRsp),
            "CmdLastSpringRefreshTimeNotify" => {
                Some(Self::CmdLastSpringRefreshTimeNotify)
            }
            "CmdGetEnteredSceneScRsp" => Some(Self::CmdGetEnteredSceneScRsp),
            "CmdGetSceneMapInfoScRsp" => Some(Self::CmdGetSceneMapInfoScRsp),
            "CmdSceneCastSkillCostMpCsReq" => Some(Self::CmdSceneCastSkillCostMpCsReq),
            "CmdSceneCastSkillScRsp" => Some(Self::CmdSceneCastSkillScRsp),
            "CmdEnterSceneCsReq" => Some(Self::CmdEnterSceneCsReq),
            "CmdGetCurSceneInfoCsReq" => Some(Self::CmdGetCurSceneInfoCsReq),
            "CmdRecoverAllLineupCsReq" => Some(Self::CmdRecoverAllLineupCsReq),
            "CmdScenePlaneEventScNotify" => Some(Self::CmdScenePlaneEventScNotify),
            "CmdSceneEntityMoveScNotify" => Some(Self::CmdSceneEntityMoveScNotify),
            "CmdGroupStateChangeCsReq" => Some(Self::CmdGroupStateChangeCsReq),
            "CmdGameplayCounterRecoverCsReq" => {
                Some(Self::CmdGameplayCounterRecoverCsReq)
            }
            "CmdGameplayCounterCountDownCsReq" => {
                Some(Self::CmdGameplayCounterCountDownCsReq)
            }
            "CmdRecoverAllLineupScRsp" => Some(Self::CmdRecoverAllLineupScRsp),
            "CmdReEnterLastElementStageScRsp" => {
                Some(Self::CmdReEnterLastElementStageScRsp)
            }
            "CmdGetSceneMapInfoCsReq" => Some(Self::CmdGetSceneMapInfoCsReq),
            "CmdSetClientPausedScRsp" => Some(Self::CmdSetClientPausedScRsp),
            "CmdGroupStateChangeScRsp" => Some(Self::CmdGroupStateChangeScRsp),
            "CmdRefreshTriggerByClientScRsp" => {
                Some(Self::CmdRefreshTriggerByClientScRsp)
            }
            "CmdGameplayCounterRecoverScRsp" => {
                Some(Self::CmdGameplayCounterRecoverScRsp)
            }
            "CmdEnteredSceneChangeScNotify" => Some(Self::CmdEnteredSceneChangeScNotify),
            "CmdUnlockedAreaMapScNotify" => Some(Self::CmdUnlockedAreaMapScNotify),
            "CmdGetUnlockTeleportCsReq" => Some(Self::CmdGetUnlockTeleportCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SceneCastSkillType {
    SceneCastSkillNone = 0,
    SceneCastSkillProjectileHit = 1,
    SceneCastSkillProjectileLifetimeFinish = 2,
}
impl SceneCastSkillType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            SceneCastSkillType::SceneCastSkillNone => "SCENE_CAST_SKILL_NONE",
            SceneCastSkillType::SceneCastSkillProjectileHit => {
                "SCENE_CAST_SKILL_PROJECTILE_HIT"
            }
            SceneCastSkillType::SceneCastSkillProjectileLifetimeFinish => {
                "SCENE_CAST_SKILL_PROJECTILE_LIFETIME_FINISH"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SCENE_CAST_SKILL_NONE" => Some(Self::SceneCastSkillNone),
            "SCENE_CAST_SKILL_PROJECTILE_HIT" => Some(Self::SceneCastSkillProjectileHit),
            "SCENE_CAST_SKILL_PROJECTILE_LIFETIME_FINISH" => {
                Some(Self::SceneCastSkillProjectileLifetimeFinish)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MonsterBattleType {
    None = 0,
    TriggerBattle = 1,
    DirectDieSimulateBattle = 2,
    DirectDieSkipBattle = 3,
    NoBattle = 4,
}
impl MonsterBattleType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            MonsterBattleType::None => "MONSTER_BATTLE_TYPE_NONE",
            MonsterBattleType::TriggerBattle => "MONSTER_BATTLE_TYPE_TRIGGER_BATTLE",
            MonsterBattleType::DirectDieSimulateBattle => {
                "MONSTER_BATTLE_TYPE_DIRECT_DIE_SIMULATE_BATTLE"
            }
            MonsterBattleType::DirectDieSkipBattle => {
                "MONSTER_BATTLE_TYPE_DIRECT_DIE_SKIP_BATTLE"
            }
            MonsterBattleType::NoBattle => "MONSTER_BATTLE_TYPE_NO_BATTLE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MONSTER_BATTLE_TYPE_NONE" => Some(Self::None),
            "MONSTER_BATTLE_TYPE_TRIGGER_BATTLE" => Some(Self::TriggerBattle),
            "MONSTER_BATTLE_TYPE_DIRECT_DIE_SIMULATE_BATTLE" => {
                Some(Self::DirectDieSimulateBattle)
            }
            "MONSTER_BATTLE_TYPE_DIRECT_DIE_SKIP_BATTLE" => {
                Some(Self::DirectDieSkipBattle)
            }
            "MONSTER_BATTLE_TYPE_NO_BATTLE" => Some(Self::NoBattle),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum EntityBuffChangeType {
    SceneEntityBuffChangeTypeDefault = 0,
    SceneEntityBuffChangeTypeAddMazebuff = 1,
    SceneEntityBuffChangeTypeAddAdvModifier = 2,
}
impl EntityBuffChangeType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            EntityBuffChangeType::SceneEntityBuffChangeTypeDefault => {
                "SCENE_ENTITY_BUFF_CHANGE_TYPE_DEFAULT"
            }
            EntityBuffChangeType::SceneEntityBuffChangeTypeAddMazebuff => {
                "SCENE_ENTITY_BUFF_CHANGE_TYPE_ADD_MAZEBUFF"
            }
            EntityBuffChangeType::SceneEntityBuffChangeTypeAddAdvModifier => {
                "SCENE_ENTITY_BUFF_CHANGE_TYPE_ADD_ADV_MODIFIER"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SCENE_ENTITY_BUFF_CHANGE_TYPE_DEFAULT" => {
                Some(Self::SceneEntityBuffChangeTypeDefault)
            }
            "SCENE_ENTITY_BUFF_CHANGE_TYPE_ADD_MAZEBUFF" => {
                Some(Self::SceneEntityBuffChangeTypeAddMazebuff)
            }
            "SCENE_ENTITY_BUFF_CHANGE_TYPE_ADD_ADV_MODIFIER" => {
                Some(Self::SceneEntityBuffChangeTypeAddAdvModifier)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum EnterSceneReason {
    None = 0,
    ChallengeTimeout = 1,
    RogueTimeout = 2,
    ChangeStoryline = 3,
    DimensionMerge = 4,
}
impl EnterSceneReason {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            EnterSceneReason::None => "ENTER_SCENE_REASON_NONE",
            EnterSceneReason::ChallengeTimeout => "ENTER_SCENE_REASON_CHALLENGE_TIMEOUT",
            EnterSceneReason::RogueTimeout => "ENTER_SCENE_REASON_ROGUE_TIMEOUT",
            EnterSceneReason::ChangeStoryline => "ENTER_SCENE_REASON_CHANGE_STORYLINE",
            EnterSceneReason::DimensionMerge => "ENTER_SCENE_REASON_DIMENSION_MERGE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ENTER_SCENE_REASON_NONE" => Some(Self::None),
            "ENTER_SCENE_REASON_CHALLENGE_TIMEOUT" => Some(Self::ChallengeTimeout),
            "ENTER_SCENE_REASON_ROGUE_TIMEOUT" => Some(Self::RogueTimeout),
            "ENTER_SCENE_REASON_CHANGE_STORYLINE" => Some(Self::ChangeStoryline),
            "ENTER_SCENE_REASON_DIMENSION_MERGE" => Some(Self::DimensionMerge),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MapInfoChestType {
    None = 0,
    Normal = 101,
    Challenge = 102,
    Puzzle = 104,
}
impl MapInfoChestType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            MapInfoChestType::None => "MAP_INFO_CHEST_TYPE_NONE",
            MapInfoChestType::Normal => "MAP_INFO_CHEST_TYPE_NORMAL",
            MapInfoChestType::Challenge => "MAP_INFO_CHEST_TYPE_CHALLENGE",
            MapInfoChestType::Puzzle => "MAP_INFO_CHEST_TYPE_PUZZLE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MAP_INFO_CHEST_TYPE_NONE" => Some(Self::None),
            "MAP_INFO_CHEST_TYPE_NORMAL" => Some(Self::Normal),
            "MAP_INFO_CHEST_TYPE_CHALLENGE" => Some(Self::Challenge),
            "MAP_INFO_CHEST_TYPE_PUZZLE" => Some(Self::Puzzle),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cnppaammffd {
    GameplayCounterUpdateReasonNone = 0,
    GameplayCounterUpdateReasonActivate = 1,
    GameplayCounterUpdateReasonDeactivate = 2,
    GameplayCounterUpdateReasonChange = 3,
}
impl Cnppaammffd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Cnppaammffd::GameplayCounterUpdateReasonNone => {
                "GAMEPLAY_COUNTER_UPDATE_REASON_NONE"
            }
            Cnppaammffd::GameplayCounterUpdateReasonActivate => {
                "GAMEPLAY_COUNTER_UPDATE_REASON_ACTIVATE"
            }
            Cnppaammffd::GameplayCounterUpdateReasonDeactivate => {
                "GAMEPLAY_COUNTER_UPDATE_REASON_DEACTIVATE"
            }
            Cnppaammffd::GameplayCounterUpdateReasonChange => {
                "GAMEPLAY_COUNTER_UPDATE_REASON_CHANGE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GAMEPLAY_COUNTER_UPDATE_REASON_NONE" => {
                Some(Self::GameplayCounterUpdateReasonNone)
            }
            "GAMEPLAY_COUNTER_UPDATE_REASON_ACTIVATE" => {
                Some(Self::GameplayCounterUpdateReasonActivate)
            }
            "GAMEPLAY_COUNTER_UPDATE_REASON_DEACTIVATE" => {
                Some(Self::GameplayCounterUpdateReasonDeactivate)
            }
            "GAMEPLAY_COUNTER_UPDATE_REASON_CHANGE" => {
                Some(Self::GameplayCounterUpdateReasonChange)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SceneGroupRefreshType {
    None = 0,
    Loaded = 1,
    Unload = 2,
}
impl SceneGroupRefreshType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            SceneGroupRefreshType::None => "SCENE_GROUP_REFRESH_TYPE_NONE",
            SceneGroupRefreshType::Loaded => "SCENE_GROUP_REFRESH_TYPE_LOADED",
            SceneGroupRefreshType::Unload => "SCENE_GROUP_REFRESH_TYPE_UNLOAD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SCENE_GROUP_REFRESH_TYPE_NONE" => Some(Self::None),
            "SCENE_GROUP_REFRESH_TYPE_LOADED" => Some(Self::Loaded),
            "SCENE_GROUP_REFRESH_TYPE_UNLOAD" => Some(Self::Unload),
            _ => None,
        }
    }
}
/// Obf: JKNIDMLKEON
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdServerPrefsType {
    None = 0,
    CmdUpdateServerPrefsDataScRsp = 6156,
    CmdGetAllServerPrefsDataCsReq = 6101,
    CmdGetAllServerPrefsDataScRsp = 6168,
    CmdUpdateServerPrefsDataCsReq = 6130,
    CmdGetServerPrefsDataScRsp = 6124,
    CmdGetServerPrefsDataCsReq = 6158,
}
impl CmdServerPrefsType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdServerPrefsType::None => "CmdServerPrefsTypeNone",
            CmdServerPrefsType::CmdUpdateServerPrefsDataScRsp => {
                "CmdUpdateServerPrefsDataScRsp"
            }
            CmdServerPrefsType::CmdGetAllServerPrefsDataCsReq => {
                "CmdGetAllServerPrefsDataCsReq"
            }
            CmdServerPrefsType::CmdGetAllServerPrefsDataScRsp => {
                "CmdGetAllServerPrefsDataScRsp"
            }
            CmdServerPrefsType::CmdUpdateServerPrefsDataCsReq => {
                "CmdUpdateServerPrefsDataCsReq"
            }
            CmdServerPrefsType::CmdGetServerPrefsDataScRsp => {
                "CmdGetServerPrefsDataScRsp"
            }
            CmdServerPrefsType::CmdGetServerPrefsDataCsReq => {
                "CmdGetServerPrefsDataCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdServerPrefsTypeNone" => Some(Self::None),
            "CmdUpdateServerPrefsDataScRsp" => Some(Self::CmdUpdateServerPrefsDataScRsp),
            "CmdGetAllServerPrefsDataCsReq" => Some(Self::CmdGetAllServerPrefsDataCsReq),
            "CmdGetAllServerPrefsDataScRsp" => Some(Self::CmdGetAllServerPrefsDataScRsp),
            "CmdUpdateServerPrefsDataCsReq" => Some(Self::CmdUpdateServerPrefsDataCsReq),
            "CmdGetServerPrefsDataScRsp" => Some(Self::CmdGetServerPrefsDataScRsp),
            "CmdGetServerPrefsDataCsReq" => Some(Self::CmdGetServerPrefsDataCsReq),
            _ => None,
        }
    }
}
/// Obf: ANDPHHBFPNA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdShopType {
    None = 0,
    CmdBuyGoodsScRsp = 1524,
    CmdCityShopInfoScNotify = 1597,
    CmdBuyGoodsCsReq = 1558,
    CmdGetShopListCsReq = 1501,
    CmdTakeCityShopRewardCsReq = 1530,
    CmdGetShopListScRsp = 1568,
    CmdTakeCityShopRewardScRsp = 1556,
}
impl CmdShopType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdShopType::None => "CmdShopTypeNone",
            CmdShopType::CmdBuyGoodsScRsp => "CmdBuyGoodsScRsp",
            CmdShopType::CmdCityShopInfoScNotify => "CmdCityShopInfoScNotify",
            CmdShopType::CmdBuyGoodsCsReq => "CmdBuyGoodsCsReq",
            CmdShopType::CmdGetShopListCsReq => "CmdGetShopListCsReq",
            CmdShopType::CmdTakeCityShopRewardCsReq => "CmdTakeCityShopRewardCsReq",
            CmdShopType::CmdGetShopListScRsp => "CmdGetShopListScRsp",
            CmdShopType::CmdTakeCityShopRewardScRsp => "CmdTakeCityShopRewardScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdShopTypeNone" => Some(Self::None),
            "CmdBuyGoodsScRsp" => Some(Self::CmdBuyGoodsScRsp),
            "CmdCityShopInfoScNotify" => Some(Self::CmdCityShopInfoScNotify),
            "CmdBuyGoodsCsReq" => Some(Self::CmdBuyGoodsCsReq),
            "CmdGetShopListCsReq" => Some(Self::CmdGetShopListCsReq),
            "CmdTakeCityShopRewardCsReq" => Some(Self::CmdTakeCityShopRewardCsReq),
            "CmdGetShopListScRsp" => Some(Self::CmdGetShopListScRsp),
            "CmdTakeCityShopRewardScRsp" => Some(Self::CmdTakeCityShopRewardScRsp),
            _ => None,
        }
    }
}
/// Obf: CFPFPILADFI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdSpaceZooType {
    None = 0,
    CmdSpaceZooExchangeItemCsReq = 6714,
    CmdSpaceZooMutateCsReq = 6730,
    CmdSpaceZooDataCsReq = 6701,
    CmdSpaceZooCatUpdateNotify = 6705,
    CmdSpaceZooOpCatteryScRsp = 6776,
    CmdSpaceZooTakeCsReq = 6722,
    CmdSpaceZooMutateScRsp = 6756,
    CmdSpaceZooDeleteCatCsReq = 6728,
    CmdSpaceZooOpCatteryCsReq = 6797,
    CmdSpaceZooTakeScRsp = 6747,
    CmdSpaceZooBornCsReq = 6758,
    CmdSpaceZooBornScRsp = 6724,
    CmdSpaceZooExchangeItemScRsp = 6749,
    CmdSpaceZooDeleteCatScRsp = 6711,
    CmdSpaceZooDataScRsp = 6768,
}
impl CmdSpaceZooType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdSpaceZooType::None => "CmdSpaceZooTypeNone",
            CmdSpaceZooType::CmdSpaceZooExchangeItemCsReq => {
                "CmdSpaceZooExchangeItemCsReq"
            }
            CmdSpaceZooType::CmdSpaceZooMutateCsReq => "CmdSpaceZooMutateCsReq",
            CmdSpaceZooType::CmdSpaceZooDataCsReq => "CmdSpaceZooDataCsReq",
            CmdSpaceZooType::CmdSpaceZooCatUpdateNotify => "CmdSpaceZooCatUpdateNotify",
            CmdSpaceZooType::CmdSpaceZooOpCatteryScRsp => "CmdSpaceZooOpCatteryScRsp",
            CmdSpaceZooType::CmdSpaceZooTakeCsReq => "CmdSpaceZooTakeCsReq",
            CmdSpaceZooType::CmdSpaceZooMutateScRsp => "CmdSpaceZooMutateScRsp",
            CmdSpaceZooType::CmdSpaceZooDeleteCatCsReq => "CmdSpaceZooDeleteCatCsReq",
            CmdSpaceZooType::CmdSpaceZooOpCatteryCsReq => "CmdSpaceZooOpCatteryCsReq",
            CmdSpaceZooType::CmdSpaceZooTakeScRsp => "CmdSpaceZooTakeScRsp",
            CmdSpaceZooType::CmdSpaceZooBornCsReq => "CmdSpaceZooBornCsReq",
            CmdSpaceZooType::CmdSpaceZooBornScRsp => "CmdSpaceZooBornScRsp",
            CmdSpaceZooType::CmdSpaceZooExchangeItemScRsp => {
                "CmdSpaceZooExchangeItemScRsp"
            }
            CmdSpaceZooType::CmdSpaceZooDeleteCatScRsp => "CmdSpaceZooDeleteCatScRsp",
            CmdSpaceZooType::CmdSpaceZooDataScRsp => "CmdSpaceZooDataScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdSpaceZooTypeNone" => Some(Self::None),
            "CmdSpaceZooExchangeItemCsReq" => Some(Self::CmdSpaceZooExchangeItemCsReq),
            "CmdSpaceZooMutateCsReq" => Some(Self::CmdSpaceZooMutateCsReq),
            "CmdSpaceZooDataCsReq" => Some(Self::CmdSpaceZooDataCsReq),
            "CmdSpaceZooCatUpdateNotify" => Some(Self::CmdSpaceZooCatUpdateNotify),
            "CmdSpaceZooOpCatteryScRsp" => Some(Self::CmdSpaceZooOpCatteryScRsp),
            "CmdSpaceZooTakeCsReq" => Some(Self::CmdSpaceZooTakeCsReq),
            "CmdSpaceZooMutateScRsp" => Some(Self::CmdSpaceZooMutateScRsp),
            "CmdSpaceZooDeleteCatCsReq" => Some(Self::CmdSpaceZooDeleteCatCsReq),
            "CmdSpaceZooOpCatteryCsReq" => Some(Self::CmdSpaceZooOpCatteryCsReq),
            "CmdSpaceZooTakeScRsp" => Some(Self::CmdSpaceZooTakeScRsp),
            "CmdSpaceZooBornCsReq" => Some(Self::CmdSpaceZooBornCsReq),
            "CmdSpaceZooBornScRsp" => Some(Self::CmdSpaceZooBornScRsp),
            "CmdSpaceZooExchangeItemScRsp" => Some(Self::CmdSpaceZooExchangeItemScRsp),
            "CmdSpaceZooDeleteCatScRsp" => Some(Self::CmdSpaceZooDeleteCatScRsp),
            "CmdSpaceZooDataScRsp" => Some(Self::CmdSpaceZooDataScRsp),
            _ => None,
        }
    }
}
/// Obf: GAEDEIFBKEO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdStarFightType {
    None = 0,
    CmdStartStarFightLevelCsReq = 7161,
    CmdGetStarFightDataCsReq = 7169,
    CmdStarFightDataChangeNotify = 7165,
    CmdStartStarFightLevelScRsp = 7166,
    CmdGetStarFightDataScRsp = 7168,
}
impl CmdStarFightType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdStarFightType::None => "CmdStarFightTypeNone",
            CmdStarFightType::CmdStartStarFightLevelCsReq => {
                "CmdStartStarFightLevelCsReq"
            }
            CmdStarFightType::CmdGetStarFightDataCsReq => "CmdGetStarFightDataCsReq",
            CmdStarFightType::CmdStarFightDataChangeNotify => {
                "CmdStarFightDataChangeNotify"
            }
            CmdStarFightType::CmdStartStarFightLevelScRsp => {
                "CmdStartStarFightLevelScRsp"
            }
            CmdStarFightType::CmdGetStarFightDataScRsp => "CmdGetStarFightDataScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdStarFightTypeNone" => Some(Self::None),
            "CmdStartStarFightLevelCsReq" => Some(Self::CmdStartStarFightLevelCsReq),
            "CmdGetStarFightDataCsReq" => Some(Self::CmdGetStarFightDataCsReq),
            "CmdStarFightDataChangeNotify" => Some(Self::CmdStarFightDataChangeNotify),
            "CmdStartStarFightLevelScRsp" => Some(Self::CmdStartStarFightLevelScRsp),
            "CmdGetStarFightDataScRsp" => Some(Self::CmdGetStarFightDataScRsp),
            _ => None,
        }
    }
}
/// Obf: FDCIAAKMGEC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdStoryLineType {
    None = 0,
    CmdGetStoryLineInfoCsReq = 6201,
    CmdChangeStoryLineFinishScNotify = 6256,
    CmdStoryLineTrialAvatarChangeScNotify = 6297,
    CmdStoryLineInfoScNotify = 6258,
    CmdGetStoryLineInfoScRsp = 6268,
}
impl CmdStoryLineType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdStoryLineType::None => "CmdStoryLineTypeNone",
            CmdStoryLineType::CmdGetStoryLineInfoCsReq => "CmdGetStoryLineInfoCsReq",
            CmdStoryLineType::CmdChangeStoryLineFinishScNotify => {
                "CmdChangeStoryLineFinishScNotify"
            }
            CmdStoryLineType::CmdStoryLineTrialAvatarChangeScNotify => {
                "CmdStoryLineTrialAvatarChangeScNotify"
            }
            CmdStoryLineType::CmdStoryLineInfoScNotify => "CmdStoryLineInfoScNotify",
            CmdStoryLineType::CmdGetStoryLineInfoScRsp => "CmdGetStoryLineInfoScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdStoryLineTypeNone" => Some(Self::None),
            "CmdGetStoryLineInfoCsReq" => Some(Self::CmdGetStoryLineInfoCsReq),
            "CmdChangeStoryLineFinishScNotify" => {
                Some(Self::CmdChangeStoryLineFinishScNotify)
            }
            "CmdStoryLineTrialAvatarChangeScNotify" => {
                Some(Self::CmdStoryLineTrialAvatarChangeScNotify)
            }
            "CmdStoryLineInfoScNotify" => Some(Self::CmdStoryLineInfoScNotify),
            "CmdGetStoryLineInfoScRsp" => Some(Self::CmdGetStoryLineInfoScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Amjocdiaphf {
    ChangeStoryLineActionNone = 0,
    ChangeStoryLineActionFinishAction = 1,
    ChangeStoryLineActionClient = 2,
    ChangeStoryLineActionCustomOp = 3,
}
impl Amjocdiaphf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Amjocdiaphf::ChangeStoryLineActionNone => "ChangeStoryLineAction_None",
            Amjocdiaphf::ChangeStoryLineActionFinishAction => {
                "ChangeStoryLineAction_FinishAction"
            }
            Amjocdiaphf::ChangeStoryLineActionClient => "ChangeStoryLineAction_Client",
            Amjocdiaphf::ChangeStoryLineActionCustomOp => {
                "ChangeStoryLineAction_CustomOP"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ChangeStoryLineAction_None" => Some(Self::ChangeStoryLineActionNone),
            "ChangeStoryLineAction_FinishAction" => {
                Some(Self::ChangeStoryLineActionFinishAction)
            }
            "ChangeStoryLineAction_Client" => Some(Self::ChangeStoryLineActionClient),
            "ChangeStoryLineAction_CustomOP" => Some(Self::ChangeStoryLineActionCustomOp),
            _ => None,
        }
    }
}
/// Obf: ODBCOBHBAKL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdStrongChallengeActivityType {
    None = 0,
    CmdEnterStrongChallengeActivityStageCsReq = 6658,
    CmdEnterStrongChallengeActivityStageScRsp = 6624,
    CmdGetStrongChallengeActivityDataCsReq = 6601,
    CmdGetStrongChallengeActivityDataScRsp = 6668,
    CmdStrongChallengeActivityBattleEndScNotify = 6630,
}
impl CmdStrongChallengeActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdStrongChallengeActivityType::None => "CmdStrongChallengeActivityTypeNone",
            CmdStrongChallengeActivityType::CmdEnterStrongChallengeActivityStageCsReq => {
                "CmdEnterStrongChallengeActivityStageCsReq"
            }
            CmdStrongChallengeActivityType::CmdEnterStrongChallengeActivityStageScRsp => {
                "CmdEnterStrongChallengeActivityStageScRsp"
            }
            CmdStrongChallengeActivityType::CmdGetStrongChallengeActivityDataCsReq => {
                "CmdGetStrongChallengeActivityDataCsReq"
            }
            CmdStrongChallengeActivityType::CmdGetStrongChallengeActivityDataScRsp => {
                "CmdGetStrongChallengeActivityDataScRsp"
            }
            CmdStrongChallengeActivityType::CmdStrongChallengeActivityBattleEndScNotify => {
                "CmdStrongChallengeActivityBattleEndScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdStrongChallengeActivityTypeNone" => Some(Self::None),
            "CmdEnterStrongChallengeActivityStageCsReq" => {
                Some(Self::CmdEnterStrongChallengeActivityStageCsReq)
            }
            "CmdEnterStrongChallengeActivityStageScRsp" => {
                Some(Self::CmdEnterStrongChallengeActivityStageScRsp)
            }
            "CmdGetStrongChallengeActivityDataCsReq" => {
                Some(Self::CmdGetStrongChallengeActivityDataCsReq)
            }
            "CmdGetStrongChallengeActivityDataScRsp" => {
                Some(Self::CmdGetStrongChallengeActivityDataScRsp)
            }
            "CmdStrongChallengeActivityBattleEndScNotify" => {
                Some(Self::CmdStrongChallengeActivityBattleEndScNotify)
            }
            _ => None,
        }
    }
}
/// Obf: HCAOPLMAKDA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdSummonActivityType {
    None = 0,
    CmdEnterSummonActivityStageCsReq = 7561,
    CmdGetSummonActivityDataCsReq = 7569,
    CmdSummonActivityBattleEndScNotify = 7565,
    CmdEnterSummonActivityStageScRsp = 7566,
    CmdGetSummonActivityDataScRsp = 7568,
}
impl CmdSummonActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdSummonActivityType::None => "CmdSummonActivityTypeNone",
            CmdSummonActivityType::CmdEnterSummonActivityStageCsReq => {
                "CmdEnterSummonActivityStageCsReq"
            }
            CmdSummonActivityType::CmdGetSummonActivityDataCsReq => {
                "CmdGetSummonActivityDataCsReq"
            }
            CmdSummonActivityType::CmdSummonActivityBattleEndScNotify => {
                "CmdSummonActivityBattleEndScNotify"
            }
            CmdSummonActivityType::CmdEnterSummonActivityStageScRsp => {
                "CmdEnterSummonActivityStageScRsp"
            }
            CmdSummonActivityType::CmdGetSummonActivityDataScRsp => {
                "CmdGetSummonActivityDataScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdSummonActivityTypeNone" => Some(Self::None),
            "CmdEnterSummonActivityStageCsReq" => {
                Some(Self::CmdEnterSummonActivityStageCsReq)
            }
            "CmdGetSummonActivityDataCsReq" => Some(Self::CmdGetSummonActivityDataCsReq),
            "CmdSummonActivityBattleEndScNotify" => {
                Some(Self::CmdSummonActivityBattleEndScNotify)
            }
            "CmdEnterSummonActivityStageScRsp" => {
                Some(Self::CmdEnterSummonActivityStageScRsp)
            }
            "CmdGetSummonActivityDataScRsp" => Some(Self::CmdGetSummonActivityDataScRsp),
            _ => None,
        }
    }
}
/// Obf: KIKAIPIJPJH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdSwitchHandType {
    None = 0,
    CmdSwitchHandCoinUpdateCsReq = 8115,
    CmdSwitchHandDataScRsp = 8108,
    CmdSwitchHandUpdateScRsp = 8114,
    CmdSwitchHandFinishScRsp = 8101,
    CmdSwitchHandFinishCsReq = 8104,
    CmdSwitchHandStartCsReq = 8112,
    CmdSwitchHandCoinUpdateScRsp = 8106,
    CmdSwitchHandDataCsReq = 8117,
    CmdSwitchHandUpdateCsReq = 8119,
    CmdSwitchHandStartScRsp = 8102,
}
impl CmdSwitchHandType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdSwitchHandType::None => "CmdSwitchHandTypeNone",
            CmdSwitchHandType::CmdSwitchHandCoinUpdateCsReq => {
                "CmdSwitchHandCoinUpdateCsReq"
            }
            CmdSwitchHandType::CmdSwitchHandDataScRsp => "CmdSwitchHandDataScRsp",
            CmdSwitchHandType::CmdSwitchHandUpdateScRsp => "CmdSwitchHandUpdateScRsp",
            CmdSwitchHandType::CmdSwitchHandFinishScRsp => "CmdSwitchHandFinishScRsp",
            CmdSwitchHandType::CmdSwitchHandFinishCsReq => "CmdSwitchHandFinishCsReq",
            CmdSwitchHandType::CmdSwitchHandStartCsReq => "CmdSwitchHandStartCsReq",
            CmdSwitchHandType::CmdSwitchHandCoinUpdateScRsp => {
                "CmdSwitchHandCoinUpdateScRsp"
            }
            CmdSwitchHandType::CmdSwitchHandDataCsReq => "CmdSwitchHandDataCsReq",
            CmdSwitchHandType::CmdSwitchHandUpdateCsReq => "CmdSwitchHandUpdateCsReq",
            CmdSwitchHandType::CmdSwitchHandStartScRsp => "CmdSwitchHandStartScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdSwitchHandTypeNone" => Some(Self::None),
            "CmdSwitchHandCoinUpdateCsReq" => Some(Self::CmdSwitchHandCoinUpdateCsReq),
            "CmdSwitchHandDataScRsp" => Some(Self::CmdSwitchHandDataScRsp),
            "CmdSwitchHandUpdateScRsp" => Some(Self::CmdSwitchHandUpdateScRsp),
            "CmdSwitchHandFinishScRsp" => Some(Self::CmdSwitchHandFinishScRsp),
            "CmdSwitchHandFinishCsReq" => Some(Self::CmdSwitchHandFinishCsReq),
            "CmdSwitchHandStartCsReq" => Some(Self::CmdSwitchHandStartCsReq),
            "CmdSwitchHandCoinUpdateScRsp" => Some(Self::CmdSwitchHandCoinUpdateScRsp),
            "CmdSwitchHandDataCsReq" => Some(Self::CmdSwitchHandDataCsReq),
            "CmdSwitchHandUpdateCsReq" => Some(Self::CmdSwitchHandUpdateCsReq),
            "CmdSwitchHandStartScRsp" => Some(Self::CmdSwitchHandStartScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Leglgdjopkc {
    SwitchHandOpPropTypeNone = 0,
    SwitchHandOpPropTypeCatch = 1,
    SwitchHandOpPropTypeLift = 2,
}
impl Leglgdjopkc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Leglgdjopkc::SwitchHandOpPropTypeNone => "SWITCH_HAND_OP_PROP_TYPE_NONE",
            Leglgdjopkc::SwitchHandOpPropTypeCatch => "SWITCH_HAND_OP_PROP_TYPE_CATCH",
            Leglgdjopkc::SwitchHandOpPropTypeLift => "SWITCH_HAND_OP_PROP_TYPE_LIFT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SWITCH_HAND_OP_PROP_TYPE_NONE" => Some(Self::SwitchHandOpPropTypeNone),
            "SWITCH_HAND_OP_PROP_TYPE_CATCH" => Some(Self::SwitchHandOpPropTypeCatch),
            "SWITCH_HAND_OP_PROP_TYPE_LIFT" => Some(Self::SwitchHandOpPropTypeLift),
            _ => None,
        }
    }
}
/// Obf: BCOJADMPNJF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdSwordTrainingType {
    None = 0,
    CmdSwordTrainingStartGameScRsp = 7485,
    CmdSwordTrainingMarkEndingViewedCsReq = 7455,
    CmdSwordTrainingLearnSkillCsReq = 7464,
    CmdSwordTrainingStoryBattleScRsp = 7473,
    CmdSwordTrainingSetSkillTraceScRsp = 7472,
    CmdSwordTrainingDialogueSelectOptionCsReq = 7479,
    CmdSwordTrainingStoryBattleCsReq = 7494,
    CmdSwordTrainingStoryConfirmCsReq = 7459,
    CmdSwordTrainingDailyPhaseConfirmCsReq = 7483,
    CmdSwordTrainingStoryConfirmScRsp = 7474,
    CmdEnterSwordTrainingExamScRsp = 7482,
    CmdSwordTrainingGameSyncChangeScNotify = 7476,
    CmdSwordTrainingTurnActionCsReq = 7493,
    CmdSwordTrainingDailyPhaseConfirmScRsp = 7457,
    CmdSwordTrainingGameSettleScNotify = 7489,
    CmdSwordTrainingSelectEndingScRsp = 7467,
    CmdSwordTrainingTurnActionScRsp = 7456,
    CmdSwordTrainingUnlockSyncScNotify = 7495,
    CmdEnterSwordTrainingExamCsReq = 7454,
    CmdSwordTrainingMarkEndingViewedScRsp = 7500,
    CmdSwordTrainingResumeGameScRsp = 7469,
    CmdSwordTrainingActionTurnSettleScNotify = 7496,
    CmdSwordTrainingExamResultConfirmScRsp = 7477,
    CmdGetSwordTrainingDataScRsp = 7491,
    CmdSwordTrainingLearnSkillScRsp = 7490,
    CmdSwordTrainingGiveUpGameCsReq = 7451,
    CmdSwordTrainingStartGameCsReq = 7460,
    CmdSwordTrainingExamResultConfirmCsReq = 7499,
    CmdSwordTrainingSetSkillTraceCsReq = 7468,
    CmdSwordTrainingDialogueSelectOptionScRsp = 7475,
    CmdGetSwordTrainingDataCsReq = 7487,
    CmdSwordTrainingSelectEndingCsReq = 7462,
    CmdSwordTrainingRestoreGameScRsp = 7466,
    CmdSwordTrainingGiveUpGameScRsp = 7471,
    CmdSwordTrainingResumeGameCsReq = 7461,
    CmdSwordTrainingRestoreGameCsReq = 7484,
}
impl CmdSwordTrainingType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdSwordTrainingType::None => "CmdSwordTrainingTypeNone",
            CmdSwordTrainingType::CmdSwordTrainingStartGameScRsp => {
                "CmdSwordTrainingStartGameScRsp"
            }
            CmdSwordTrainingType::CmdSwordTrainingMarkEndingViewedCsReq => {
                "CmdSwordTrainingMarkEndingViewedCsReq"
            }
            CmdSwordTrainingType::CmdSwordTrainingLearnSkillCsReq => {
                "CmdSwordTrainingLearnSkillCsReq"
            }
            CmdSwordTrainingType::CmdSwordTrainingStoryBattleScRsp => {
                "CmdSwordTrainingStoryBattleScRsp"
            }
            CmdSwordTrainingType::CmdSwordTrainingSetSkillTraceScRsp => {
                "CmdSwordTrainingSetSkillTraceScRsp"
            }
            CmdSwordTrainingType::CmdSwordTrainingDialogueSelectOptionCsReq => {
                "CmdSwordTrainingDialogueSelectOptionCsReq"
            }
            CmdSwordTrainingType::CmdSwordTrainingStoryBattleCsReq => {
                "CmdSwordTrainingStoryBattleCsReq"
            }
            CmdSwordTrainingType::CmdSwordTrainingStoryConfirmCsReq => {
                "CmdSwordTrainingStoryConfirmCsReq"
            }
            CmdSwordTrainingType::CmdSwordTrainingDailyPhaseConfirmCsReq => {
                "CmdSwordTrainingDailyPhaseConfirmCsReq"
            }
            CmdSwordTrainingType::CmdSwordTrainingStoryConfirmScRsp => {
                "CmdSwordTrainingStoryConfirmScRsp"
            }
            CmdSwordTrainingType::CmdEnterSwordTrainingExamScRsp => {
                "CmdEnterSwordTrainingExamScRsp"
            }
            CmdSwordTrainingType::CmdSwordTrainingGameSyncChangeScNotify => {
                "CmdSwordTrainingGameSyncChangeScNotify"
            }
            CmdSwordTrainingType::CmdSwordTrainingTurnActionCsReq => {
                "CmdSwordTrainingTurnActionCsReq"
            }
            CmdSwordTrainingType::CmdSwordTrainingDailyPhaseConfirmScRsp => {
                "CmdSwordTrainingDailyPhaseConfirmScRsp"
            }
            CmdSwordTrainingType::CmdSwordTrainingGameSettleScNotify => {
                "CmdSwordTrainingGameSettleScNotify"
            }
            CmdSwordTrainingType::CmdSwordTrainingSelectEndingScRsp => {
                "CmdSwordTrainingSelectEndingScRsp"
            }
            CmdSwordTrainingType::CmdSwordTrainingTurnActionScRsp => {
                "CmdSwordTrainingTurnActionScRsp"
            }
            CmdSwordTrainingType::CmdSwordTrainingUnlockSyncScNotify => {
                "CmdSwordTrainingUnlockSyncScNotify"
            }
            CmdSwordTrainingType::CmdEnterSwordTrainingExamCsReq => {
                "CmdEnterSwordTrainingExamCsReq"
            }
            CmdSwordTrainingType::CmdSwordTrainingMarkEndingViewedScRsp => {
                "CmdSwordTrainingMarkEndingViewedScRsp"
            }
            CmdSwordTrainingType::CmdSwordTrainingResumeGameScRsp => {
                "CmdSwordTrainingResumeGameScRsp"
            }
            CmdSwordTrainingType::CmdSwordTrainingActionTurnSettleScNotify => {
                "CmdSwordTrainingActionTurnSettleScNotify"
            }
            CmdSwordTrainingType::CmdSwordTrainingExamResultConfirmScRsp => {
                "CmdSwordTrainingExamResultConfirmScRsp"
            }
            CmdSwordTrainingType::CmdGetSwordTrainingDataScRsp => {
                "CmdGetSwordTrainingDataScRsp"
            }
            CmdSwordTrainingType::CmdSwordTrainingLearnSkillScRsp => {
                "CmdSwordTrainingLearnSkillScRsp"
            }
            CmdSwordTrainingType::CmdSwordTrainingGiveUpGameCsReq => {
                "CmdSwordTrainingGiveUpGameCsReq"
            }
            CmdSwordTrainingType::CmdSwordTrainingStartGameCsReq => {
                "CmdSwordTrainingStartGameCsReq"
            }
            CmdSwordTrainingType::CmdSwordTrainingExamResultConfirmCsReq => {
                "CmdSwordTrainingExamResultConfirmCsReq"
            }
            CmdSwordTrainingType::CmdSwordTrainingSetSkillTraceCsReq => {
                "CmdSwordTrainingSetSkillTraceCsReq"
            }
            CmdSwordTrainingType::CmdSwordTrainingDialogueSelectOptionScRsp => {
                "CmdSwordTrainingDialogueSelectOptionScRsp"
            }
            CmdSwordTrainingType::CmdGetSwordTrainingDataCsReq => {
                "CmdGetSwordTrainingDataCsReq"
            }
            CmdSwordTrainingType::CmdSwordTrainingSelectEndingCsReq => {
                "CmdSwordTrainingSelectEndingCsReq"
            }
            CmdSwordTrainingType::CmdSwordTrainingRestoreGameScRsp => {
                "CmdSwordTrainingRestoreGameScRsp"
            }
            CmdSwordTrainingType::CmdSwordTrainingGiveUpGameScRsp => {
                "CmdSwordTrainingGiveUpGameScRsp"
            }
            CmdSwordTrainingType::CmdSwordTrainingResumeGameCsReq => {
                "CmdSwordTrainingResumeGameCsReq"
            }
            CmdSwordTrainingType::CmdSwordTrainingRestoreGameCsReq => {
                "CmdSwordTrainingRestoreGameCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdSwordTrainingTypeNone" => Some(Self::None),
            "CmdSwordTrainingStartGameScRsp" => {
                Some(Self::CmdSwordTrainingStartGameScRsp)
            }
            "CmdSwordTrainingMarkEndingViewedCsReq" => {
                Some(Self::CmdSwordTrainingMarkEndingViewedCsReq)
            }
            "CmdSwordTrainingLearnSkillCsReq" => {
                Some(Self::CmdSwordTrainingLearnSkillCsReq)
            }
            "CmdSwordTrainingStoryBattleScRsp" => {
                Some(Self::CmdSwordTrainingStoryBattleScRsp)
            }
            "CmdSwordTrainingSetSkillTraceScRsp" => {
                Some(Self::CmdSwordTrainingSetSkillTraceScRsp)
            }
            "CmdSwordTrainingDialogueSelectOptionCsReq" => {
                Some(Self::CmdSwordTrainingDialogueSelectOptionCsReq)
            }
            "CmdSwordTrainingStoryBattleCsReq" => {
                Some(Self::CmdSwordTrainingStoryBattleCsReq)
            }
            "CmdSwordTrainingStoryConfirmCsReq" => {
                Some(Self::CmdSwordTrainingStoryConfirmCsReq)
            }
            "CmdSwordTrainingDailyPhaseConfirmCsReq" => {
                Some(Self::CmdSwordTrainingDailyPhaseConfirmCsReq)
            }
            "CmdSwordTrainingStoryConfirmScRsp" => {
                Some(Self::CmdSwordTrainingStoryConfirmScRsp)
            }
            "CmdEnterSwordTrainingExamScRsp" => {
                Some(Self::CmdEnterSwordTrainingExamScRsp)
            }
            "CmdSwordTrainingGameSyncChangeScNotify" => {
                Some(Self::CmdSwordTrainingGameSyncChangeScNotify)
            }
            "CmdSwordTrainingTurnActionCsReq" => {
                Some(Self::CmdSwordTrainingTurnActionCsReq)
            }
            "CmdSwordTrainingDailyPhaseConfirmScRsp" => {
                Some(Self::CmdSwordTrainingDailyPhaseConfirmScRsp)
            }
            "CmdSwordTrainingGameSettleScNotify" => {
                Some(Self::CmdSwordTrainingGameSettleScNotify)
            }
            "CmdSwordTrainingSelectEndingScRsp" => {
                Some(Self::CmdSwordTrainingSelectEndingScRsp)
            }
            "CmdSwordTrainingTurnActionScRsp" => {
                Some(Self::CmdSwordTrainingTurnActionScRsp)
            }
            "CmdSwordTrainingUnlockSyncScNotify" => {
                Some(Self::CmdSwordTrainingUnlockSyncScNotify)
            }
            "CmdEnterSwordTrainingExamCsReq" => {
                Some(Self::CmdEnterSwordTrainingExamCsReq)
            }
            "CmdSwordTrainingMarkEndingViewedScRsp" => {
                Some(Self::CmdSwordTrainingMarkEndingViewedScRsp)
            }
            "CmdSwordTrainingResumeGameScRsp" => {
                Some(Self::CmdSwordTrainingResumeGameScRsp)
            }
            "CmdSwordTrainingActionTurnSettleScNotify" => {
                Some(Self::CmdSwordTrainingActionTurnSettleScNotify)
            }
            "CmdSwordTrainingExamResultConfirmScRsp" => {
                Some(Self::CmdSwordTrainingExamResultConfirmScRsp)
            }
            "CmdGetSwordTrainingDataScRsp" => Some(Self::CmdGetSwordTrainingDataScRsp),
            "CmdSwordTrainingLearnSkillScRsp" => {
                Some(Self::CmdSwordTrainingLearnSkillScRsp)
            }
            "CmdSwordTrainingGiveUpGameCsReq" => {
                Some(Self::CmdSwordTrainingGiveUpGameCsReq)
            }
            "CmdSwordTrainingStartGameCsReq" => {
                Some(Self::CmdSwordTrainingStartGameCsReq)
            }
            "CmdSwordTrainingExamResultConfirmCsReq" => {
                Some(Self::CmdSwordTrainingExamResultConfirmCsReq)
            }
            "CmdSwordTrainingSetSkillTraceCsReq" => {
                Some(Self::CmdSwordTrainingSetSkillTraceCsReq)
            }
            "CmdSwordTrainingDialogueSelectOptionScRsp" => {
                Some(Self::CmdSwordTrainingDialogueSelectOptionScRsp)
            }
            "CmdGetSwordTrainingDataCsReq" => Some(Self::CmdGetSwordTrainingDataCsReq),
            "CmdSwordTrainingSelectEndingCsReq" => {
                Some(Self::CmdSwordTrainingSelectEndingCsReq)
            }
            "CmdSwordTrainingRestoreGameScRsp" => {
                Some(Self::CmdSwordTrainingRestoreGameScRsp)
            }
            "CmdSwordTrainingGiveUpGameScRsp" => {
                Some(Self::CmdSwordTrainingGiveUpGameScRsp)
            }
            "CmdSwordTrainingResumeGameCsReq" => {
                Some(Self::CmdSwordTrainingResumeGameCsReq)
            }
            "CmdSwordTrainingRestoreGameCsReq" => {
                Some(Self::CmdSwordTrainingRestoreGameCsReq)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pkhjbpmibba {
    SwordTrainGameSourceTypeNone = 0,
    SwordTrainGameSourceTypeTurnSettle = 1,
    SwordTrainGameSourceTypeStatusUpgrade = 2,
    SwordTrainGameSourceTypeAction = 3,
    SwordTrainGameSourceTypeActionHint = 4,
    SwordTrainGameSourceTypeStory = 5,
    SwordTrainGameSourceTypeExamBonus = 6,
    SwordTrainGameSourceTypeDialogue = 7,
}
impl Pkhjbpmibba {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Pkhjbpmibba::SwordTrainGameSourceTypeNone => {
                "SWORD_TRAIN_GAME_SOURCE_TYPE_NONE"
            }
            Pkhjbpmibba::SwordTrainGameSourceTypeTurnSettle => {
                "SWORD_TRAIN_GAME_SOURCE_TYPE_TURN_SETTLE"
            }
            Pkhjbpmibba::SwordTrainGameSourceTypeStatusUpgrade => {
                "SWORD_TRAIN_GAME_SOURCE_TYPE_STATUS_UPGRADE"
            }
            Pkhjbpmibba::SwordTrainGameSourceTypeAction => {
                "SWORD_TRAIN_GAME_SOURCE_TYPE_ACTION"
            }
            Pkhjbpmibba::SwordTrainGameSourceTypeActionHint => {
                "SWORD_TRAIN_GAME_SOURCE_TYPE_ACTION_HINT"
            }
            Pkhjbpmibba::SwordTrainGameSourceTypeStory => {
                "SWORD_TRAIN_GAME_SOURCE_TYPE_STORY"
            }
            Pkhjbpmibba::SwordTrainGameSourceTypeExamBonus => {
                "SWORD_TRAIN_GAME_SOURCE_TYPE_EXAM_BONUS"
            }
            Pkhjbpmibba::SwordTrainGameSourceTypeDialogue => {
                "SWORD_TRAIN_GAME_SOURCE_TYPE_DIALOGUE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SWORD_TRAIN_GAME_SOURCE_TYPE_NONE" => {
                Some(Self::SwordTrainGameSourceTypeNone)
            }
            "SWORD_TRAIN_GAME_SOURCE_TYPE_TURN_SETTLE" => {
                Some(Self::SwordTrainGameSourceTypeTurnSettle)
            }
            "SWORD_TRAIN_GAME_SOURCE_TYPE_STATUS_UPGRADE" => {
                Some(Self::SwordTrainGameSourceTypeStatusUpgrade)
            }
            "SWORD_TRAIN_GAME_SOURCE_TYPE_ACTION" => {
                Some(Self::SwordTrainGameSourceTypeAction)
            }
            "SWORD_TRAIN_GAME_SOURCE_TYPE_ACTION_HINT" => {
                Some(Self::SwordTrainGameSourceTypeActionHint)
            }
            "SWORD_TRAIN_GAME_SOURCE_TYPE_STORY" => {
                Some(Self::SwordTrainGameSourceTypeStory)
            }
            "SWORD_TRAIN_GAME_SOURCE_TYPE_EXAM_BONUS" => {
                Some(Self::SwordTrainGameSourceTypeExamBonus)
            }
            "SWORD_TRAIN_GAME_SOURCE_TYPE_DIALOGUE" => {
                Some(Self::SwordTrainGameSourceTypeDialogue)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bjncdefeeji {
    SwordTrainingDailyPhaseTypeNone = 0,
    SwordTrainingDailyPhaseTypeMorning = 1,
    SwordTrainingDailyPhaseTypeNoon = 2,
    SwordTrainingDailyPhaseTypeAfternoon = 3,
    SwordTrainingDailyPhaseTypeEvening = 4,
}
impl Bjncdefeeji {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Bjncdefeeji::SwordTrainingDailyPhaseTypeNone => {
                "SWORD_TRAINING_DAILY_PHASE_TYPE_NONE"
            }
            Bjncdefeeji::SwordTrainingDailyPhaseTypeMorning => {
                "SWORD_TRAINING_DAILY_PHASE_TYPE_MORNING"
            }
            Bjncdefeeji::SwordTrainingDailyPhaseTypeNoon => {
                "SWORD_TRAINING_DAILY_PHASE_TYPE_NOON"
            }
            Bjncdefeeji::SwordTrainingDailyPhaseTypeAfternoon => {
                "SWORD_TRAINING_DAILY_PHASE_TYPE_AFTERNOON"
            }
            Bjncdefeeji::SwordTrainingDailyPhaseTypeEvening => {
                "SWORD_TRAINING_DAILY_PHASE_TYPE_EVENING"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SWORD_TRAINING_DAILY_PHASE_TYPE_NONE" => {
                Some(Self::SwordTrainingDailyPhaseTypeNone)
            }
            "SWORD_TRAINING_DAILY_PHASE_TYPE_MORNING" => {
                Some(Self::SwordTrainingDailyPhaseTypeMorning)
            }
            "SWORD_TRAINING_DAILY_PHASE_TYPE_NOON" => {
                Some(Self::SwordTrainingDailyPhaseTypeNoon)
            }
            "SWORD_TRAINING_DAILY_PHASE_TYPE_AFTERNOON" => {
                Some(Self::SwordTrainingDailyPhaseTypeAfternoon)
            }
            "SWORD_TRAINING_DAILY_PHASE_TYPE_EVENING" => {
                Some(Self::SwordTrainingDailyPhaseTypeEvening)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hdijjmdpile {
    SwordTrainingStatusTypeNone = 0,
    SwordTrainingStatusTypePower = 1,
    SwordTrainingStatusTypeAgility = 2,
    SwordTrainingStatusTypeToughness = 3,
    SwordTrainingStatusTypePerception = 4,
    SwordTrainingStatusTypeMax = 5,
}
impl Hdijjmdpile {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Hdijjmdpile::SwordTrainingStatusTypeNone => "SWORD_TRAINING_STATUS_TYPE_NONE",
            Hdijjmdpile::SwordTrainingStatusTypePower => {
                "SWORD_TRAINING_STATUS_TYPE_POWER"
            }
            Hdijjmdpile::SwordTrainingStatusTypeAgility => {
                "SWORD_TRAINING_STATUS_TYPE_AGILITY"
            }
            Hdijjmdpile::SwordTrainingStatusTypeToughness => {
                "SWORD_TRAINING_STATUS_TYPE_TOUGHNESS"
            }
            Hdijjmdpile::SwordTrainingStatusTypePerception => {
                "SWORD_TRAINING_STATUS_TYPE_PERCEPTION"
            }
            Hdijjmdpile::SwordTrainingStatusTypeMax => "_SWORD_TRAINING_STATUS_TYPE_MAX",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SWORD_TRAINING_STATUS_TYPE_NONE" => Some(Self::SwordTrainingStatusTypeNone),
            "SWORD_TRAINING_STATUS_TYPE_POWER" => {
                Some(Self::SwordTrainingStatusTypePower)
            }
            "SWORD_TRAINING_STATUS_TYPE_AGILITY" => {
                Some(Self::SwordTrainingStatusTypeAgility)
            }
            "SWORD_TRAINING_STATUS_TYPE_TOUGHNESS" => {
                Some(Self::SwordTrainingStatusTypeToughness)
            }
            "SWORD_TRAINING_STATUS_TYPE_PERCEPTION" => {
                Some(Self::SwordTrainingStatusTypePerception)
            }
            "_SWORD_TRAINING_STATUS_TYPE_MAX" => Some(Self::SwordTrainingStatusTypeMax),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hdmkphalalg {
    SwordTrainingGameSettleNone = 0,
    SwordTrainingGameSettleFinish = 1,
    SwordTrainingGameSettleGiveUp = 2,
    SwordTrainingGameSettleBattleFailed = 3,
    SwordTrainingGameSettleForce = 4,
    SwordTrainingGameSettleByRestore = 5,
}
impl Hdmkphalalg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Hdmkphalalg::SwordTrainingGameSettleNone => "SWORD_TRAINING_GAME_SETTLE_NONE",
            Hdmkphalalg::SwordTrainingGameSettleFinish => {
                "SWORD_TRAINING_GAME_SETTLE_FINISH"
            }
            Hdmkphalalg::SwordTrainingGameSettleGiveUp => {
                "SWORD_TRAINING_GAME_SETTLE_GIVE_UP"
            }
            Hdmkphalalg::SwordTrainingGameSettleBattleFailed => {
                "SWORD_TRAINING_GAME_SETTLE_BATTLE_FAILED"
            }
            Hdmkphalalg::SwordTrainingGameSettleForce => {
                "SWORD_TRAINING_GAME_SETTLE_FORCE"
            }
            Hdmkphalalg::SwordTrainingGameSettleByRestore => {
                "SWORD_TRAINING_GAME_SETTLE_BY_RESTORE"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SWORD_TRAINING_GAME_SETTLE_NONE" => Some(Self::SwordTrainingGameSettleNone),
            "SWORD_TRAINING_GAME_SETTLE_FINISH" => {
                Some(Self::SwordTrainingGameSettleFinish)
            }
            "SWORD_TRAINING_GAME_SETTLE_GIVE_UP" => {
                Some(Self::SwordTrainingGameSettleGiveUp)
            }
            "SWORD_TRAINING_GAME_SETTLE_BATTLE_FAILED" => {
                Some(Self::SwordTrainingGameSettleBattleFailed)
            }
            "SWORD_TRAINING_GAME_SETTLE_FORCE" => {
                Some(Self::SwordTrainingGameSettleForce)
            }
            "SWORD_TRAINING_GAME_SETTLE_BY_RESTORE" => {
                Some(Self::SwordTrainingGameSettleByRestore)
            }
            _ => None,
        }
    }
}
/// Obf: HEOOONFIPAF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlayerSync {
    None = 0,
    ScNotify = 601,
}
impl CmdPlayerSync {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdPlayerSync::None => "CmdPlayerSyncNone",
            CmdPlayerSync::ScNotify => "CmdPlayerSyncScNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdPlayerSyncNone" => Some(Self::None),
            "CmdPlayerSyncScNotify" => Some(Self::ScNotify),
            _ => None,
        }
    }
}
/// Obf: DFHNNKHAEJJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTalkRewardType {
    None = 0,
    CmdGetNpcTakenRewardCsReq = 2101,
    CmdGetNpcTakenRewardScRsp = 2168,
    CmdGetFirstTalkNpcCsReq = 2130,
    CmdGetFirstTalkByPerformanceNpcScRsp = 2114,
    CmdFinishFirstTalkByPerformanceNpcScRsp = 2122,
    CmdGetFirstTalkNpcScRsp = 2156,
    CmdFinishFirstTalkByPerformanceNpcCsReq = 2149,
    CmdFinishFirstTalkNpcScRsp = 2176,
    CmdTakeTalkRewardScRsp = 2124,
    CmdSelectInclinationTextCsReq = 2128,
    CmdSelectInclinationTextScRsp = 2111,
    CmdGetFirstTalkByPerformanceNpcCsReq = 2105,
    CmdTakeTalkRewardCsReq = 2158,
    CmdFinishFirstTalkNpcCsReq = 2197,
}
impl CmdTalkRewardType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdTalkRewardType::None => "CmdTalkRewardTypeNone",
            CmdTalkRewardType::CmdGetNpcTakenRewardCsReq => "CmdGetNpcTakenRewardCsReq",
            CmdTalkRewardType::CmdGetNpcTakenRewardScRsp => "CmdGetNpcTakenRewardScRsp",
            CmdTalkRewardType::CmdGetFirstTalkNpcCsReq => "CmdGetFirstTalkNpcCsReq",
            CmdTalkRewardType::CmdGetFirstTalkByPerformanceNpcScRsp => {
                "CmdGetFirstTalkByPerformanceNpcScRsp"
            }
            CmdTalkRewardType::CmdFinishFirstTalkByPerformanceNpcScRsp => {
                "CmdFinishFirstTalkByPerformanceNpcScRsp"
            }
            CmdTalkRewardType::CmdGetFirstTalkNpcScRsp => "CmdGetFirstTalkNpcScRsp",
            CmdTalkRewardType::CmdFinishFirstTalkByPerformanceNpcCsReq => {
                "CmdFinishFirstTalkByPerformanceNpcCsReq"
            }
            CmdTalkRewardType::CmdFinishFirstTalkNpcScRsp => "CmdFinishFirstTalkNpcScRsp",
            CmdTalkRewardType::CmdTakeTalkRewardScRsp => "CmdTakeTalkRewardScRsp",
            CmdTalkRewardType::CmdSelectInclinationTextCsReq => {
                "CmdSelectInclinationTextCsReq"
            }
            CmdTalkRewardType::CmdSelectInclinationTextScRsp => {
                "CmdSelectInclinationTextScRsp"
            }
            CmdTalkRewardType::CmdGetFirstTalkByPerformanceNpcCsReq => {
                "CmdGetFirstTalkByPerformanceNpcCsReq"
            }
            CmdTalkRewardType::CmdTakeTalkRewardCsReq => "CmdTakeTalkRewardCsReq",
            CmdTalkRewardType::CmdFinishFirstTalkNpcCsReq => "CmdFinishFirstTalkNpcCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTalkRewardTypeNone" => Some(Self::None),
            "CmdGetNpcTakenRewardCsReq" => Some(Self::CmdGetNpcTakenRewardCsReq),
            "CmdGetNpcTakenRewardScRsp" => Some(Self::CmdGetNpcTakenRewardScRsp),
            "CmdGetFirstTalkNpcCsReq" => Some(Self::CmdGetFirstTalkNpcCsReq),
            "CmdGetFirstTalkByPerformanceNpcScRsp" => {
                Some(Self::CmdGetFirstTalkByPerformanceNpcScRsp)
            }
            "CmdFinishFirstTalkByPerformanceNpcScRsp" => {
                Some(Self::CmdFinishFirstTalkByPerformanceNpcScRsp)
            }
            "CmdGetFirstTalkNpcScRsp" => Some(Self::CmdGetFirstTalkNpcScRsp),
            "CmdFinishFirstTalkByPerformanceNpcCsReq" => {
                Some(Self::CmdFinishFirstTalkByPerformanceNpcCsReq)
            }
            "CmdFinishFirstTalkNpcScRsp" => Some(Self::CmdFinishFirstTalkNpcScRsp),
            "CmdTakeTalkRewardScRsp" => Some(Self::CmdTakeTalkRewardScRsp),
            "CmdSelectInclinationTextCsReq" => Some(Self::CmdSelectInclinationTextCsReq),
            "CmdSelectInclinationTextScRsp" => Some(Self::CmdSelectInclinationTextScRsp),
            "CmdGetFirstTalkByPerformanceNpcCsReq" => {
                Some(Self::CmdGetFirstTalkByPerformanceNpcCsReq)
            }
            "CmdTakeTalkRewardCsReq" => Some(Self::CmdTakeTalkRewardCsReq),
            "CmdFinishFirstTalkNpcCsReq" => Some(Self::CmdFinishFirstTalkNpcCsReq),
            _ => None,
        }
    }
}
/// Obf: EMKDDECEIAP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTarotBookType {
    None = 0,
    CmdTarotBookFinishInteractionScRsp = 8158,
    CmdTarotBookGetDataCsReq = 8157,
    CmdTarotBookUnlockStoryCsReq = 8144,
    CmdTarotBookFinishStoryScRsp = 8154,
    CmdTarotBookUnlockStoryScRsp = 8141,
    CmdTarotBookGetDataScRsp = 8148,
    CmdTarotBookOpenPackCsReq = 8152,
    CmdTarotBookFinishInteractionCsReq = 8146,
    CmdTarotBookModifyEnergyScNotify = 8155,
    CmdTarotBookFinishStoryCsReq = 8159,
    CmdTarotBookOpenPackScRsp = 8142,
}
impl CmdTarotBookType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdTarotBookType::None => "CmdTarotBookTypeNone",
            CmdTarotBookType::CmdTarotBookFinishInteractionScRsp => {
                "CmdTarotBookFinishInteractionScRsp"
            }
            CmdTarotBookType::CmdTarotBookGetDataCsReq => "CmdTarotBookGetDataCsReq",
            CmdTarotBookType::CmdTarotBookUnlockStoryCsReq => {
                "CmdTarotBookUnlockStoryCsReq"
            }
            CmdTarotBookType::CmdTarotBookFinishStoryScRsp => {
                "CmdTarotBookFinishStoryScRsp"
            }
            CmdTarotBookType::CmdTarotBookUnlockStoryScRsp => {
                "CmdTarotBookUnlockStoryScRsp"
            }
            CmdTarotBookType::CmdTarotBookGetDataScRsp => "CmdTarotBookGetDataScRsp",
            CmdTarotBookType::CmdTarotBookOpenPackCsReq => "CmdTarotBookOpenPackCsReq",
            CmdTarotBookType::CmdTarotBookFinishInteractionCsReq => {
                "CmdTarotBookFinishInteractionCsReq"
            }
            CmdTarotBookType::CmdTarotBookModifyEnergyScNotify => {
                "CmdTarotBookModifyEnergyScNotify"
            }
            CmdTarotBookType::CmdTarotBookFinishStoryCsReq => {
                "CmdTarotBookFinishStoryCsReq"
            }
            CmdTarotBookType::CmdTarotBookOpenPackScRsp => "CmdTarotBookOpenPackScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTarotBookTypeNone" => Some(Self::None),
            "CmdTarotBookFinishInteractionScRsp" => {
                Some(Self::CmdTarotBookFinishInteractionScRsp)
            }
            "CmdTarotBookGetDataCsReq" => Some(Self::CmdTarotBookGetDataCsReq),
            "CmdTarotBookUnlockStoryCsReq" => Some(Self::CmdTarotBookUnlockStoryCsReq),
            "CmdTarotBookFinishStoryScRsp" => Some(Self::CmdTarotBookFinishStoryScRsp),
            "CmdTarotBookUnlockStoryScRsp" => Some(Self::CmdTarotBookUnlockStoryScRsp),
            "CmdTarotBookGetDataScRsp" => Some(Self::CmdTarotBookGetDataScRsp),
            "CmdTarotBookOpenPackCsReq" => Some(Self::CmdTarotBookOpenPackCsReq),
            "CmdTarotBookFinishInteractionCsReq" => {
                Some(Self::CmdTarotBookFinishInteractionCsReq)
            }
            "CmdTarotBookModifyEnergyScNotify" => {
                Some(Self::CmdTarotBookModifyEnergyScNotify)
            }
            "CmdTarotBookFinishStoryCsReq" => Some(Self::CmdTarotBookFinishStoryCsReq),
            "CmdTarotBookOpenPackScRsp" => Some(Self::CmdTarotBookOpenPackScRsp),
            _ => None,
        }
    }
}
/// Obf: KPGHFGNNBHG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTelevisionActivityType {
    None = 0,
    CmdEnterTelevisionActivityStageScRsp = 6964,
    CmdGetTelevisionActivityDataCsReq = 6977,
    CmdEnterTelevisionActivityStageCsReq = 6962,
    CmdTelevisionActivityBattleEndScNotify = 6961,
    CmdGetTelevisionActivityDataScRsp = 6968,
    CmdTelevisionActivityDataChangeScNotify = 6972,
}
impl CmdTelevisionActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdTelevisionActivityType::None => "CmdTelevisionActivityTypeNone",
            CmdTelevisionActivityType::CmdEnterTelevisionActivityStageScRsp => {
                "CmdEnterTelevisionActivityStageScRsp"
            }
            CmdTelevisionActivityType::CmdGetTelevisionActivityDataCsReq => {
                "CmdGetTelevisionActivityDataCsReq"
            }
            CmdTelevisionActivityType::CmdEnterTelevisionActivityStageCsReq => {
                "CmdEnterTelevisionActivityStageCsReq"
            }
            CmdTelevisionActivityType::CmdTelevisionActivityBattleEndScNotify => {
                "CmdTelevisionActivityBattleEndScNotify"
            }
            CmdTelevisionActivityType::CmdGetTelevisionActivityDataScRsp => {
                "CmdGetTelevisionActivityDataScRsp"
            }
            CmdTelevisionActivityType::CmdTelevisionActivityDataChangeScNotify => {
                "CmdTelevisionActivityDataChangeScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTelevisionActivityTypeNone" => Some(Self::None),
            "CmdEnterTelevisionActivityStageScRsp" => {
                Some(Self::CmdEnterTelevisionActivityStageScRsp)
            }
            "CmdGetTelevisionActivityDataCsReq" => {
                Some(Self::CmdGetTelevisionActivityDataCsReq)
            }
            "CmdEnterTelevisionActivityStageCsReq" => {
                Some(Self::CmdEnterTelevisionActivityStageCsReq)
            }
            "CmdTelevisionActivityBattleEndScNotify" => {
                Some(Self::CmdTelevisionActivityBattleEndScNotify)
            }
            "CmdGetTelevisionActivityDataScRsp" => {
                Some(Self::CmdGetTelevisionActivityDataScRsp)
            }
            "CmdTelevisionActivityDataChangeScNotify" => {
                Some(Self::CmdTelevisionActivityDataChangeScNotify)
            }
            _ => None,
        }
    }
}
/// Obf: KGIHCDABHLC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTextJoinType {
    None = 0,
    CmdTextJoinSaveCsReq = 3801,
    CmdTextJoinQueryCsReq = 3858,
    CmdTextJoinSaveScRsp = 3868,
    CmdTextJoinQueryScRsp = 3824,
    CmdTextJoinBatchSaveCsReq = 3830,
    CmdTextJoinBatchSaveScRsp = 3856,
}
impl CmdTextJoinType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdTextJoinType::None => "CmdTextJoinTypeNone",
            CmdTextJoinType::CmdTextJoinSaveCsReq => "CmdTextJoinSaveCsReq",
            CmdTextJoinType::CmdTextJoinQueryCsReq => "CmdTextJoinQueryCsReq",
            CmdTextJoinType::CmdTextJoinSaveScRsp => "CmdTextJoinSaveScRsp",
            CmdTextJoinType::CmdTextJoinQueryScRsp => "CmdTextJoinQueryScRsp",
            CmdTextJoinType::CmdTextJoinBatchSaveCsReq => "CmdTextJoinBatchSaveCsReq",
            CmdTextJoinType::CmdTextJoinBatchSaveScRsp => "CmdTextJoinBatchSaveScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTextJoinTypeNone" => Some(Self::None),
            "CmdTextJoinSaveCsReq" => Some(Self::CmdTextJoinSaveCsReq),
            "CmdTextJoinQueryCsReq" => Some(Self::CmdTextJoinQueryCsReq),
            "CmdTextJoinSaveScRsp" => Some(Self::CmdTextJoinSaveScRsp),
            "CmdTextJoinQueryScRsp" => Some(Self::CmdTextJoinQueryScRsp),
            "CmdTextJoinBatchSaveCsReq" => Some(Self::CmdTextJoinBatchSaveCsReq),
            "CmdTextJoinBatchSaveScRsp" => Some(Self::CmdTextJoinBatchSaveScRsp),
            _ => None,
        }
    }
}
/// Obf: EEHBBCBGCGH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTrackPhotoActivityType {
    None = 0,
    CmdSettleTrackPhotoStageCsReq = 7551,
    CmdQuitTrackPhotoStageCsReq = 7553,
    CmdStartTrackPhotoStageScRsp = 7557,
    CmdQuitTrackPhotoStageScRsp = 7552,
    CmdSettleTrackPhotoStageScRsp = 7556,
    CmdGetTrackPhotoActivityDataScRsp = 7558,
    CmdGetTrackPhotoActivityDataCsReq = 7559,
    CmdStartTrackPhotoStageCsReq = 7555,
}
impl CmdTrackPhotoActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdTrackPhotoActivityType::None => "CmdTrackPhotoActivityTypeNone",
            CmdTrackPhotoActivityType::CmdSettleTrackPhotoStageCsReq => {
                "CmdSettleTrackPhotoStageCsReq"
            }
            CmdTrackPhotoActivityType::CmdQuitTrackPhotoStageCsReq => {
                "CmdQuitTrackPhotoStageCsReq"
            }
            CmdTrackPhotoActivityType::CmdStartTrackPhotoStageScRsp => {
                "CmdStartTrackPhotoStageScRsp"
            }
            CmdTrackPhotoActivityType::CmdQuitTrackPhotoStageScRsp => {
                "CmdQuitTrackPhotoStageScRsp"
            }
            CmdTrackPhotoActivityType::CmdSettleTrackPhotoStageScRsp => {
                "CmdSettleTrackPhotoStageScRsp"
            }
            CmdTrackPhotoActivityType::CmdGetTrackPhotoActivityDataScRsp => {
                "CmdGetTrackPhotoActivityDataScRsp"
            }
            CmdTrackPhotoActivityType::CmdGetTrackPhotoActivityDataCsReq => {
                "CmdGetTrackPhotoActivityDataCsReq"
            }
            CmdTrackPhotoActivityType::CmdStartTrackPhotoStageCsReq => {
                "CmdStartTrackPhotoStageCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTrackPhotoActivityTypeNone" => Some(Self::None),
            "CmdSettleTrackPhotoStageCsReq" => Some(Self::CmdSettleTrackPhotoStageCsReq),
            "CmdQuitTrackPhotoStageCsReq" => Some(Self::CmdQuitTrackPhotoStageCsReq),
            "CmdStartTrackPhotoStageScRsp" => Some(Self::CmdStartTrackPhotoStageScRsp),
            "CmdQuitTrackPhotoStageScRsp" => Some(Self::CmdQuitTrackPhotoStageScRsp),
            "CmdSettleTrackPhotoStageScRsp" => Some(Self::CmdSettleTrackPhotoStageScRsp),
            "CmdGetTrackPhotoActivityDataScRsp" => {
                Some(Self::CmdGetTrackPhotoActivityDataScRsp)
            }
            "CmdGetTrackPhotoActivityDataCsReq" => {
                Some(Self::CmdGetTrackPhotoActivityDataCsReq)
            }
            "CmdStartTrackPhotoStageCsReq" => Some(Self::CmdStartTrackPhotoStageCsReq),
            _ => None,
        }
    }
}
/// Obf: MHIAKDMOFAO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTrainPartyType {
    None = 0,
    CmdTrainPartyTakeBuildLevelAwardCsReq = 8019,
    CmdTrainPartyBuildingUpdateNotify = 8039,
    CmdTrainPartyAddBuildDynamicBuffCsReq = 8059,
    CmdTrainPartyLeaveScRsp = 8091,
    CmdTrainPartyUseCardCsReq = 8058,
    CmdTrainPartyUseCardScRsp = 8024,
    CmdTrainPartyEnterScRsp = 8012,
    CmdTrainPartySettleNotify = 8097,
    CmdTrainPartyGamePlaySettleNotify = 8092,
    CmdTrainPartyGamePlayStartCsReq = 8069,
    CmdTrainPartyTakeBuildLevelAwardScRsp = 8082,
    CmdTrainPartyMoveScNotify = 8030,
    CmdTrainPartyUpdatePosEnvScRsp = 8038,
    CmdTrainPartyEnterCsReq = 8023,
    CmdTrainPartyGamePlayStartScRsp = 8020,
    CmdTrainPartyHandlePendingActionScRsp = 8014,
    CmdTrainPartyGetDataCsReq = 8001,
    CmdTrainPartyBuildStartStepScRsp = 8022,
    CmdTrainPartyHandlePendingActionCsReq = 8005,
    CmdTrainPartyBuildDiyCsReq = 8047,
    CmdTrainPartyGetDataScRsp = 8068,
    CmdTrainPartyUpdatePosEnvCsReq = 8081,
    CmdTrainPartyBuildDiyScRsp = 8080,
    CmdTrainPartyLeaveCsReq = 8017,
    CmdTrainPartyAddBuildDynamicBuffScRsp = 8041,
    CmdTrainPartyBuildStartStepCsReq = 8049,
    CmdTrainPartySyncUpdateScNotify = 8028,
}
impl CmdTrainPartyType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdTrainPartyType::None => "CmdTrainPartyTypeNone",
            CmdTrainPartyType::CmdTrainPartyTakeBuildLevelAwardCsReq => {
                "CmdTrainPartyTakeBuildLevelAwardCsReq"
            }
            CmdTrainPartyType::CmdTrainPartyBuildingUpdateNotify => {
                "CmdTrainPartyBuildingUpdateNotify"
            }
            CmdTrainPartyType::CmdTrainPartyAddBuildDynamicBuffCsReq => {
                "CmdTrainPartyAddBuildDynamicBuffCsReq"
            }
            CmdTrainPartyType::CmdTrainPartyLeaveScRsp => "CmdTrainPartyLeaveScRsp",
            CmdTrainPartyType::CmdTrainPartyUseCardCsReq => "CmdTrainPartyUseCardCsReq",
            CmdTrainPartyType::CmdTrainPartyUseCardScRsp => "CmdTrainPartyUseCardScRsp",
            CmdTrainPartyType::CmdTrainPartyEnterScRsp => "CmdTrainPartyEnterScRsp",
            CmdTrainPartyType::CmdTrainPartySettleNotify => "CmdTrainPartySettleNotify",
            CmdTrainPartyType::CmdTrainPartyGamePlaySettleNotify => {
                "CmdTrainPartyGamePlaySettleNotify"
            }
            CmdTrainPartyType::CmdTrainPartyGamePlayStartCsReq => {
                "CmdTrainPartyGamePlayStartCsReq"
            }
            CmdTrainPartyType::CmdTrainPartyTakeBuildLevelAwardScRsp => {
                "CmdTrainPartyTakeBuildLevelAwardScRsp"
            }
            CmdTrainPartyType::CmdTrainPartyMoveScNotify => "CmdTrainPartyMoveScNotify",
            CmdTrainPartyType::CmdTrainPartyUpdatePosEnvScRsp => {
                "CmdTrainPartyUpdatePosEnvScRsp"
            }
            CmdTrainPartyType::CmdTrainPartyEnterCsReq => "CmdTrainPartyEnterCsReq",
            CmdTrainPartyType::CmdTrainPartyGamePlayStartScRsp => {
                "CmdTrainPartyGamePlayStartScRsp"
            }
            CmdTrainPartyType::CmdTrainPartyHandlePendingActionScRsp => {
                "CmdTrainPartyHandlePendingActionScRsp"
            }
            CmdTrainPartyType::CmdTrainPartyGetDataCsReq => "CmdTrainPartyGetDataCsReq",
            CmdTrainPartyType::CmdTrainPartyBuildStartStepScRsp => {
                "CmdTrainPartyBuildStartStepScRsp"
            }
            CmdTrainPartyType::CmdTrainPartyHandlePendingActionCsReq => {
                "CmdTrainPartyHandlePendingActionCsReq"
            }
            CmdTrainPartyType::CmdTrainPartyBuildDiyCsReq => "CmdTrainPartyBuildDiyCsReq",
            CmdTrainPartyType::CmdTrainPartyGetDataScRsp => "CmdTrainPartyGetDataScRsp",
            CmdTrainPartyType::CmdTrainPartyUpdatePosEnvCsReq => {
                "CmdTrainPartyUpdatePosEnvCsReq"
            }
            CmdTrainPartyType::CmdTrainPartyBuildDiyScRsp => "CmdTrainPartyBuildDiyScRsp",
            CmdTrainPartyType::CmdTrainPartyLeaveCsReq => "CmdTrainPartyLeaveCsReq",
            CmdTrainPartyType::CmdTrainPartyAddBuildDynamicBuffScRsp => {
                "CmdTrainPartyAddBuildDynamicBuffScRsp"
            }
            CmdTrainPartyType::CmdTrainPartyBuildStartStepCsReq => {
                "CmdTrainPartyBuildStartStepCsReq"
            }
            CmdTrainPartyType::CmdTrainPartySyncUpdateScNotify => {
                "CmdTrainPartySyncUpdateScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTrainPartyTypeNone" => Some(Self::None),
            "CmdTrainPartyTakeBuildLevelAwardCsReq" => {
                Some(Self::CmdTrainPartyTakeBuildLevelAwardCsReq)
            }
            "CmdTrainPartyBuildingUpdateNotify" => {
                Some(Self::CmdTrainPartyBuildingUpdateNotify)
            }
            "CmdTrainPartyAddBuildDynamicBuffCsReq" => {
                Some(Self::CmdTrainPartyAddBuildDynamicBuffCsReq)
            }
            "CmdTrainPartyLeaveScRsp" => Some(Self::CmdTrainPartyLeaveScRsp),
            "CmdTrainPartyUseCardCsReq" => Some(Self::CmdTrainPartyUseCardCsReq),
            "CmdTrainPartyUseCardScRsp" => Some(Self::CmdTrainPartyUseCardScRsp),
            "CmdTrainPartyEnterScRsp" => Some(Self::CmdTrainPartyEnterScRsp),
            "CmdTrainPartySettleNotify" => Some(Self::CmdTrainPartySettleNotify),
            "CmdTrainPartyGamePlaySettleNotify" => {
                Some(Self::CmdTrainPartyGamePlaySettleNotify)
            }
            "CmdTrainPartyGamePlayStartCsReq" => {
                Some(Self::CmdTrainPartyGamePlayStartCsReq)
            }
            "CmdTrainPartyTakeBuildLevelAwardScRsp" => {
                Some(Self::CmdTrainPartyTakeBuildLevelAwardScRsp)
            }
            "CmdTrainPartyMoveScNotify" => Some(Self::CmdTrainPartyMoveScNotify),
            "CmdTrainPartyUpdatePosEnvScRsp" => {
                Some(Self::CmdTrainPartyUpdatePosEnvScRsp)
            }
            "CmdTrainPartyEnterCsReq" => Some(Self::CmdTrainPartyEnterCsReq),
            "CmdTrainPartyGamePlayStartScRsp" => {
                Some(Self::CmdTrainPartyGamePlayStartScRsp)
            }
            "CmdTrainPartyHandlePendingActionScRsp" => {
                Some(Self::CmdTrainPartyHandlePendingActionScRsp)
            }
            "CmdTrainPartyGetDataCsReq" => Some(Self::CmdTrainPartyGetDataCsReq),
            "CmdTrainPartyBuildStartStepScRsp" => {
                Some(Self::CmdTrainPartyBuildStartStepScRsp)
            }
            "CmdTrainPartyHandlePendingActionCsReq" => {
                Some(Self::CmdTrainPartyHandlePendingActionCsReq)
            }
            "CmdTrainPartyBuildDiyCsReq" => Some(Self::CmdTrainPartyBuildDiyCsReq),
            "CmdTrainPartyGetDataScRsp" => Some(Self::CmdTrainPartyGetDataScRsp),
            "CmdTrainPartyUpdatePosEnvCsReq" => {
                Some(Self::CmdTrainPartyUpdatePosEnvCsReq)
            }
            "CmdTrainPartyBuildDiyScRsp" => Some(Self::CmdTrainPartyBuildDiyScRsp),
            "CmdTrainPartyLeaveCsReq" => Some(Self::CmdTrainPartyLeaveCsReq),
            "CmdTrainPartyAddBuildDynamicBuffScRsp" => {
                Some(Self::CmdTrainPartyAddBuildDynamicBuffScRsp)
            }
            "CmdTrainPartyBuildStartStepCsReq" => {
                Some(Self::CmdTrainPartyBuildStartStepCsReq)
            }
            "CmdTrainPartySyncUpdateScNotify" => {
                Some(Self::CmdTrainPartySyncUpdateScNotify)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TrainPartyBuildStatus {
    BuildGoalStepNone = 0,
    BuildGoalStepIdle = 1,
    BuildGoalStepStart = 2,
    BuildGoalStepFinish = 3,
}
impl TrainPartyBuildStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            TrainPartyBuildStatus::BuildGoalStepNone => "BuildGoalStepNone",
            TrainPartyBuildStatus::BuildGoalStepIdle => "BuildGoalStepIdle",
            TrainPartyBuildStatus::BuildGoalStepStart => "BuildGoalStepStart",
            TrainPartyBuildStatus::BuildGoalStepFinish => "BuildGoalStepFinish",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BuildGoalStepNone" => Some(Self::BuildGoalStepNone),
            "BuildGoalStepIdle" => Some(Self::BuildGoalStepIdle),
            "BuildGoalStepStart" => Some(Self::BuildGoalStepStart),
            "BuildGoalStepFinish" => Some(Self::BuildGoalStepFinish),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TrainPartyUpdateSrc {
    KTrainPartySrcNone = 0,
    KTrainPartySrcCard = 1,
    KTrainPartySrcGrid = 2,
    KTrainPartySrcPam = 3,
    KTrainPartySrcPassenger = 4,
    KTrainPartySrcBuilding = 5,
}
impl TrainPartyUpdateSrc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            TrainPartyUpdateSrc::KTrainPartySrcNone => "kTrainPartySrcNone",
            TrainPartyUpdateSrc::KTrainPartySrcCard => "kTrainPartySrcCard",
            TrainPartyUpdateSrc::KTrainPartySrcGrid => "kTrainPartySrcGrid",
            TrainPartyUpdateSrc::KTrainPartySrcPam => "kTrainPartySrcPam",
            TrainPartyUpdateSrc::KTrainPartySrcPassenger => "kTrainPartySrcPassenger",
            TrainPartyUpdateSrc::KTrainPartySrcBuilding => "kTrainPartySrcBuilding",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "kTrainPartySrcNone" => Some(Self::KTrainPartySrcNone),
            "kTrainPartySrcCard" => Some(Self::KTrainPartySrcCard),
            "kTrainPartySrcGrid" => Some(Self::KTrainPartySrcGrid),
            "kTrainPartySrcPam" => Some(Self::KTrainPartySrcPam),
            "kTrainPartySrcPassenger" => Some(Self::KTrainPartySrcPassenger),
            "kTrainPartySrcBuilding" => Some(Self::KTrainPartySrcBuilding),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ijdnojemian {
    KDialogueEventNone = 0,
    KGamePlayStartDialogueEvent = 1,
    KGridDialogueEvent = 2,
    KAfterMeetingDialogueEvent = 3,
}
impl Ijdnojemian {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Ijdnojemian::KDialogueEventNone => "kDialogueEventNone",
            Ijdnojemian::KGamePlayStartDialogueEvent => "kGamePlayStartDialogueEvent",
            Ijdnojemian::KGridDialogueEvent => "kGridDialogueEvent",
            Ijdnojemian::KAfterMeetingDialogueEvent => "kAfterMeetingDialogueEvent",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "kDialogueEventNone" => Some(Self::KDialogueEventNone),
            "kGamePlayStartDialogueEvent" => Some(Self::KGamePlayStartDialogueEvent),
            "kGridDialogueEvent" => Some(Self::KGridDialogueEvent),
            "kAfterMeetingDialogueEvent" => Some(Self::KAfterMeetingDialogueEvent),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lcdemgacekd {
    KMtSkillNone = 0,
    KMtSkillModifyBase = 1,
    KMtSkillModifyRatio = 2,
    KMtSkillMultiplyRatio = 3,
    KMtSkillSelfDestroy = 4,
}
impl Lcdemgacekd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Lcdemgacekd::KMtSkillNone => "kMtSkillNone",
            Lcdemgacekd::KMtSkillModifyBase => "kMtSkillModifyBase",
            Lcdemgacekd::KMtSkillModifyRatio => "kMtSkillModifyRatio",
            Lcdemgacekd::KMtSkillMultiplyRatio => "kMtSkillMultiplyRatio",
            Lcdemgacekd::KMtSkillSelfDestroy => "kMtSkillSelfDestroy",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "kMtSkillNone" => Some(Self::KMtSkillNone),
            "kMtSkillModifyBase" => Some(Self::KMtSkillModifyBase),
            "kMtSkillModifyRatio" => Some(Self::KMtSkillModifyRatio),
            "kMtSkillMultiplyRatio" => Some(Self::KMtSkillMultiplyRatio),
            "kMtSkillSelfDestroy" => Some(Self::KMtSkillSelfDestroy),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TrainPartyMtSkillType {
    TrainPartyMtCategoryNone = 0,
    TrainPartyMtCategoryS = 1,
    TrainPartyMtCategoryA = 2,
    TrainPartyMtCategoryB = 3,
    TrainPartyMtCategoryC = 4,
    TrainPartyMtCategoryD = 5,
    TrainPartyMtCategoryE = 6,
    TrainPartyMtCategoryF = 7,
    TrainPartyMtCategoryG = 8,
}
impl TrainPartyMtSkillType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            TrainPartyMtSkillType::TrainPartyMtCategoryNone => {
                "TRAIN_PARTY_MT_CATEGORY_NONE"
            }
            TrainPartyMtSkillType::TrainPartyMtCategoryS => "TRAIN_PARTY_MT_CATEGORY_S",
            TrainPartyMtSkillType::TrainPartyMtCategoryA => "TRAIN_PARTY_MT_CATEGORY_A",
            TrainPartyMtSkillType::TrainPartyMtCategoryB => "TRAIN_PARTY_MT_CATEGORY_B",
            TrainPartyMtSkillType::TrainPartyMtCategoryC => "TRAIN_PARTY_MT_CATEGORY_C",
            TrainPartyMtSkillType::TrainPartyMtCategoryD => "TRAIN_PARTY_MT_CATEGORY_D",
            TrainPartyMtSkillType::TrainPartyMtCategoryE => "TRAIN_PARTY_MT_CATEGORY_E",
            TrainPartyMtSkillType::TrainPartyMtCategoryF => "TRAIN_PARTY_MT_CATEGORY_F",
            TrainPartyMtSkillType::TrainPartyMtCategoryG => "TRAIN_PARTY_MT_CATEGORY_G",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TRAIN_PARTY_MT_CATEGORY_NONE" => Some(Self::TrainPartyMtCategoryNone),
            "TRAIN_PARTY_MT_CATEGORY_S" => Some(Self::TrainPartyMtCategoryS),
            "TRAIN_PARTY_MT_CATEGORY_A" => Some(Self::TrainPartyMtCategoryA),
            "TRAIN_PARTY_MT_CATEGORY_B" => Some(Self::TrainPartyMtCategoryB),
            "TRAIN_PARTY_MT_CATEGORY_C" => Some(Self::TrainPartyMtCategoryC),
            "TRAIN_PARTY_MT_CATEGORY_D" => Some(Self::TrainPartyMtCategoryD),
            "TRAIN_PARTY_MT_CATEGORY_E" => Some(Self::TrainPartyMtCategoryE),
            "TRAIN_PARTY_MT_CATEGORY_F" => Some(Self::TrainPartyMtCategoryF),
            "TRAIN_PARTY_MT_CATEGORY_G" => Some(Self::TrainPartyMtCategoryG),
            _ => None,
        }
    }
}
/// Obf: OIAGEBFDEKH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTrainVisitorType {
    None = 0,
    CmdTrainVisitorBehaviorFinishCsReq = 3701,
    CmdTrainVisitorRewardSendNotify = 3756,
    CmdTrainRefreshTimeNotify = 3730,
    CmdGetTrainVisitorBehaviorScRsp = 3724,
    CmdGetTrainVisitorRegisterScRsp = 3776,
    CmdTakeTrainVisitorUntakenBehaviorRewardScRsp = 3711,
    CmdShowNewSupplementVisitorScRsp = 3714,
    CmdTakeTrainVisitorUntakenBehaviorRewardCsReq = 3728,
    CmdShowNewSupplementVisitorCsReq = 3705,
    CmdGetTrainVisitorRegisterCsReq = 3797,
    CmdGetTrainVisitorBehaviorCsReq = 3758,
    CmdTrainVisitorBehaviorFinishScRsp = 3768,
}
impl CmdTrainVisitorType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdTrainVisitorType::None => "CmdTrainVisitorTypeNone",
            CmdTrainVisitorType::CmdTrainVisitorBehaviorFinishCsReq => {
                "CmdTrainVisitorBehaviorFinishCsReq"
            }
            CmdTrainVisitorType::CmdTrainVisitorRewardSendNotify => {
                "CmdTrainVisitorRewardSendNotify"
            }
            CmdTrainVisitorType::CmdTrainRefreshTimeNotify => "CmdTrainRefreshTimeNotify",
            CmdTrainVisitorType::CmdGetTrainVisitorBehaviorScRsp => {
                "CmdGetTrainVisitorBehaviorScRsp"
            }
            CmdTrainVisitorType::CmdGetTrainVisitorRegisterScRsp => {
                "CmdGetTrainVisitorRegisterScRsp"
            }
            CmdTrainVisitorType::CmdTakeTrainVisitorUntakenBehaviorRewardScRsp => {
                "CmdTakeTrainVisitorUntakenBehaviorRewardScRsp"
            }
            CmdTrainVisitorType::CmdShowNewSupplementVisitorScRsp => {
                "CmdShowNewSupplementVisitorScRsp"
            }
            CmdTrainVisitorType::CmdTakeTrainVisitorUntakenBehaviorRewardCsReq => {
                "CmdTakeTrainVisitorUntakenBehaviorRewardCsReq"
            }
            CmdTrainVisitorType::CmdShowNewSupplementVisitorCsReq => {
                "CmdShowNewSupplementVisitorCsReq"
            }
            CmdTrainVisitorType::CmdGetTrainVisitorRegisterCsReq => {
                "CmdGetTrainVisitorRegisterCsReq"
            }
            CmdTrainVisitorType::CmdGetTrainVisitorBehaviorCsReq => {
                "CmdGetTrainVisitorBehaviorCsReq"
            }
            CmdTrainVisitorType::CmdTrainVisitorBehaviorFinishScRsp => {
                "CmdTrainVisitorBehaviorFinishScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTrainVisitorTypeNone" => Some(Self::None),
            "CmdTrainVisitorBehaviorFinishCsReq" => {
                Some(Self::CmdTrainVisitorBehaviorFinishCsReq)
            }
            "CmdTrainVisitorRewardSendNotify" => {
                Some(Self::CmdTrainVisitorRewardSendNotify)
            }
            "CmdTrainRefreshTimeNotify" => Some(Self::CmdTrainRefreshTimeNotify),
            "CmdGetTrainVisitorBehaviorScRsp" => {
                Some(Self::CmdGetTrainVisitorBehaviorScRsp)
            }
            "CmdGetTrainVisitorRegisterScRsp" => {
                Some(Self::CmdGetTrainVisitorRegisterScRsp)
            }
            "CmdTakeTrainVisitorUntakenBehaviorRewardScRsp" => {
                Some(Self::CmdTakeTrainVisitorUntakenBehaviorRewardScRsp)
            }
            "CmdShowNewSupplementVisitorScRsp" => {
                Some(Self::CmdShowNewSupplementVisitorScRsp)
            }
            "CmdTakeTrainVisitorUntakenBehaviorRewardCsReq" => {
                Some(Self::CmdTakeTrainVisitorUntakenBehaviorRewardCsReq)
            }
            "CmdShowNewSupplementVisitorCsReq" => {
                Some(Self::CmdShowNewSupplementVisitorCsReq)
            }
            "CmdGetTrainVisitorRegisterCsReq" => {
                Some(Self::CmdGetTrainVisitorRegisterCsReq)
            }
            "CmdGetTrainVisitorBehaviorCsReq" => {
                Some(Self::CmdGetTrainVisitorBehaviorCsReq)
            }
            "CmdTrainVisitorBehaviorFinishScRsp" => {
                Some(Self::CmdTrainVisitorBehaviorFinishScRsp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Iippjkhmpch {
    TrainVisitorRewardSendNone = 0,
    TrainVisitorRewardSendRegister = 1,
    TrainVisitorRewardSendMission = 2,
}
impl Iippjkhmpch {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Iippjkhmpch::TrainVisitorRewardSendNone => "TRAIN_VISITOR_REWARD_SEND_NONE",
            Iippjkhmpch::TrainVisitorRewardSendRegister => {
                "TRAIN_VISITOR_REWARD_SEND_REGISTER"
            }
            Iippjkhmpch::TrainVisitorRewardSendMission => {
                "TRAIN_VISITOR_REWARD_SEND_MISSION"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TRAIN_VISITOR_REWARD_SEND_NONE" => Some(Self::TrainVisitorRewardSendNone),
            "TRAIN_VISITOR_REWARD_SEND_REGISTER" => {
                Some(Self::TrainVisitorRewardSendRegister)
            }
            "TRAIN_VISITOR_REWARD_SEND_MISSION" => {
                Some(Self::TrainVisitorRewardSendMission)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Llmibdpfjnd {
    TrainVisitorStatusNone = 0,
    TrainVisitorStatusInit = 1,
    TrainVisitorStatusGetOn = 2,
    TrainVisitorStatusGetOff = 3,
    TrainVisitorStatusBeTrainMember = 4,
}
impl Llmibdpfjnd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Llmibdpfjnd::TrainVisitorStatusNone => "TRAIN_VISITOR_STATUS_NONE",
            Llmibdpfjnd::TrainVisitorStatusInit => "TRAIN_VISITOR_STATUS_INIT",
            Llmibdpfjnd::TrainVisitorStatusGetOn => "TRAIN_VISITOR_STATUS_GET_ON",
            Llmibdpfjnd::TrainVisitorStatusGetOff => "TRAIN_VISITOR_STATUS_GET_OFF",
            Llmibdpfjnd::TrainVisitorStatusBeTrainMember => {
                "TRAIN_VISITOR_STATUS_BE_TRAIN_MEMBER"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TRAIN_VISITOR_STATUS_NONE" => Some(Self::TrainVisitorStatusNone),
            "TRAIN_VISITOR_STATUS_INIT" => Some(Self::TrainVisitorStatusInit),
            "TRAIN_VISITOR_STATUS_GET_ON" => Some(Self::TrainVisitorStatusGetOn),
            "TRAIN_VISITOR_STATUS_GET_OFF" => Some(Self::TrainVisitorStatusGetOff),
            "TRAIN_VISITOR_STATUS_BE_TRAIN_MEMBER" => {
                Some(Self::TrainVisitorStatusBeTrainMember)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jfjjfgaeoab {
    TrainVisitorRegisterGetTypeNone = 0,
    TrainVisitorRegisterGetTypeAuto = 1,
    TrainVisitorRegisterGetTypeManual = 2,
}
impl Jfjjfgaeoab {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Jfjjfgaeoab::TrainVisitorRegisterGetTypeNone => {
                "TRAIN_VISITOR_REGISTER_GET_TYPE_NONE"
            }
            Jfjjfgaeoab::TrainVisitorRegisterGetTypeAuto => {
                "TRAIN_VISITOR_REGISTER_GET_TYPE_AUTO"
            }
            Jfjjfgaeoab::TrainVisitorRegisterGetTypeManual => {
                "TRAIN_VISITOR_REGISTER_GET_TYPE_MANUAL"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TRAIN_VISITOR_REGISTER_GET_TYPE_NONE" => {
                Some(Self::TrainVisitorRegisterGetTypeNone)
            }
            "TRAIN_VISITOR_REGISTER_GET_TYPE_AUTO" => {
                Some(Self::TrainVisitorRegisterGetTypeAuto)
            }
            "TRAIN_VISITOR_REGISTER_GET_TYPE_MANUAL" => {
                Some(Self::TrainVisitorRegisterGetTypeManual)
            }
            _ => None,
        }
    }
}
/// Obf: JOABLEACIAD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTravelBrochure {
    None = 0,
    ApplyPasterCsReq = 6497,
    GetDataCsReq = 6401,
    PageResetCsReq = 6423,
    SetCustomValueCsReq = 6447,
    RemovePasterCsReq = 6428,
    ApplyPasterListCsReq = 6417,
    RemovePasterScRsp = 6411,
    PageUnlockScNotify = 6458,
    ApplyPasterListScRsp = 6491,
    SelectMessageScRsp = 6456,
    ApplyPasterScRsp = 6476,
    PageResetScRsp = 6412,
    SetCustomValueScRsp = 6480,
    UpdatePasterPosScRsp = 6414,
    GetPasterScNotify = 6449,
    SelectMessageCsReq = 6430,
    SetPageDescStatusCsReq = 6439,
    UpdatePasterPosCsReq = 6405,
    GetDataScRsp = 6468,
    SetPageDescStatusScRsp = 6496,
}
impl CmdTravelBrochure {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdTravelBrochure::None => "CmdTravelBrochureNone",
            CmdTravelBrochure::ApplyPasterCsReq => "CmdTravelBrochureApplyPasterCsReq",
            CmdTravelBrochure::GetDataCsReq => "CmdTravelBrochureGetDataCsReq",
            CmdTravelBrochure::PageResetCsReq => "CmdTravelBrochurePageResetCsReq",
            CmdTravelBrochure::SetCustomValueCsReq => {
                "CmdTravelBrochureSetCustomValueCsReq"
            }
            CmdTravelBrochure::RemovePasterCsReq => "CmdTravelBrochureRemovePasterCsReq",
            CmdTravelBrochure::ApplyPasterListCsReq => {
                "CmdTravelBrochureApplyPasterListCsReq"
            }
            CmdTravelBrochure::RemovePasterScRsp => "CmdTravelBrochureRemovePasterScRsp",
            CmdTravelBrochure::PageUnlockScNotify => {
                "CmdTravelBrochurePageUnlockScNotify"
            }
            CmdTravelBrochure::ApplyPasterListScRsp => {
                "CmdTravelBrochureApplyPasterListScRsp"
            }
            CmdTravelBrochure::SelectMessageScRsp => {
                "CmdTravelBrochureSelectMessageScRsp"
            }
            CmdTravelBrochure::ApplyPasterScRsp => "CmdTravelBrochureApplyPasterScRsp",
            CmdTravelBrochure::PageResetScRsp => "CmdTravelBrochurePageResetScRsp",
            CmdTravelBrochure::SetCustomValueScRsp => {
                "CmdTravelBrochureSetCustomValueScRsp"
            }
            CmdTravelBrochure::UpdatePasterPosScRsp => {
                "CmdTravelBrochureUpdatePasterPosScRsp"
            }
            CmdTravelBrochure::GetPasterScNotify => "CmdTravelBrochureGetPasterScNotify",
            CmdTravelBrochure::SelectMessageCsReq => {
                "CmdTravelBrochureSelectMessageCsReq"
            }
            CmdTravelBrochure::SetPageDescStatusCsReq => {
                "CmdTravelBrochureSetPageDescStatusCsReq"
            }
            CmdTravelBrochure::UpdatePasterPosCsReq => {
                "CmdTravelBrochureUpdatePasterPosCsReq"
            }
            CmdTravelBrochure::GetDataScRsp => "CmdTravelBrochureGetDataScRsp",
            CmdTravelBrochure::SetPageDescStatusScRsp => {
                "CmdTravelBrochureSetPageDescStatusScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTravelBrochureNone" => Some(Self::None),
            "CmdTravelBrochureApplyPasterCsReq" => Some(Self::ApplyPasterCsReq),
            "CmdTravelBrochureGetDataCsReq" => Some(Self::GetDataCsReq),
            "CmdTravelBrochurePageResetCsReq" => Some(Self::PageResetCsReq),
            "CmdTravelBrochureSetCustomValueCsReq" => Some(Self::SetCustomValueCsReq),
            "CmdTravelBrochureRemovePasterCsReq" => Some(Self::RemovePasterCsReq),
            "CmdTravelBrochureApplyPasterListCsReq" => Some(Self::ApplyPasterListCsReq),
            "CmdTravelBrochureRemovePasterScRsp" => Some(Self::RemovePasterScRsp),
            "CmdTravelBrochurePageUnlockScNotify" => Some(Self::PageUnlockScNotify),
            "CmdTravelBrochureApplyPasterListScRsp" => Some(Self::ApplyPasterListScRsp),
            "CmdTravelBrochureSelectMessageScRsp" => Some(Self::SelectMessageScRsp),
            "CmdTravelBrochureApplyPasterScRsp" => Some(Self::ApplyPasterScRsp),
            "CmdTravelBrochurePageResetScRsp" => Some(Self::PageResetScRsp),
            "CmdTravelBrochureSetCustomValueScRsp" => Some(Self::SetCustomValueScRsp),
            "CmdTravelBrochureUpdatePasterPosScRsp" => Some(Self::UpdatePasterPosScRsp),
            "CmdTravelBrochureGetPasterScNotify" => Some(Self::GetPasterScNotify),
            "CmdTravelBrochureSelectMessageCsReq" => Some(Self::SelectMessageCsReq),
            "CmdTravelBrochureSetPageDescStatusCsReq" => {
                Some(Self::SetPageDescStatusCsReq)
            }
            "CmdTravelBrochureUpdatePasterPosCsReq" => Some(Self::UpdatePasterPosCsReq),
            "CmdTravelBrochureGetDataScRsp" => Some(Self::GetDataScRsp),
            "CmdTravelBrochureSetPageDescStatusScRsp" => {
                Some(Self::SetPageDescStatusScRsp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hgkkppljboi {
    PageNone = 0,
    PageUnlocked = 1,
    PageInteracted = 2,
}
impl Hgkkppljboi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Hgkkppljboi::PageNone => "PAGE_NONE",
            Hgkkppljboi::PageUnlocked => "PAGE_UNLOCKED",
            Hgkkppljboi::PageInteracted => "PAGE_INTERACTED",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PAGE_NONE" => Some(Self::PageNone),
            "PAGE_UNLOCKED" => Some(Self::PageUnlocked),
            "PAGE_INTERACTED" => Some(Self::PageInteracted),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dcjaopdinoi {
    PageDescNone = 0,
    PageDescShowDetail = 1,
    PageDescCollapse = 2,
}
impl Dcjaopdinoi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Dcjaopdinoi::PageDescNone => "PAGE_DESC_NONE",
            Dcjaopdinoi::PageDescShowDetail => "PAGE_DESC_SHOW_DETAIL",
            Dcjaopdinoi::PageDescCollapse => "PAGE_DESC_COLLAPSE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PAGE_DESC_NONE" => Some(Self::PageDescNone),
            "PAGE_DESC_SHOW_DETAIL" => Some(Self::PageDescShowDetail),
            "PAGE_DESC_COLLAPSE" => Some(Self::PageDescCollapse),
            _ => None,
        }
    }
}
/// Obf: MCPHEHAOLOJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTreasureDungeonType {
    None = 0,
    CmdUseTreasureDungeonItemCsReq = 4417,
    CmdInteractTreasureDungeonGridCsReq = 4423,
    CmdGetTreasureDungeonActivityDataCsReq = 4405,
    CmdOpenTreasureDungeonGridScRsp = 4480,
    CmdGetTreasureDungeonActivityDataScRsp = 4414,
    CmdQuitTreasureDungeonScRsp = 4495,
    CmdTreasureDungeonFinishScNotify = 4468,
    CmdEnterTreasureDungeonCsReq = 4449,
    CmdInteractTreasureDungeonGridScRsp = 4412,
    CmdQuitTreasureDungeonCsReq = 4418,
    CmdOpenTreasureDungeonGridCsReq = 4447,
    CmdUseTreasureDungeonItemScRsp = 4491,
    CmdEnterTreasureDungeonScRsp = 4422,
    CmdFightTreasureDungeonMonsterCsReq = 4439,
    CmdFightTreasureDungeonMonsterScRsp = 4496,
    CmdTreasureDungeonDataScNotify = 4401,
}
impl CmdTreasureDungeonType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdTreasureDungeonType::None => "CmdTreasureDungeonTypeNone",
            CmdTreasureDungeonType::CmdUseTreasureDungeonItemCsReq => {
                "CmdUseTreasureDungeonItemCsReq"
            }
            CmdTreasureDungeonType::CmdInteractTreasureDungeonGridCsReq => {
                "CmdInteractTreasureDungeonGridCsReq"
            }
            CmdTreasureDungeonType::CmdGetTreasureDungeonActivityDataCsReq => {
                "CmdGetTreasureDungeonActivityDataCsReq"
            }
            CmdTreasureDungeonType::CmdOpenTreasureDungeonGridScRsp => {
                "CmdOpenTreasureDungeonGridScRsp"
            }
            CmdTreasureDungeonType::CmdGetTreasureDungeonActivityDataScRsp => {
                "CmdGetTreasureDungeonActivityDataScRsp"
            }
            CmdTreasureDungeonType::CmdQuitTreasureDungeonScRsp => {
                "CmdQuitTreasureDungeonScRsp"
            }
            CmdTreasureDungeonType::CmdTreasureDungeonFinishScNotify => {
                "CmdTreasureDungeonFinishScNotify"
            }
            CmdTreasureDungeonType::CmdEnterTreasureDungeonCsReq => {
                "CmdEnterTreasureDungeonCsReq"
            }
            CmdTreasureDungeonType::CmdInteractTreasureDungeonGridScRsp => {
                "CmdInteractTreasureDungeonGridScRsp"
            }
            CmdTreasureDungeonType::CmdQuitTreasureDungeonCsReq => {
                "CmdQuitTreasureDungeonCsReq"
            }
            CmdTreasureDungeonType::CmdOpenTreasureDungeonGridCsReq => {
                "CmdOpenTreasureDungeonGridCsReq"
            }
            CmdTreasureDungeonType::CmdUseTreasureDungeonItemScRsp => {
                "CmdUseTreasureDungeonItemScRsp"
            }
            CmdTreasureDungeonType::CmdEnterTreasureDungeonScRsp => {
                "CmdEnterTreasureDungeonScRsp"
            }
            CmdTreasureDungeonType::CmdFightTreasureDungeonMonsterCsReq => {
                "CmdFightTreasureDungeonMonsterCsReq"
            }
            CmdTreasureDungeonType::CmdFightTreasureDungeonMonsterScRsp => {
                "CmdFightTreasureDungeonMonsterScRsp"
            }
            CmdTreasureDungeonType::CmdTreasureDungeonDataScNotify => {
                "CmdTreasureDungeonDataScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTreasureDungeonTypeNone" => Some(Self::None),
            "CmdUseTreasureDungeonItemCsReq" => {
                Some(Self::CmdUseTreasureDungeonItemCsReq)
            }
            "CmdInteractTreasureDungeonGridCsReq" => {
                Some(Self::CmdInteractTreasureDungeonGridCsReq)
            }
            "CmdGetTreasureDungeonActivityDataCsReq" => {
                Some(Self::CmdGetTreasureDungeonActivityDataCsReq)
            }
            "CmdOpenTreasureDungeonGridScRsp" => {
                Some(Self::CmdOpenTreasureDungeonGridScRsp)
            }
            "CmdGetTreasureDungeonActivityDataScRsp" => {
                Some(Self::CmdGetTreasureDungeonActivityDataScRsp)
            }
            "CmdQuitTreasureDungeonScRsp" => Some(Self::CmdQuitTreasureDungeonScRsp),
            "CmdTreasureDungeonFinishScNotify" => {
                Some(Self::CmdTreasureDungeonFinishScNotify)
            }
            "CmdEnterTreasureDungeonCsReq" => Some(Self::CmdEnterTreasureDungeonCsReq),
            "CmdInteractTreasureDungeonGridScRsp" => {
                Some(Self::CmdInteractTreasureDungeonGridScRsp)
            }
            "CmdQuitTreasureDungeonCsReq" => Some(Self::CmdQuitTreasureDungeonCsReq),
            "CmdOpenTreasureDungeonGridCsReq" => {
                Some(Self::CmdOpenTreasureDungeonGridCsReq)
            }
            "CmdUseTreasureDungeonItemScRsp" => {
                Some(Self::CmdUseTreasureDungeonItemScRsp)
            }
            "CmdEnterTreasureDungeonScRsp" => Some(Self::CmdEnterTreasureDungeonScRsp),
            "CmdFightTreasureDungeonMonsterCsReq" => {
                Some(Self::CmdFightTreasureDungeonMonsterCsReq)
            }
            "CmdFightTreasureDungeonMonsterScRsp" => {
                Some(Self::CmdFightTreasureDungeonMonsterScRsp)
            }
            "CmdTreasureDungeonDataScNotify" => {
                Some(Self::CmdTreasureDungeonDataScNotify)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Imknbjcoiop {
    TreasureDungeonRecordNone = 0,
    TreasureDungeonRecordAddHp = 1,
    TreasureDungeonRecordSubHp = 2,
    TreasureDungeonRecordSubHpNoExplore = 3,
    TreasureDungeonRecordAddAttack = 5,
    TreasureDungeonRecordAddDefence = 6,
    TreasureDungeonRecordAddExplore = 9,
    TreasureDungeonRecordSubExplore = 10,
    TreasureDungeonRecordAddExploreOverflow = 11,
    TreasureDungeonRecordSummon = 15,
    TreasureDungeonRecordKill = 16,
    TreasureDungeonRecordAddTrialAvatar = 20,
    TreasureDungeonRecordAddBuff = 24,
    TreasureDungeonRecordUnlockDoor = 25,
    TreasureDungeonRecordEnemyEnhance = 27,
    TreasureDungeonRecordEnemyWeaken = 28,
    TreasureDungeonRecordEnemyAuraRemove = 29,
    TreasureDungeonRecordSpecialMonsterRun = 30,
    TreasureDungeonRecordSpecialMonsterKill = 31,
    TreasureDungeonRecordBattleBuffTriggerSuccess = 33,
    TreasureDungeonRecordBattleBuffTriggerFail = 34,
    TreasureDungeonRecordBattleBuffAddExplore = 35,
    TreasureDungeonRecordBattleBuffOpenGrid = 36,
    TreasureDungeonRecordBattleBuffAddItem = 37,
    TreasureDungeonRecordAvatarDead = 40,
    TreasureDungeonRecordTrialAvatarDead = 41,
    TreasureDungeonRecordAllAvatarDead = 42,
    TreasureDungeonRecordOpenItemChest = 43,
}
impl Imknbjcoiop {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Imknbjcoiop::TreasureDungeonRecordNone => "TREASURE_DUNGEON_RECORD_NONE",
            Imknbjcoiop::TreasureDungeonRecordAddHp => "TREASURE_DUNGEON_RECORD_ADD_HP",
            Imknbjcoiop::TreasureDungeonRecordSubHp => "TREASURE_DUNGEON_RECORD_SUB_HP",
            Imknbjcoiop::TreasureDungeonRecordSubHpNoExplore => {
                "TREASURE_DUNGEON_RECORD_SUB_HP_NO_EXPLORE"
            }
            Imknbjcoiop::TreasureDungeonRecordAddAttack => {
                "TREASURE_DUNGEON_RECORD_ADD_ATTACK"
            }
            Imknbjcoiop::TreasureDungeonRecordAddDefence => {
                "TREASURE_DUNGEON_RECORD_ADD_DEFENCE"
            }
            Imknbjcoiop::TreasureDungeonRecordAddExplore => {
                "TREASURE_DUNGEON_RECORD_ADD_EXPLORE"
            }
            Imknbjcoiop::TreasureDungeonRecordSubExplore => {
                "TREASURE_DUNGEON_RECORD_SUB_EXPLORE"
            }
            Imknbjcoiop::TreasureDungeonRecordAddExploreOverflow => {
                "TREASURE_DUNGEON_RECORD_ADD_EXPLORE_OVERFLOW"
            }
            Imknbjcoiop::TreasureDungeonRecordSummon => "TREASURE_DUNGEON_RECORD_SUMMON",
            Imknbjcoiop::TreasureDungeonRecordKill => "TREASURE_DUNGEON_RECORD_KILL",
            Imknbjcoiop::TreasureDungeonRecordAddTrialAvatar => {
                "TREASURE_DUNGEON_RECORD_ADD_TRIAL_AVATAR"
            }
            Imknbjcoiop::TreasureDungeonRecordAddBuff => {
                "TREASURE_DUNGEON_RECORD_ADD_BUFF"
            }
            Imknbjcoiop::TreasureDungeonRecordUnlockDoor => {
                "TREASURE_DUNGEON_RECORD_UNLOCK_DOOR"
            }
            Imknbjcoiop::TreasureDungeonRecordEnemyEnhance => {
                "TREASURE_DUNGEON_RECORD_ENEMY_ENHANCE"
            }
            Imknbjcoiop::TreasureDungeonRecordEnemyWeaken => {
                "TREASURE_DUNGEON_RECORD_ENEMY_WEAKEN"
            }
            Imknbjcoiop::TreasureDungeonRecordEnemyAuraRemove => {
                "TREASURE_DUNGEON_RECORD_ENEMY_AURA_REMOVE"
            }
            Imknbjcoiop::TreasureDungeonRecordSpecialMonsterRun => {
                "TREASURE_DUNGEON_RECORD_SPECIAL_MONSTER_RUN"
            }
            Imknbjcoiop::TreasureDungeonRecordSpecialMonsterKill => {
                "TREASURE_DUNGEON_RECORD_SPECIAL_MONSTER_KILL"
            }
            Imknbjcoiop::TreasureDungeonRecordBattleBuffTriggerSuccess => {
                "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_TRIGGER_SUCCESS"
            }
            Imknbjcoiop::TreasureDungeonRecordBattleBuffTriggerFail => {
                "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_TRIGGER_FAIL"
            }
            Imknbjcoiop::TreasureDungeonRecordBattleBuffAddExplore => {
                "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_ADD_EXPLORE"
            }
            Imknbjcoiop::TreasureDungeonRecordBattleBuffOpenGrid => {
                "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_OPEN_GRID"
            }
            Imknbjcoiop::TreasureDungeonRecordBattleBuffAddItem => {
                "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_ADD_ITEM"
            }
            Imknbjcoiop::TreasureDungeonRecordAvatarDead => {
                "TREASURE_DUNGEON_RECORD_AVATAR_DEAD"
            }
            Imknbjcoiop::TreasureDungeonRecordTrialAvatarDead => {
                "TREASURE_DUNGEON_RECORD_TRIAL_AVATAR_DEAD"
            }
            Imknbjcoiop::TreasureDungeonRecordAllAvatarDead => {
                "TREASURE_DUNGEON_RECORD_ALL_AVATAR_DEAD"
            }
            Imknbjcoiop::TreasureDungeonRecordOpenItemChest => {
                "TREASURE_DUNGEON_RECORD_OPEN_ITEM_CHEST"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TREASURE_DUNGEON_RECORD_NONE" => Some(Self::TreasureDungeonRecordNone),
            "TREASURE_DUNGEON_RECORD_ADD_HP" => Some(Self::TreasureDungeonRecordAddHp),
            "TREASURE_DUNGEON_RECORD_SUB_HP" => Some(Self::TreasureDungeonRecordSubHp),
            "TREASURE_DUNGEON_RECORD_SUB_HP_NO_EXPLORE" => {
                Some(Self::TreasureDungeonRecordSubHpNoExplore)
            }
            "TREASURE_DUNGEON_RECORD_ADD_ATTACK" => {
                Some(Self::TreasureDungeonRecordAddAttack)
            }
            "TREASURE_DUNGEON_RECORD_ADD_DEFENCE" => {
                Some(Self::TreasureDungeonRecordAddDefence)
            }
            "TREASURE_DUNGEON_RECORD_ADD_EXPLORE" => {
                Some(Self::TreasureDungeonRecordAddExplore)
            }
            "TREASURE_DUNGEON_RECORD_SUB_EXPLORE" => {
                Some(Self::TreasureDungeonRecordSubExplore)
            }
            "TREASURE_DUNGEON_RECORD_ADD_EXPLORE_OVERFLOW" => {
                Some(Self::TreasureDungeonRecordAddExploreOverflow)
            }
            "TREASURE_DUNGEON_RECORD_SUMMON" => Some(Self::TreasureDungeonRecordSummon),
            "TREASURE_DUNGEON_RECORD_KILL" => Some(Self::TreasureDungeonRecordKill),
            "TREASURE_DUNGEON_RECORD_ADD_TRIAL_AVATAR" => {
                Some(Self::TreasureDungeonRecordAddTrialAvatar)
            }
            "TREASURE_DUNGEON_RECORD_ADD_BUFF" => {
                Some(Self::TreasureDungeonRecordAddBuff)
            }
            "TREASURE_DUNGEON_RECORD_UNLOCK_DOOR" => {
                Some(Self::TreasureDungeonRecordUnlockDoor)
            }
            "TREASURE_DUNGEON_RECORD_ENEMY_ENHANCE" => {
                Some(Self::TreasureDungeonRecordEnemyEnhance)
            }
            "TREASURE_DUNGEON_RECORD_ENEMY_WEAKEN" => {
                Some(Self::TreasureDungeonRecordEnemyWeaken)
            }
            "TREASURE_DUNGEON_RECORD_ENEMY_AURA_REMOVE" => {
                Some(Self::TreasureDungeonRecordEnemyAuraRemove)
            }
            "TREASURE_DUNGEON_RECORD_SPECIAL_MONSTER_RUN" => {
                Some(Self::TreasureDungeonRecordSpecialMonsterRun)
            }
            "TREASURE_DUNGEON_RECORD_SPECIAL_MONSTER_KILL" => {
                Some(Self::TreasureDungeonRecordSpecialMonsterKill)
            }
            "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_TRIGGER_SUCCESS" => {
                Some(Self::TreasureDungeonRecordBattleBuffTriggerSuccess)
            }
            "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_TRIGGER_FAIL" => {
                Some(Self::TreasureDungeonRecordBattleBuffTriggerFail)
            }
            "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_ADD_EXPLORE" => {
                Some(Self::TreasureDungeonRecordBattleBuffAddExplore)
            }
            "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_OPEN_GRID" => {
                Some(Self::TreasureDungeonRecordBattleBuffOpenGrid)
            }
            "TREASURE_DUNGEON_RECORD_BATTLE_BUFF_ADD_ITEM" => {
                Some(Self::TreasureDungeonRecordBattleBuffAddItem)
            }
            "TREASURE_DUNGEON_RECORD_AVATAR_DEAD" => {
                Some(Self::TreasureDungeonRecordAvatarDead)
            }
            "TREASURE_DUNGEON_RECORD_TRIAL_AVATAR_DEAD" => {
                Some(Self::TreasureDungeonRecordTrialAvatarDead)
            }
            "TREASURE_DUNGEON_RECORD_ALL_AVATAR_DEAD" => {
                Some(Self::TreasureDungeonRecordAllAvatarDead)
            }
            "TREASURE_DUNGEON_RECORD_OPEN_ITEM_CHEST" => {
                Some(Self::TreasureDungeonRecordOpenItemChest)
            }
            _ => None,
        }
    }
}
/// Obf: PEPFOMECOON
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTutorialType {
    None = 0,
    CmdFinishTutorialScRsp = 1611,
    CmdGetTutorialScRsp = 1668,
    CmdFinishTutorialGuideScRsp = 1614,
    CmdGetTutorialGuideCsReq = 1658,
    CmdFinishTutorialCsReq = 1628,
    CmdFinishTutorialGuideCsReq = 1605,
    CmdUnlockTutorialCsReq = 1630,
    CmdGetTutorialCsReq = 1601,
    CmdUnlockTutorialGuideCsReq = 1697,
    CmdUnlockTutorialScRsp = 1656,
    CmdUnlockTutorialGuideScRsp = 1676,
    CmdGetTutorialGuideScRsp = 1624,
}
impl CmdTutorialType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdTutorialType::None => "CmdTutorialTypeNone",
            CmdTutorialType::CmdFinishTutorialScRsp => "CmdFinishTutorialScRsp",
            CmdTutorialType::CmdGetTutorialScRsp => "CmdGetTutorialScRsp",
            CmdTutorialType::CmdFinishTutorialGuideScRsp => "CmdFinishTutorialGuideScRsp",
            CmdTutorialType::CmdGetTutorialGuideCsReq => "CmdGetTutorialGuideCsReq",
            CmdTutorialType::CmdFinishTutorialCsReq => "CmdFinishTutorialCsReq",
            CmdTutorialType::CmdFinishTutorialGuideCsReq => "CmdFinishTutorialGuideCsReq",
            CmdTutorialType::CmdUnlockTutorialCsReq => "CmdUnlockTutorialCsReq",
            CmdTutorialType::CmdGetTutorialCsReq => "CmdGetTutorialCsReq",
            CmdTutorialType::CmdUnlockTutorialGuideCsReq => "CmdUnlockTutorialGuideCsReq",
            CmdTutorialType::CmdUnlockTutorialScRsp => "CmdUnlockTutorialScRsp",
            CmdTutorialType::CmdUnlockTutorialGuideScRsp => "CmdUnlockTutorialGuideScRsp",
            CmdTutorialType::CmdGetTutorialGuideScRsp => "CmdGetTutorialGuideScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdTutorialTypeNone" => Some(Self::None),
            "CmdFinishTutorialScRsp" => Some(Self::CmdFinishTutorialScRsp),
            "CmdGetTutorialScRsp" => Some(Self::CmdGetTutorialScRsp),
            "CmdFinishTutorialGuideScRsp" => Some(Self::CmdFinishTutorialGuideScRsp),
            "CmdGetTutorialGuideCsReq" => Some(Self::CmdGetTutorialGuideCsReq),
            "CmdFinishTutorialCsReq" => Some(Self::CmdFinishTutorialCsReq),
            "CmdFinishTutorialGuideCsReq" => Some(Self::CmdFinishTutorialGuideCsReq),
            "CmdUnlockTutorialCsReq" => Some(Self::CmdUnlockTutorialCsReq),
            "CmdGetTutorialCsReq" => Some(Self::CmdGetTutorialCsReq),
            "CmdUnlockTutorialGuideCsReq" => Some(Self::CmdUnlockTutorialGuideCsReq),
            "CmdUnlockTutorialScRsp" => Some(Self::CmdUnlockTutorialScRsp),
            "CmdUnlockTutorialGuideScRsp" => Some(Self::CmdUnlockTutorialGuideScRsp),
            "CmdGetTutorialGuideScRsp" => Some(Self::CmdGetTutorialGuideScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TutorialStatus {
    TutorialNone = 0,
    TutorialUnlock = 1,
    TutorialFinish = 2,
}
impl TutorialStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            TutorialStatus::TutorialNone => "TUTORIAL_NONE",
            TutorialStatus::TutorialUnlock => "TUTORIAL_UNLOCK",
            TutorialStatus::TutorialFinish => "TUTORIAL_FINISH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "TUTORIAL_NONE" => Some(Self::TutorialNone),
            "TUTORIAL_UNLOCK" => Some(Self::TutorialUnlock),
            "TUTORIAL_FINISH" => Some(Self::TutorialFinish),
            _ => None,
        }
    }
}
/// Obf: JEJBKHGLNCE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdWaypointType {
    None = 0,
    CmdGetWaypointCsReq = 401,
    CmdGetChapterScRsp = 456,
    CmdWaypointShowNewCsNotify = 497,
    CmdSetCurWaypointScRsp = 424,
    CmdGetChapterCsReq = 430,
    CmdTakeChapterRewardScRsp = 428,
    CmdSetCurWaypointCsReq = 458,
    CmdTakeChapterRewardCsReq = 476,
    CmdGetWaypointScRsp = 468,
}
impl CmdWaypointType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdWaypointType::None => "CmdWaypointTypeNone",
            CmdWaypointType::CmdGetWaypointCsReq => "CmdGetWaypointCsReq",
            CmdWaypointType::CmdGetChapterScRsp => "CmdGetChapterScRsp",
            CmdWaypointType::CmdWaypointShowNewCsNotify => "CmdWaypointShowNewCsNotify",
            CmdWaypointType::CmdSetCurWaypointScRsp => "CmdSetCurWaypointScRsp",
            CmdWaypointType::CmdGetChapterCsReq => "CmdGetChapterCsReq",
            CmdWaypointType::CmdTakeChapterRewardScRsp => "CmdTakeChapterRewardScRsp",
            CmdWaypointType::CmdSetCurWaypointCsReq => "CmdSetCurWaypointCsReq",
            CmdWaypointType::CmdTakeChapterRewardCsReq => "CmdTakeChapterRewardCsReq",
            CmdWaypointType::CmdGetWaypointScRsp => "CmdGetWaypointScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdWaypointTypeNone" => Some(Self::None),
            "CmdGetWaypointCsReq" => Some(Self::CmdGetWaypointCsReq),
            "CmdGetChapterScRsp" => Some(Self::CmdGetChapterScRsp),
            "CmdWaypointShowNewCsNotify" => Some(Self::CmdWaypointShowNewCsNotify),
            "CmdSetCurWaypointScRsp" => Some(Self::CmdSetCurWaypointScRsp),
            "CmdGetChapterCsReq" => Some(Self::CmdGetChapterCsReq),
            "CmdTakeChapterRewardScRsp" => Some(Self::CmdTakeChapterRewardScRsp),
            "CmdSetCurWaypointCsReq" => Some(Self::CmdSetCurWaypointCsReq),
            "CmdTakeChapterRewardCsReq" => Some(Self::CmdTakeChapterRewardCsReq),
            "CmdGetWaypointScRsp" => Some(Self::CmdGetWaypointScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mhhljfejgnm {
    WaypointTypeNone = 0,
    WaypointTypeStage = 1,
    WaypointTypePlot = 2,
}
impl Mhhljfejgnm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Mhhljfejgnm::WaypointTypeNone => "WAYPOINT_TYPE_NONE",
            Mhhljfejgnm::WaypointTypeStage => "WAYPOINT_TYPE_STAGE",
            Mhhljfejgnm::WaypointTypePlot => "WAYPOINT_TYPE_PLOT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "WAYPOINT_TYPE_NONE" => Some(Self::WaypointTypeNone),
            "WAYPOINT_TYPE_STAGE" => Some(Self::WaypointTypeStage),
            "WAYPOINT_TYPE_PLOT" => Some(Self::WaypointTypePlot),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Obfaicfogmp {
    WaypointUnlockNone = 0,
    WaypointUnlockPre = 1,
    WaypointUnlockLevel = 2,
}
impl Obfaicfogmp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Obfaicfogmp::WaypointUnlockNone => "WAYPOINT_UNLOCK_NONE",
            Obfaicfogmp::WaypointUnlockPre => "WAYPOINT_UNLOCK_PRE",
            Obfaicfogmp::WaypointUnlockLevel => "WAYPOINT_UNLOCK_LEVEL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "WAYPOINT_UNLOCK_NONE" => Some(Self::WaypointUnlockNone),
            "WAYPOINT_UNLOCK_PRE" => Some(Self::WaypointUnlockPre),
            "WAYPOINT_UNLOCK_LEVEL" => Some(Self::WaypointUnlockLevel),
            _ => None,
        }
    }
}
/// Obf: MGKCKDFFAOI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdWolfBroType {
    None = 0,
    CmdGetWolfBroGameDataCsReq = 6525,
    CmdWolfBroGameActivateBulletCsReq = 6514,
    CmdRestoreWolfBroGameArchiveCsReq = 6506,
    CmdWolfBroGameDataChangeScNotify = 6530,
    CmdStartWolfBroGameScRsp = 6537,
    CmdRestoreWolfBroGameArchiveScRsp = 6533,
    CmdWolfBroGameUseBulletCsReq = 6502,
    CmdWolfBroGameActivateBulletScRsp = 6540,
    CmdWolfBroGamePickupBulletScRsp = 6532,
    CmdArchiveWolfBroGameScRsp = 6543,
    CmdWolfBroGameExplodeMonsterScRsp = 6535,
    CmdQuitWolfBroGameScRsp = 6529,
    CmdWolfBroGameExplodeMonsterCsReq = 6510,
    CmdWolfBroGamePickupBulletCsReq = 6504,
    CmdQuitWolfBroGameCsReq = 6507,
    CmdStartWolfBroGameCsReq = 6526,
    CmdWolfBroGameUseBulletScRsp = 6548,
    CmdGetWolfBroGameDataScRsp = 6515,
    CmdArchiveWolfBroGameCsReq = 6541,
}
impl CmdWolfBroType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdWolfBroType::None => "CmdWolfBroTypeNone",
            CmdWolfBroType::CmdGetWolfBroGameDataCsReq => "CmdGetWolfBroGameDataCsReq",
            CmdWolfBroType::CmdWolfBroGameActivateBulletCsReq => {
                "CmdWolfBroGameActivateBulletCsReq"
            }
            CmdWolfBroType::CmdRestoreWolfBroGameArchiveCsReq => {
                "CmdRestoreWolfBroGameArchiveCsReq"
            }
            CmdWolfBroType::CmdWolfBroGameDataChangeScNotify => {
                "CmdWolfBroGameDataChangeScNotify"
            }
            CmdWolfBroType::CmdStartWolfBroGameScRsp => "CmdStartWolfBroGameScRsp",
            CmdWolfBroType::CmdRestoreWolfBroGameArchiveScRsp => {
                "CmdRestoreWolfBroGameArchiveScRsp"
            }
            CmdWolfBroType::CmdWolfBroGameUseBulletCsReq => {
                "CmdWolfBroGameUseBulletCsReq"
            }
            CmdWolfBroType::CmdWolfBroGameActivateBulletScRsp => {
                "CmdWolfBroGameActivateBulletScRsp"
            }
            CmdWolfBroType::CmdWolfBroGamePickupBulletScRsp => {
                "CmdWolfBroGamePickupBulletScRsp"
            }
            CmdWolfBroType::CmdArchiveWolfBroGameScRsp => "CmdArchiveWolfBroGameScRsp",
            CmdWolfBroType::CmdWolfBroGameExplodeMonsterScRsp => {
                "CmdWolfBroGameExplodeMonsterScRsp"
            }
            CmdWolfBroType::CmdQuitWolfBroGameScRsp => "CmdQuitWolfBroGameScRsp",
            CmdWolfBroType::CmdWolfBroGameExplodeMonsterCsReq => {
                "CmdWolfBroGameExplodeMonsterCsReq"
            }
            CmdWolfBroType::CmdWolfBroGamePickupBulletCsReq => {
                "CmdWolfBroGamePickupBulletCsReq"
            }
            CmdWolfBroType::CmdQuitWolfBroGameCsReq => "CmdQuitWolfBroGameCsReq",
            CmdWolfBroType::CmdStartWolfBroGameCsReq => "CmdStartWolfBroGameCsReq",
            CmdWolfBroType::CmdWolfBroGameUseBulletScRsp => {
                "CmdWolfBroGameUseBulletScRsp"
            }
            CmdWolfBroType::CmdGetWolfBroGameDataScRsp => "CmdGetWolfBroGameDataScRsp",
            CmdWolfBroType::CmdArchiveWolfBroGameCsReq => "CmdArchiveWolfBroGameCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdWolfBroTypeNone" => Some(Self::None),
            "CmdGetWolfBroGameDataCsReq" => Some(Self::CmdGetWolfBroGameDataCsReq),
            "CmdWolfBroGameActivateBulletCsReq" => {
                Some(Self::CmdWolfBroGameActivateBulletCsReq)
            }
            "CmdRestoreWolfBroGameArchiveCsReq" => {
                Some(Self::CmdRestoreWolfBroGameArchiveCsReq)
            }
            "CmdWolfBroGameDataChangeScNotify" => {
                Some(Self::CmdWolfBroGameDataChangeScNotify)
            }
            "CmdStartWolfBroGameScRsp" => Some(Self::CmdStartWolfBroGameScRsp),
            "CmdRestoreWolfBroGameArchiveScRsp" => {
                Some(Self::CmdRestoreWolfBroGameArchiveScRsp)
            }
            "CmdWolfBroGameUseBulletCsReq" => Some(Self::CmdWolfBroGameUseBulletCsReq),
            "CmdWolfBroGameActivateBulletScRsp" => {
                Some(Self::CmdWolfBroGameActivateBulletScRsp)
            }
            "CmdWolfBroGamePickupBulletScRsp" => {
                Some(Self::CmdWolfBroGamePickupBulletScRsp)
            }
            "CmdArchiveWolfBroGameScRsp" => Some(Self::CmdArchiveWolfBroGameScRsp),
            "CmdWolfBroGameExplodeMonsterScRsp" => {
                Some(Self::CmdWolfBroGameExplodeMonsterScRsp)
            }
            "CmdQuitWolfBroGameScRsp" => Some(Self::CmdQuitWolfBroGameScRsp),
            "CmdWolfBroGameExplodeMonsterCsReq" => {
                Some(Self::CmdWolfBroGameExplodeMonsterCsReq)
            }
            "CmdWolfBroGamePickupBulletCsReq" => {
                Some(Self::CmdWolfBroGamePickupBulletCsReq)
            }
            "CmdQuitWolfBroGameCsReq" => Some(Self::CmdQuitWolfBroGameCsReq),
            "CmdStartWolfBroGameCsReq" => Some(Self::CmdStartWolfBroGameCsReq),
            "CmdWolfBroGameUseBulletScRsp" => Some(Self::CmdWolfBroGameUseBulletScRsp),
            "CmdGetWolfBroGameDataScRsp" => Some(Self::CmdGetWolfBroGameDataScRsp),
            "CmdArchiveWolfBroGameCsReq" => Some(Self::CmdArchiveWolfBroGameCsReq),
            _ => None,
        }
    }
}
/// Obf: OGEIDPAMDKL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdWorldUnlockType {
    None = 0,
    CmdWorldUnlockCsReq = 7627,
    CmdWorldUnlockScRsp = 7626,
}
impl CmdWorldUnlockType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            CmdWorldUnlockType::None => "CmdWorldUnlockTypeNone",
            CmdWorldUnlockType::CmdWorldUnlockCsReq => "CmdWorldUnlockCsReq",
            CmdWorldUnlockType::CmdWorldUnlockScRsp => "CmdWorldUnlockScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CmdWorldUnlockTypeNone" => Some(Self::None),
            "CmdWorldUnlockCsReq" => Some(Self::CmdWorldUnlockCsReq),
            "CmdWorldUnlockScRsp" => Some(Self::CmdWorldUnlockScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Djebimhnpbm {
    DispatchTypeNone = 0,
    DispatchTypeByAddr = 1,
    DispatchTypeByMod = 2,
    DispatchTypeByRand = 3,
    DispatchTypeByChash = 4,
    DispatchTypeByStickySession = 5,
    DispatchTypeByObject = 6,
}
impl Djebimhnpbm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Djebimhnpbm::DispatchTypeNone => "DISPATCH_TYPE_NONE",
            Djebimhnpbm::DispatchTypeByAddr => "DISPATCH_TYPE_BY_ADDR",
            Djebimhnpbm::DispatchTypeByMod => "DISPATCH_TYPE_BY_MOD",
            Djebimhnpbm::DispatchTypeByRand => "DISPATCH_TYPE_BY_RAND",
            Djebimhnpbm::DispatchTypeByChash => "DISPATCH_TYPE_BY_CHASH",
            Djebimhnpbm::DispatchTypeByStickySession => "DISPATCH_TYPE_BY_STICKY_SESSION",
            Djebimhnpbm::DispatchTypeByObject => "DISPATCH_TYPE_BY_OBJECT",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DISPATCH_TYPE_NONE" => Some(Self::DispatchTypeNone),
            "DISPATCH_TYPE_BY_ADDR" => Some(Self::DispatchTypeByAddr),
            "DISPATCH_TYPE_BY_MOD" => Some(Self::DispatchTypeByMod),
            "DISPATCH_TYPE_BY_RAND" => Some(Self::DispatchTypeByRand),
            "DISPATCH_TYPE_BY_CHASH" => Some(Self::DispatchTypeByChash),
            "DISPATCH_TYPE_BY_STICKY_SESSION" => Some(Self::DispatchTypeByStickySession),
            "DISPATCH_TYPE_BY_OBJECT" => Some(Self::DispatchTypeByObject),
            _ => None,
        }
    }
}